2010-10-22 16 views
5

Otra pregunta. He estado investigando todo lo que esta maravillosa comunidad me ha ofrecido en términos de mi viaje para seguir desarrollando juegos.Ruta de principiante para Game Development para OS X y iPhone

He llegado a la conclusión de que preferiría desarrollar en mi máquina nativa, OS X, lo que finalmente llevaría al iPhone.

Ya poseo la guía de Big Nerd Ranch, la Programación de Iphone - la Guía de Big Nerd Ranch y Aprenda a programar en Mac OS X - la gran Guía de Nerd Ranch.

Mi objetivo que estoy tratando de disparar es un juego similar al Diablo II de Blizzard.

Cuando revisé estos libros, todo parecía un poco sobre mi cabeza debido a la falta de experiencia en Objective-C (entonces sospecho).

¿Cuál es la mejor manera amigable para principiantes de alcanzar mis objetivos? He estado buscando libros de Objective-C para principiantes de Apress y similares, o libros en línea.

¿Cómo podrían los desarrolladores experimentados como usted guiar a un novato a través de este camino?

Saludos

  • editar -

Para responder por qué he elegido la ruta de manzana, que sólo se ve como la más cómoda (medio ambiente es nativo de la máquina). Aunque puedo estar muy equivocado. Estaba mirando Unity, es compatible con C#, JavaScript y Boo. Otros como Panda3D usan Python. Simplemente no estoy seguro, parece que el proceso de decisión se ha convertido en un desafío.

+0

@pmg, sí, tengo. Cuando llego más lejos, las cosas se vuelven demasiado intensas para mí. El lenguaje parece desbordarse, no se parece a nada que haya visto antes. –

+0

Vaya ... lo siento, borré el comentario unos 10 segundos después de publicarlo. Pensé que era evidente que ya habías hecho el "hola mundo", cuando volví a leer tu pregunta – pmg

+0

Oh gotcha. Pensé que estabas siendo sarcástico, je. –

Respuesta

0

Si yo fuera usted, comenzaría con C, aprenderá los fundamentos de la programación, los algoritmos y la asignación de memoria (concepto increíblemente importante en C). Luego, puede pasar a leer algunos libros sobre Objective-C y obtener una idea para la programación orientada a objetos y conceptos de nivel superior como tipado dinámico, recolección de basura, etc.

En cuanto al software, si está encendido OS X quiere obtener XCode, que es un entorno de desarrollo integrado desarrollado por Apple para desarrollar para iOS y OS X. Al parecer, es una descarga gratuita (aunque eso es exactamente lo que Apple dice en su sitio web, no sé, no tengo una Mac).

En cuanto a libros, etc. Obtendré algunos libros en C y veré algunos tutoriales. Léelos de principio a fin, y preste especial atención a los conceptos importantes (y frustrantes) de la asignación y administración de la memoria y los indicadores.

+0

Voy a comenzar con Learn C en la Mac, a menos que haya otra lectura mejor. - EDITAR - Accidente hit return, ¿cuáles son algunos buenos ejercicios al aprender un nuevo idioma. Encuentro que entiendo bien los conceptos, solo tengo problemas para ejecutarlos por falta de ejercicios. –

2

le recomiendo que

a) aprender los conceptos básicos de C (en especial la gestión de memoria)

b) aprender los fundamentos de Objective-C

c) aprender el iPhone SDK de un libro (Me gustó "Beginning iPhone Development" y su segundo volumen)

d) elija cualquier proyecto que le parezca interesante y que no sea demasiado desafiante y solo codifique.Descubrirá que para cuando haya terminado, probablemente piense que las cosas que hizo primero son horribles, pero aprenderá mucho en el proceso

e) visite Stackoverflow.com con la mayor frecuencia posible, tiene la mayor parte de las respuestas a las preguntas que tendrán :)

3

depende del tipo de juego que está haciendo - pero muchos de los mejores juegos en el iPhone fueron creados con un marco de código abierto llamado cocos2d. Es fabuloso, simplifica todo, tiene excelentes tutoriales y está disponible específicamente para iPhone.

Compruebe hacia fuera en:

http://www.cocos2d-iphone.org/

+0

Wow. Así que en realidad nunca * intenté * Cocos2d antes, así que en los últimos 24 minutos desde la publicación, leí algunos ejemplos y tutoriales, descargué el kit (que también incluye el motor de física Box2d), instalé y construí el kit y ahora tiene un montón de juegos de muestra ejecutándose en el simulador. Cosas bastante poderosas !! – Brad

+0

Gran comentario. Acabo de hacer lo mismo y estoy muy sorprendido de lo rápido que puedo aprender con solo revisar algunos de los códigos de estos juegos. – krx

+0

Muy interesante, ¿puedes crear un juego con imágenes similares a Diablo y una vista de cámara de ojo de pájaro/tercera persona? ¿O todos los juegos de rol serían como el clásico de Final Fantasy? –

0

Me parece que una buena manera de aprender un nuevo idioma es comenzar con la replicación de herramientas de línea de comandos comunes como wc, grep, ls, etc. Esta voluntad le enseñará los conceptos básicos de I/O (archivo y stdin/stdout) y algunos análisis básicos de cadenas, así como otros objetos aquí y allá. Además, tiene un método determinista para determinar si su programa lo hace bien o no, ya que puede compararlo fácilmente con el resultado o el comportamiento del comando estándar.

K&R, así como Programming in Objective-C 2.0, son buenos lugares para aprender los conceptos básicos de C y Objective-C.

Una vez que tenga los fundamentos de la lengua hacia abajo, comenzar con los programas básicos de interfaz gráfica de usuario (los que están en el libro de Hillegass son un buen comienzo). Una vez que pueda conectar una GUI básica al frente de alguna lógica subyacente, es hora de comenzar a pensar más seriamente sobre su juego. El libro de Hillegass tiene una introducción básica al uso de NSOpenGLView, que puede usar para dibujar manualmente en 2D y 3D. Es importante tener en cuenta que al examinar los ejemplos de cualquier libro, querrás comprender a fondo lo que hacen y cómo lo están haciendo, lo suficiente como para que puedas hacer algunas modificaciones tú mismo para mejorar/cambiar el comportamiento de el programa de ejemplo con el que estás trabajando

Una vez que comprenda los conceptos básicos de cómo su lógica de juego subyacente puede engancharse a algo que el usuario puede ver, es hora de buscar una biblioteca de juegos/dibujos que lo lleve a donde va. Definitivamente no quieres escribir todas las rutinas de gráficos para un juego similar a Diablo.

1

Si está trabajando en un Mac, entonces las cosas se ponen interesantes.

Los mayores mercados de juego en varios órdenes de magnitud son las consolas y de Windows. Si solo tiene como objetivo el iPhone y OSX, la Mac es ideal para el desarrollo. Sin embargo, este es un mercado competitivo (iPhone) limitado (Mac OS), MUY. Si desea hacer algo que se convertirá en un producto real con ventas reales, limitarse a OSX desde la puerta de salida probablemente sea un error.

Si estás empezando y quieren aprender lo que hace que toda esta basura garrapata juego, seguir con el idioma y el sistema operativo que está más cómodo. Introducir demasiadas variables en una expedición de aprendizaje es un ingrediente importante en el fracaso. Una de las cosas buenas de este tipo de aplicaciones es que los algoritmos y las técnicas que elegirá son inherentemente multiplataforma. Las matrices son matrices, ya sea que esté trabajando en un escritorio TI-89 o Alienware.

Sin embargo, si este es el caso, tratar de mantenerse al tanto de lo específico de la plataforma de widgets que está utilizando en su código. Planea tirar esto. Escribe un montón de aplicaciones de prueba.Y, cuando esté seguro de que está listo para construir algo real, estará listo para instalar una VM o un escritorio nuevo con Windows (I LOVE XNA), C++ con DirectX u OpenGL, o lo que sea, y el variables, el nuevo material que tiene que aprender, no será sobre gráficos o matemática o jugabilidad, sino sobre la plataforma en sí.

Escribiendo "¡Hola, mundo!" es mucho más fácil si no estás entendiendo lo que estás tratando de decir, sino solo cómo decirlo.

Además, en lugar de apuntar a un clon de Blizzard, comience con algo de suciedad simple, como Pong. Luego haz 3D Pong. Luego agrega gravedad. Luego detección de colisión. Y así.

También mira gamedev.stackexchange.com cuando tienes preguntas específicas del desarrollo del juego. Es MUCHO más bajo que SO, y muchos de los participantes son fanboys adolescentes, pero hay un buen conocimiento allí listo para ser aprovechado.

1

Puede desarrollar un juego pequeño para iPhone con bastante rapidez una vez que haya dominado Objective C y las API de iOS. Me tomó alrededor de 4 semanas desarrollar un pequeño juego solo para iPhone con una lógica de juego limitada. He aquí una valoración crítica de mis experiencias:

http://corrino-software.com/how_long_does_it_take_to_make_an_iphone_game

Sin embargo, algo así como un juego de estilo Diablo sería un gran proyecto. Como dice David, es mejor comenzar con algo más pequeño y más manejable para empezar, luego puede pasar a proyectos más grandes una vez que se sienta cómodo con el proceso de desarrollo y esté familiarizado con las herramientas y bibliotecas que necesitará.