2010-02-05 15 views
8

Quiero desarrollar un juego en un mes usando el motor de juego Cocos2D de código abierto. Aprender Cocos2D es un poco difícil y no sé cómo crear mi proyecto inicial utilizando los archivos proporcionados por el proyecto base de Cocos2D. Dudo si es posible?iPhone: Proyecto Learning Cocos2D

¿Puedo aprender usando directamente el proyecto base de Cocos2D y modificarlo para la aplicación de mi juego? ¿La licencia me permite usar eso? (Debido a que no puedo aprender todos los conceptos de programación de OpenGL y desarrollar una aplicación en un mes, lo cual es muy difícil)

. Aprecie sus pensamientos y consejos.

Gracias.

Respuesta

12

, ¡he estado programando juegos para iPhone durante más de un año! Empecé a hacer la mayoría de las cosas en Objective-C, pero luego aprendí que para la mayoría de los juegos intensivos gráficamente (o de cálculo), Objective-C no es realmente la mejor opción. Hay muchos caminos como Pure Objective-C para la lógica y C en línea para las partes más "intensivas" de su juego, Obj-C también le permite usar archivos C++ (para las clases modelo, por ejemplo) con Obj-C++ (que es básicamente un archivo de código fuente Obj-c de .m pero renombrado como .mm para Obj-C++).

Una vez dicho esto, Cocos-2D es en mi opinión una biblioteca maravillosa, que está escrito en su mayoría en Obj-C, pero tiene partes C puras de las cosas más intensivo de la CPU (física Es chipmunk physics y Box2D, también tienen una biblioteca tabla hash escrito en C pura para evitar llamar mucho a NSDictionary). ¡Cocos2D no es difícil de usar, y puedes hacer que un buen juego funcione bastante rápido!

Puede incorporar todo el Cocos-2D a un proyecto suyo, o simplemente insertar algunas partes útiles (como Cocos-Live para partituras en línea, cargadores de texturas, etc.). También podría comenzar a trabajar directamente desde el proyecto Cocos-2D Xcode y eliminar lo que no necesita (como ejemplos, etc.).

Para una explicación simple de la licencia Cocos-2D, lea Here!

Acerca de OpenGL, con Cocos no será necesario que lo aprenda en profundidad, a menos que empiece a hacer cosas muy personalizadas.

Habiendo dicho todo esto, aquí están mis recomendaciones:

1) GUI lleva tiempo, interfaz gráfica de usuario puede tardar mucho (incluso más del 50%) de su código fuente realidad ... así que tomar esto en consideración si va a tener menús de juegos, etc. y ajuste sus horarios para hacer que la codificación de la GUI encaje!

2) Cuando hayas aprendido Cocos un poco, comienza a jugar con OpenGL, es un paseo maravilloso, y es realmente genial saber un poco sobre el "Motor" de tu "Coche" así que si tu "Coche" (Cocos2D) rompe o no hace exactamente lo que quieres, siempre puedes retocar aquí y allá para que funcione.

+0

Maravilloso Mr.Gando. Muchas gracias. – Getsy

0

Si has programado juegos antes Y tienes alguna experiencia con Objective-C ENTONCES podrías desarrollar un juego en un mes. La complejidad del juego es un factor importante.

+0

No. Quiero desarrollar juego de OpenGL sólo como mi juego tendrá gráficos 2D/3D y que no quiero para desarrollar el uso de CoreAnimation. – Getsy

+0

Sí, también puedes usar material 3D en cocos2d. Cocos2d se centra principalmente en facilitar los juegos en 2D, pero no obstante le permite utilizar OpenGL completo sin restricciones e incluso tiene algún soporte para efectos 3D como transiciones, ondulaciones y una cámara. Nuestro juego Black Hole, que pronto se lanzará, fue escrito con cocos2d y utiliza objetos 3D para todos los asteroides y la Tierra, porque esto nos permitió hacer animaciones fluidas con solo una fracción del uso de la memoria de las imágenes 2D. Estoy ejecutando una pregunta frecuente de cocos2d en mi sitio http://www.learn-cocos2d.com y agregaré una lección sobre el uso de funciones 3D con cocos2d. – LearnCocos2D

6

Por lo que vale, traté de recoger Objective C varias veces en el último año, pero me rendí bastante rápido cada vez (aunque solía hacer mucho C a principios de los 90). Hace poco más de una semana, sin embargo, vi algunos screencasts y finalmente decidí comenzar a hacer mi propio juego. Luego descubrí y gravité hacia el uso de Cocos2D.

Ahora, 9 días después, tengo un prototipo de un juego hecho (es una especie de clon de Robotron 2084). Ha sido muy divertido hacerlo hasta ahora y aunque esta no es la versión más actualizada (esto fue en la marca de 1 semana), este video le dará una idea de lo que he logrado: http://www.youtube.com/watch?v=lzD6va1GiTI

Empecé usando el proyecto Cocos2D predeterminado y simplemente descifrándolo y agregando cosas a medida que avanzaba. Hice TONELADAS de Google y con frecuencia terminé aquí en Stack Overflow y en los foros de iPhone de Cocos2D (que son MUY útiles). Me he rascado la cabeza un montón, pero ha sido una experiencia divertida (excepto para rastrear las pérdidas de memoria ;-)).

Cocos2D es, creo, licenciado por LGPL, pero tiene algunas cláusulas adicionales etiquetadas para que sea aún más libre para que pueda usarlo en sus proyectos de juegos de iPhone comercialmente o no sin ningún problema.

Descubrí que no necesita aprender mucho sobre OpenGL. He copiado y pegado algunos fragmentos gratuitos de aquí y de allá, pero han sido fáciles de descifrar. Cosas como dibujar líneas y cuadros, etc. No aprendí nada "duro" de OpenGL. Acabo de tropezar y tengo un camino bastante largo, en mi humilde opinión. ¡Ahora me siento bastante seguro y todavía estoy terminando este juego para ponerlo en la App Store y quiero desarrollar más!

Asegúrese de comenzar con el último Cocos2D 0.99-rc porque cambiaron muchos nombres y le molestará si tiene que actualizar en el futuro. Es muy estable y funciona bien. Vaya a http://www.cocos2d-iphone.org/download y descárguelo, descomprima y luego ejecute el instalador de la plantilla. A continuación, cree un proyecto utilizando la plantilla Cocos2D en XCode y compilación & Ejecútelo en el simulador de iPhone. Obtendrá un ejemplo básico en el que podrá profundizar. Lea también la "Guía de programación" del iPhone Cocos2D en su sitio y descubra gradualmente cómo cambiar la escena para hacer algo que desea que haga. Pequeños pasos, etc. :-)

+0

Grandes explicaciones. ¡Bien hecho! Crear un proyecto separado y seleccionar todos los archivos necesarios de Cocos2d y agregarlo a mi proyecto es dar muchos errores (> 2000 errores), ni siquiera pude descifrar los errores. Así que he usado el mismo proyecto Cocos2d y he eliminado todos los elementos innecesarios al mantener solo un proyecto finalmente y modificarlo en función de mis requisitos. ¿Puedo seguir? – Getsy

0

Creo que Cocos2d es un muy buen marco para ayudarlo a comenzar la programación de juegos en 2D para el iPhone.

Aquí es un muy buen tutorial que le ayudará a empezar: link text

+0

Cocos2d es solo para programación 2d no para programación en 3D? ¿No podemos usar conceptos de programación 3D también en el proyecto Cocos2d? – Getsy