Ce trebuie să înveți pentru a putea face jocuri pentru iOS? E greu să înveți așa ceva? Ai neapărat nevoie de un background de programare?

Daca va place ce scriem, daca va place cum scriem, daca stiti ca am ramas din ce in ce mai putini oameni verticali si cu coloana, puteti sustine munca noastra.

Pe scurt

Loading RSS Feed

71 comentarii Adaugă comentariu

  1. #1

    Depinde de complexitatea jocului. Pentru interfata de programare trebuie sa inveti regulile si sintaxele functiilor/comenzilor. Background-ul de programare il ai nevoie pentru a face conexiunile logice in desfasurarea jocului. E ca si la sah: poti invata regulile repede, dar sa joci cu adevarat bine e mai greu 🙂

    • #2

      ok, si astea de unde le inveti?

    • #3

      @arhi ai atitia prieteni si nici acu nu stii la care sa apelezi cu intrebari din astea ? Meet @menetz ? Gen. Tre sa-ti tin eu lista de oameni pe baza de skill? :))
      O sa rida putin de tine, tu o sa faci putin botic si apoi o sa platesti pe cineva sa-ti faca o aplicatie daca tii neaparat 🙂
      Cam asa vad eu intrebarea ta 🙂

    • #4

      jules, eu daca vreau sa invat ceva, nu pun botic si pun pe altul.

    • #5

      @arhi well, eu iti urez bafta. colegii de mai jos au dat solutii oarecum decente. Totusi nu strica un heads-up de la cineva cunoscut tie. Si care e in business.

  2. #7

    Cred ca este suficient pentru ce ai tu nevoie. Se gaseste si in magazinele de specialitate. 😛
    www.lynda.com/tutorials/Building-and-Monetizing-Game-Apps-for-iOS/82407-2.html

  3. #8

    Personal am incercat 2 softulete:
    Unity – unity3d.com/unity/multiplatform/
    si
    Stencyl – www.stencyl.com/stencyl/ios/

    Au suficiente informatii acolo, daca esti interesat.
    Sunt convins ca poate exista solutii mult mai complexe (dar si mai scumpe) sau de care poate n-am auzit.

  4. #9

    developer.apple.com/xcode/index.php

    Asta e tot ce iti trebuie. Dar pot sa-ti spun ca nu e simplu.

  5. #10

    www.cocos2d-iphone.org/
    E un engine grafic de jocuri pentru iOS. Da, îți trebuie bagckground de programare. Mie, cel puțin, mi se pare mult mai greu decât Android-ul, dar milioanele de aplicații din AppStore indică altceva. Zi aici ce vrei să faci și poate sar ăștia mai programatori să te ajute 🙂

  6. #11

    Incepi cu alegerea unui limbaj de programare: Objective-C sau C#.

    Dupa aceea inveti un framework:

    – Daca alegi Objective-C, inveti Cocoa framework.
    – Daca alegi C#, inveti .NET framework.

    Dupa aia in functie de complexitatea jocului, va trebui sa ai notiuni de matematica, fizica, design.

    Am dubii ca poti face jocuri fara cunostinte de programare. Poti in schimb “desena” jocuri si lasa un programator sa le dezvolte.

  7. #14

    aici sunt resursele pentru functiile furnizate de apple: developer.apple.com/library/mac/navigation/
    pentru a invata limbajul(objective-c): gnustep.made-it.com/BG-objc/index.html
    ti-ar mai trebui si ceva carte de algoritmica.
    Sau poti alege o a alta optiune: programarea in html5

  8. #15

    developer.apple.com/devcenter/ios/index.action

    iar pentru jocuri mai serioase de preferat sa folosesti un engine cunoscut
    gen corona, unity3d sau unreal(udk)

    cred ca intrebarea cu “e greu?” e o gluma, depinde cat de repede te adaptezi si cat de bun e materialul dupa care inveti

  9. #16

    poti incerca www.stencyl.com/stencyl/iosvideo/
    sau construct2 – fara sa stii conceptele de baza ale unui limbaj de programare poti face jocuri

  10. #17

    Arhi, mai sunt cateva buildere care te pot ajuta sa creezi niste mini jocuri. Cel mai rasarit mi se pare Game Salad (gamesalad.com/creator), downloadezi aplicatia si te apuci de treaba, pe calculatorul tau.

    Daca vrei sa pui si jocul pe AppStore, mai e ceva distractie – trebuie sa te inregistrezi ca Developer, mai dai un 99$/luna, plus ca trebuie sa treci prin filtrele lor.

    Eu m-am plictisit repede, dar se merita daca te tii, poate sa iasa ceva si fara prea multe cunostinte de programare.

    • #18

      gamesalad e super varza sau era.. ai lag zici ca are maxim 10frameuri /sec
      iar pe applestore cred ca era 99-100euro / an, pe android 25$(parca)si e forever?!

    • #19

      nu ca m-ar interesa, dar pe android se cauta mokangeala, ca de aia vor android, sa fie liberi:))

    • #20

      Pe an am vrut sa zic. 🙂

  11. #21

    Ur my hero. Vb cat se poate de serios

  12. #22

    Si daca extindem explicatiile si spre android si spre simple aplicatii, nu jocuri, la fel de complicata ramane situatia?

    • #23

      daca ai ceva cunostinte de programare obj-c e chiar simplu. eu am facut o aplicatie cam intr-o saptamana. si nici macar nu stiam cum arata obj-c inainte de asta.

    • #24

      am luat-o cu hello world

  13. #25

    Da, numai ca pentru Android se programeaza in Java, un limbaj mai cunoscut decat objective-c.

  14. #27

    daca te apuci acu cu clasicul “hello world” si stai cam un an butonand (cateva ore bune pe zi) s-ar putea ca intr-un an sa faci un joculet simplu. nu-l faci intr-un na, intr-un an ai fi in stare sa te apuci de el.

  15. #28

    se apropie criza de 40, gata cu tableta grafica, acuma am trecut pe jocuri…
    i feel you… eram cu model tanks, acuma vreau sa trec pe CB radio, sa vedem cat ma tzine.

    Stii ce-i frumos ? Ca nevestele ne sustin, no matter what.

  16. #30

    1. Cunostiinte: solide de objectiveC si framework iOS. Asta ca sa iti faci de la zero fix ce vrei tu. Greu: da, foarte greu. Iti ia cel putin 6 luni ca sa ajungi sa misti cat de cat in objectiveC si 6 ani sa inveti sa faci ceva de complexitatea unui joc video :)).

    2. Unity – dar si asta e destul de dificil. Iti ia cel putin 6 luni – 1 an de invatat pana te poti apuca de joc. In sensu’ ca nu o sa te mai intampini (asa des) cu probleme penibile de implementare a codului. Dar chiar si pt Unity tre’ sa ai cunostiinte minime de programare: instructiuni, variabile, putin oop. (se foloseste Javascript)

    Practic, partea grea nu e invatatul limbajului ci invatatul a “cum fac un joc video”. De exemplu cum faci ca atunci cand user-ul trage cu pistolul sa se produca explozia fix la capatul tevii? Cum faci sa se scada din totalul de gloante? Cum afisezi cate gloante mai ai pe ecran? Cum faci ca jocul sa stie ca atunci cand atinge un inamic ala sa piarda din health iar cand atinge copac, perete sa nu faca nimic? Sau cum faci ca atunci cand atinge peretele in el sa apara urme de gloante? Cum conectezi lumea 3d sau 2d de harta ei? astfel incat sa iti arate pe harta exact unde esti in lumea din joc. Si multe altele mult mai dificile…

    Si dupa toate problemele astea se adauga si faptul ca tre’ sa ai modele 3D sau imagini gata facute. Adica absolut tot: pereti, scaune, pusca, mingii whatever trebuie sa le ai deja facute. Ca altfel nu prea merge sa implementezi codul. Deci tre’ sa stii si Blender3D (sau alt soft pt modelare 3d si texturare).

    Pe scurt: crearea unui joc video e de la dificil in sus. Iar ca dificultate… aplicatiile 3d real-time (ca astea sunt jocurile) sunt practic cele mai dificil de realizat dintre toate programele.

    • #31

      +1

    • #32

      Dude, omul vrea să facă probabil ceva mai simplu decât tetris, o aplicație de dat cu zarul, sau ceva pentru ăia mici exact așa cum vor ei, gândești prea complex.

      Arhi, în funcție de complexitatea chestiei pe care vrei să o faci, poți să eviți folosirea de engine-uri. Un joc de X și 0 sau un joc de ghicit animăluțe, obiecte sau litere (că tot am vorbit de copii), se pot face cu simple poze încărcate succesiv.

    • #33

      da, aia radeam si eu, ca eu vreau sa fac chestii gen 1+1=2 si alfabetul cu maimute, iar omul imi explica rendering 3D :))

    • #34

      Si eu ii dau dreptate lui 2felii. Ce crezi ca daca ai compilat un Hello World ai inteles macar bazele OOP ? Crezi ca stii basicul basicului in Obj C ? Ai inteles macar paternul MVC. Ai inteles delegate ?

      Vrei una basic basic ? Numara de la 1 la 100 si daca numarul este divizibil cu 3 printeaza pe ecran “miau” daca e divizibil cu 5 printeaza un “guit”.

    • #35

      deci esti de acord. e bine, stateam stresat.

    • #36

      Dap, te poti relaxa acum.

    • #37

      dude, ca sa intelegi bine, eu am pus intrebarea asta pentru a primi raspunsuri pertinente si la obiect. basinile si aerele de programatori ma lasa rece. cand eu faceam cacaturi cu IF THEN GOTO (adica mizeria intrebata de tine) in Basic (care btw, e un limbaj de programare un pic mai antic), tatal tau striga pe strada Uite mami, trec soldatii. Nu cred ca am intrebat daca e greu sa creezi app-uri video, jocuri cu explozii in pereti, ci medii simple. multe raspunsuri au fost ok, chiar la obiect. al tau a fost o basina irelevanta, doar o exhalare a unei arogante intens non necesare, necerute si total neagreata. cam atat. iti multumesc pentru participare.

    • #38

      george rulez!!! my hero

    • #39

      george a auzit de oOp si mVc. si tu-i dai peste nas in loc sa-l lasi sa se laude ca stie acronime de astea cul.

    • #40

      LOL, George n-a făcut decât să sublinieze nişte chestii elementare pe care trebuie să le cunoşti când programezi pe iOS. Că fără cunoştinţe despre OOP şi ce e ăla delegate cel mai complex lucru pe care poţi să îl faci pentru iOS e ceva wrapper simplist în jurul lui WebKit.

      Iar dacă tu compari Objective-C cu BASIC, no comment. FYI, “IF THEN GOTO” e cam antonimul programării orientate pe obiecte.

    • #41

      Bullshit. Unii confunda “vreau sa fac joculete simple” cu “vreau sa fac si eu un quake” si incep cu Unity, pipeline, shadere si alte cacaturi de genul asta iar altii confunda cu “vreau sa devin programator profi iOS”.

      Nu sunt game dev dar am facut joculete stupide si simple, de genul carora vrea Arhi sa faca, de vreo 15 ani, trecand de la asamblare la mobile. Nu mi-a trebuit mvc, delegates sau mai stiu eu ce chestii avansate de oop. Mi-a trebuit doar entuziasm (m-am apucat de programare pentru asta si asa am invatat) si e o experienta foarte misto atata timp cat nu te iei prea in serios (ca unii comentatori de pe aici) si o faci doar pentru amuzamentul tau.

      Pot sa ma angajez eu acum ca game dev? No way, da pun pariu ca nici Arhi nu se gandeste la asta.

    • #42

      amin

  17. #43

    la oreilly.com afli o gramada de carti si nu-s tare scumpe.

    • #44

      descarcat deja una, dar e clar ca am nevoie de un minim background de programare, asa ca am luat de la lynda un curs de gen, la sugestia lui Sarpele

  18. #45

    Arhi va crea Stacraft IV.

    • #46

      capaceala stelara

    • #47

      Primul joc ar trebui sa fie ceva simplu cu doua quest-uri… Personaju’ principal sa fie voiculescu iar misiunea sa fie plimbatul dosarului de la un tribunal la altul. Desigur, pot interveni personaje ajutatoare(badea, gadea) pe traseu sa fie capcane intinse de basescu, o hoasca vrajitoare care spune ghicitori(udrea). Jocul ar trebui sa fie pe timp, first person(sa se vada in maini dosarul). De indata ce dosarul pleaca la curtea suprema sa ai 5 minute sa il duci la tribunal :)) si invers

  19. #48

    Cat dai sa te invat? 😛 Super oferta, stau si aproape :))))

    Chiar si pentru chestii simplute poti folosi Cocos2d, mi se pare simplu de invatat si suficient de puternic pentru orice ai vrea(bonus, are si fizica integrata Box2D sau Chipmunk) si gasesti si exemple usor.

    Evident, inainte ar trebui sa te obisnuiesti putin cu sintaxa Objective-C.

    Pentru aia cu “iti ia X ani sa inveti”, ia luat lu frati-miu ..sa zicem 6 luni in regim “lucrez cand am chef” sa faca cam 80-90% dintr-un joculet simplut cu Cocos2d. Zero cunostinte de programare inainte de a se apuca.

    Nu am timp sa detaliez acuma, daca esti interesat de Cocos2d, iti mai detaliez. Eventual si exemple, etc.

    • #49

      o sa te tin minte. intai vreau sa invat chestiile astea basic de programare, ca sa am idee macar despre ce vorbesc si dupa aia te caut, cand o sa ma simt pregatit:)) soon

  20. #50

    Ai putea sa incerci cursurile celor de la Standford itunes.stanford.edu/

  21. #51

    problema ii alta… nu mai ii mintea ce-a dinainte, cand citesti odata de doua ori si ai inteles…

    Alcoolul si chefurile din Nisipuri isi spun cuvantul 🙂

  22. #52

    Am făcut în vara asta un internship la o firmă de software care se ocupă cu dezvoltarea de aplicații pentru iOS, printre altele. Înainte de chestia asta nu am avut nicio tangență cu Objective-C și nici nu prea aveam experiență de programare în general (am cochetat cu ideea încă de mic, dar nu știam mare lucru – poți să ajungi la nivelul meu de atunci într-o lună, dacă te ții de treabă).

    Am urmărit cursul ăsta (itunes.apple.com/us/itunes-u/developing-apps-for-ios-hd/id395605774), care este destul de la îndemână și de sine stătător. Oricând găsești explicații alternative/formulate altfel pe net dacă nu înțelegi ceva din curs. Documentația de la Apple e incredibil de bună și de completă.

    Internship-ul ăsta a durat *o lună* și în timpul ăsta am trecut de la aplicații de tipul „Hello World!” la chestii mult mai serioase (mai puțin complicate decât un joc, ce-i drept) cum ar fi un Reader de RSS și un convertor de curs valutar. Un coleg de acolo și-a și publicat aplicația pe AppStore. O poți găsi aici (itunes.apple.com/ro/app/curs-valutar-si-convertor/id548653222?mt=8) ca să-ți faci o idee cam ce poți să realizezi într-o lună dacă te ții de treabă.

    În principiu, nu îți trebuie un „background” de programare, în sensul că nu trebuie să fii cine știe ce uber-programmer ca să reușești. Totuși, îți recomand să nu începi direct cu programarea cu scopul de a creea un produs finit utilizabil. O să îți fie mult, mult mai ușor dacă te ocupi un timp doar de partea mai „teoretică” a programării, cum ar fi: ce e aia o variabilă, ce e aia o funcție, ce e ăla un vector/array, ce face o librărie, ce e ăla compilator, eventual să
    știi să rezolvi probleme uzuale de algoritmică.

    Să încerci să scrii un roman când tu nu știi nici alfabetul e în opinia mea o abordare sortită eșecului.

    Dacă vrei să te ajut cumva, să-ți dau niște sfaturi sau ceva, răspunde la comentariu și îți dau eu un mail eventual.

    • #53

      la asta m-am gandit si eu, de aceea am inceput un curs de la lynda, cu bazele programarii. cur s de la zero, gen hello word, ce face un compilator, ce e aia html etc. will work, sa vedem ce iese din creierul meu cam intepenit

    • #54

      Nu am urmărit vreodată un curs de la lynda, deci nu pot să spun cât de bune sunt. Ideea e că ar trebui să conțină cât mai multe exerciții.

      Pentru început, e foarte ok ce faci tu, doar că probabil o să vină un moment de la care o să fie nevoie să te apuci efectiv de „muncă” ca să înveți. Trebuie să te apuci să faci exerciții, să aplici ceea ce ai învățaț, pentru că altfel nu numai că uiți, dar nici nu întelegi cu adevărat.

      Problema e că e destul de greu să te apuci (sau cel puțin așa mi-e mie) să lucrezi de capul tău. Eu pentru exercițiu am apelat mai ales la probleme de informatică, pe care le-am găsit utile mai ales pentru că durează relativ puțin să le rezolvi (e descurajant să muncești 10 ore și să nu ai nimic palpabil la final) și efectiv *te forțează* să înveți bazele programării ca să le rezolvi.

  23. #56

    www.academicearth.org/ cursuri de la Harvard, Yale, MIT, Brown. Cauta si tu computer science. foarte tare cursul lui David J Malan de la Harvard

  24. #57

    Genial, ti se sugereaza sa inveti MVC. Fix aia trebuie sa stii ca sa faci un joculet. Geez.

    Nu am sa repet ce au zis cei de mai sus, mai adaug cate ceva.

    Treburi usoare:
    – Orice game builder care nu te pune sa scrii cod C++. Gamesalad e ok dar doar pentru jocuri simple.

    Treburi mai complexe:
    – Moai – getmoai.com/ : e crossplatform si se foloseste LUA care e un limbaj simpatic si destul de simplu de invatat. Are varianta gratuita. Documentatia mi-a parut ok.

    Treburi si mai complexe:
    – Marmalade (fostul Airplay) – www.madewithmarmalade.com/ : crossplatform, se foloseste C++. Scump. Am renuntat ca aveau probleme mari cu suportul.
    – Cocos2D-X – www.cocos2d-x.org/ Crossplatform, C++, tutoriale garla.

    O alternativa cu care ma joc de curand este Javascript. Avantajul aici e ca daca stii ceva javascript o sa-ti fie simplu sa pornesti la drum si mediul de dezvoltare e un editor simplu si un browser. Ai facut o modificare, ai dat reload si gata, fara compilare, deployment etc. In plus, acelasi joc o sa ruleze si pe mobile, si pe desktop.

    Exista cateva engine-uri, ba gratuite, ba comerciale si pentru chestii 2D iti recomand cu caldura ImpactJS. Are editor de nivele, documentatie, plugin-uri, tutoriale. Dezavantajul e ca are un pret usor piperat (99$) dar daca vrei sa-l incerci da-mi un semn si rezolvam problema asta. impactjs.com/ si www.pointofimpactjs.com/

    Un exemplu de joc facut cu Impact e asta: itunes.apple.com/us/app/biolab-disaster/id433062854

    Jocurile respective pot fi ulterior “impachetate” ca aplicatii si publicate pe market (de exemplu Ejecta, DirectCanvas).

    • #58

      eu vreau sa creez jocuri pentru copiii mei, deci ceva simplu. iti dai seama ca ma intereseaza acel Impact, dar momentan sunt la nivelul kung fu panda:)

    • #59

      Ah, am uitat de Codea, care ruleaza direct pe iPad. 😀 twolivesleft.com/Codea/

  25. #60

    Foarte bun raspunsul lui 2felii dar putin prea….detailed 🙂 . Trecand peste gluma cu Impac, eu as merge pe Unity3D. Este mai greu putin la inceput dar este foarte bine documentat si este platforma cu cei mai multi utlizatori. Ce inseamna asta? Mereu gasesti alt nefericit care s-a luptat cu o problema similara. Daca nu iti miroase frumos atunci Cocos. Si daca alegi sa te apuci de Unity vezi ca au appstore de unde poti cumpara tot felul de prostioare. Pe langa magazinul oficial se mai vand si pe site-ul envato activeden.net/category/unity-3d
    Alte linkuri utile: www.lynda.com/Unity-3D-tutorials/Unity-3D-35-Essential-Training/96677-2.html www.codecademy.com

    Dar inainte de toate, chit ca vrei sa faci o veriune noua de Tapul Tancul sau te bate gandul sa dai de pamant cu Blizzard, iti recomand sa citesti www.theoryoffun.com/ Este si pe amazon.co.uk pentru kindle sau pe hartie. Si daca te prinde treaba cu jocurile si faci unul in care pot sa-l alerg pe muistul de basescu cu semi-automate si grenade promit ca fac pre-order.

  26. #61

    Exista sesiuni intregi de cursuri, stiu sigur ca cele mai calitative sunt pe lynda.com si teamtreehouse.com.
    Sper ca ajuta.

  27. #62

    Aaa… baietei si fetitze, ia spuneti-i lu’ taica, ce mai e nou in programare? Am inteles ca C/C++ era in voga acum niste ani buni. Cine i-a luat locul intre timp?
    Am auzit de C# si JAVA. Altceva? cine isi mai disputa suprematia?

  28. #64

    Desi am background de programare, in ultima vreme nu prea m-am mai ocupat cu asta (am avut prieteni buni care sa sustina partea de development). Dupa cum stii, am si lansat un joc pentru Android (apropo, vine si pe iOS, intr-o versiune imbunatatita si vizibil prelungita).

    Pentru ce am vrut noi sa facem, am folosit Unity (toate licentele cumparate, scumpe in draci), insa nu ti-l recomand fara ceva programare.

    Ce-ti pot recomanda insa si nu necesita programare (e ok sa inveti sintaxa si structurile de baza, o poti face de pe Code Academy):

    -Game Maker Studio (simplut, extrem de puternic – cu rezultate profesionale, relativ scump – am lucrat ani de zile in el).
    -Scirra Construct (foarte simplu, ieftin – chiar gratuit pentru jocuri necomerciale).
    -Game Salad (worth a try, dar mai e de lucru la sistem).
    -Stencyl (draguta interfata, dar nu am fost prea impresionat de rezultate).
    -Softurile de la The Game Creators, dar alea sunt in principal pentru PC (si nici prea flexibile nu sunt).

  29. #65

    ^Dar, in primul si in primul rand, iti recomand niste carti de Game Design (asta chiar nu e un skill pentru oricine si merita studiat – dovada fiind tonele de joculete gratuite complet imbecile sau plictisitoare). Poti incepe cu Ralph Koster si merge incet spre Jeannie Novak si altii (nu trebuie sa citesti tot, trebuie doar sa intelegi niste structuri – rezumate la ideile alea gasesti si pe GamaSutra :P)

  30. #66

    ^Iar am un comment in moderare, dar nu prea conteaza. Sper ca a trecut sugestia mea: ceva cartulii de game design si un editor simplu, pe obiecte (cam tot ce am enumerat in afara lui Unity :P).

    • #67

      au trecut:) din tot ce s-a scris pana acum in comentarii, am retinut ca intai trebuie sa imi fac o baza, inainte de a trece mai departe.

  31. #68

    O baza da, dar sincer, poti sa ti-o faci experimentand si cu editoarele pe obiecte si citind in paralel.

    De exemplu, in Game Maker, sintaxa seamana cu C++, doar ca programul de baza iti permite sa faci jocuri folosind exclusiv obiecte vizuale (building blocks). Poti face niste tutoriale/jucarele asa si, cand o sa vrei sa-ti faci marea capodopera, o sa faci trecerea spre cod mult mai natural (deja o sa cam intelegi de ce trebuie sa scrii o structura de tip “If”, pentru ca ai folosit-o in editorul grafic si ii pricepi implicatiile).

  32. Adica tu intrebi cum se face o corabie…

    greu taica, greu,

    E ca la balet. se incepe de mic.
    sau ca la pian.

    gandeste asa: o sa stii unde sunt toate notele asezate pe claviatura (studiind ce-au zis baietii mai sus), dar sa compui o simfonie…
    trebuie sa fi cel putin ticnit.

    • #70

      o da, vai, programarea, varful civilizatiei. fii serios

  33. #71

    www.codecademy.com
    Site util imo cand vrei sa inveti. au lectiute mici si dragute, proiecte etc