2010-02-05 2 views
8

Voglio sviluppare un gioco in un mese utilizzando il motore di gioco Cocos2D Open Source. Imparare Cocos2D è un po 'difficile e non so come creare il mio progetto iniziale usando i file forniti dal progetto base di Cocos2D. Dubito che sia possibile?iPhone: Learning Cocos2D project

Posso imparare usando direttamente il progetto base di Cocos2D e modificarlo per la mia applicazione di gioco? La licenza mi consente di usare così? (Perché non posso imparare tutti i concetti di programmazione OpenGL e sviluppare un'applicazione in un mese, che è molto difficile.)

Apprezzo i tuoi pensieri e consigli.

Grazie.

risposta

12

, ho programmato giochi per iPhone per più di un anno! Ho iniziato a fare la maggior parte delle cose in Objective-C, ma poi ho imparato che per la maggior parte dei giochi intensivi graficamente (o di calcolo), Objective-C non è davvero l'opzione migliore. Ci sono molti percorsi come Pure Objective-C per la logica e le funzioni C inline per le parti più "intensive" del tuo gioco, Obj-C ti permette anche di usare i file C++ (per le classi del modello per esempio) con Obj-C++ (che è fondamentalmente un file di codice sorgente Obj-c ma rinominato in .mm per Obj-C++).

Detto questo, Cocos-2D è a mio parere una meravigliosa biblioteca, è per lo più scritto in Obj-C, ma ha parti C puri per la roba intensiva più CPU (fisica E 'chipmunk physics e Box2D, hanno anche una biblioteca tabella hash scritto in puro C per evitare di chiamare molto NSDictionary). Cocos2D non è difficile da usare e puoi far funzionare un bel gioco abbastanza velocemente!

Puoi incorporare l'intero Cocos-2D a un tuo progetto, o semplicemente incorporare alcune parti utili di esso (come Cocos-Live per i punteggi On-Line, i caricatori Texture, ecc.). Potresti anche iniziare a lavorare direttamente dal progetto Cocos-2D Xcode e rimuovere ciò che non ti serve (come esempi, ecc.).

Per una semplice spiegazione della licenza Cocos-2D, leggere Here!

Informazioni su OpenGL, con Cocos non è necessario impararlo a fondo, a meno che non si inizi a dedicarsi a cose molto personalizzate.

Detto tutto questo, qui sono le mie raccomandazioni:

1) GUI richiede tempo, GUI può prendere un sacco (anche oltre il 50%) del codice sorgente in realtà ... in modo da prendere in considerazione se avete intenzione di avere menu di gioco, ecc. e regolare i vostri orari per rendere la codifica della GUI adatta!

2) Quando hai imparato un po 'Cocos, inizia a giocare con OpenGL, è una corsa meravigliosa, ed è davvero bello sapere un po' del "Motore" della tua "Macchina", quindi se la tua "Macchina" (Cocos2D) pausa o non fa esattamente quello che vuoi, puoi sempre modificare qui e là per farlo funzionare.

+0

Meraviglioso Mr.Gando. Grazie mille. – Getsy

0

Se hai programmato i giochi prima E hai qualche esperienza con Objective-C POI potresti sviluppare un gioco in un mese. La complessità del gioco è un fattore importante.

+0

No. Io voglio sviluppare gioco OpenGL solo come il mio gioco avrà grafica 2D/3D e io non voglio sviluppare con Core Animation. – Getsy

+0

Sì, puoi usare materiale 3D anche in cocos2d. Cocos2d si concentra principalmente sulla realizzazione di giochi 2D più semplici, ma consente comunque di utilizzare OpenGL completo senza restrizioni e ha persino il supporto per effetti 3D come transizioni, increspature e una fotocamera. Il nostro gioco di prossima uscita Black Hole è stato scritto con cocos2d e utilizza oggetti 3D per tutti gli asteroidi e la Terra, perché questo ci ha permesso di fare animazioni fluide con solo una frazione dell'utilizzo della memoria delle immagini 2D. Sono in esecuzione una FAQ cocos2d sul mio sito http://www.learn-cocos2d.com e aggiungerò una lezione sull'utilizzo delle funzionalità 3D con cocos2d. – LearnCocos2D

6

Per quello che vale, ho provato a raccogliere l'obiettivo C alcune volte nell'ultimo anno, ma mi sono arreso abbastanza velocemente ogni volta (anche se ero solito fare molto C all'inizio degli anni '90). Poco più di una settimana fa, però, ho guardato alcuni screencast e alla fine ho deciso di iniziare a creare il mio gioco. Ho quindi scoperto e gravitato sull'uso di Cocos2D.

Ora, 9 giorni dopo, ho realizzato un prototipo di un gioco (è un clone di Robotron 2084). È stato molto divertente farlo finora e anche se questa non è la versione più aggiornata (questo era al marchio di 1 settimana), questo video ti darà un'idea di quello che ho raggiunto: http://www.youtube.com/watch?v=lzD6va1GiTI

Ho iniziato usando il progetto Cocos2D di default e semplicemente capendolo e aggiungendo cose mentre andavo. Ho fatto un TON di Googling e spesso sono finito qui su Stack Overflow e sui forum iPhone di Cocos2D (che sono MOLTO utili). Mi sono grattato molto la testa ma è stata un'esperienza divertente (ad eccezione del rintracciare perdite di memoria ;-)).

Cocos2D è, credo, concesso in licenza LGPL ma ha alcune clausole extra taggate per renderlo ancora più gratuito in modo da poterlo utilizzare nei progetti di giochi per iPhone commercialmente o no senza problemi.

Ho trovato che non è necessario imparare molto su OpenGL. Ho copiato e incollato alcuni frammenti gratuiti di qua e di là ma sono stati semplici da capire. Cose come disegnare linee e scatole, ecc. Non ho appreso roba OpenGL "difficile". Sono appena inciampato e ho preso una strada piuttosto lunga, IMHO. Ora mi sento abbastanza fiducioso e sto ancora finendo questo gioco per averlo su App Store e voglio sviluppare di più!

Assicurati di iniziare con l'ultimo Cocos2D 0.99-rc perché hanno cambiato molti nomi e ti darà fastidio se devi aggiornare in futuro. È molto stabile e funziona bene. Vai a http://www.cocos2d-iphone.org/download e scaricalo, scompatta, quindi esegui il programma di installazione dei modelli. Quindi crea un progetto usando il modello Cocos2D in XCode e Build & Eseguilo su iPhone Simulator. Otterrai un esempio di base che potrai quindi approfondire. Leggi anche la "Guida alla programmazione" di Cocos2D per iPhone sul loro sito e gradualmente scopri come cambiare la scena per fare qualcosa che vuoi che faccia. Piccoli passi, ecc .:-)

+0

Grandi spiegazioni. Diritto di andare! La creazione di un progetto separato e la raccolta di tutti i file necessari da Cocos2d e l'aggiunta nel mio progetto stanno dando molti errori (> errori 2000), non sono nemmeno riuscito a capire gli errori. Quindi ho utilizzato lo stesso progetto Cocos2d e rimosso tutti gli elementi non necessari mantenendo infine un solo progetto e modificandolo in base alle mie esigenze. Posso andare avanti? – Getsy

0

Penso che Cocos2d sia un ottimo framework per aiutarti a iniziare la programmazione di giochi 2D per iPhone.

Ecco un bel tutorial che vi permetterà di cominciare: link text

+0

Cocos2d è solo per la programmazione 2d non per la programmazione 3d? Non possiamo usare anche i concetti di programmazione 3d nel progetto Cocos2d? – Getsy