Pregunta

Am utiliza para el desarrollo de aplicaciones de negocio y de referencia. Ahora tengo que hacer un juego de iPhone. ¿Qué consejos puedes compartir para ayudarme con:

  1. entender el alcance del proyecto
  2. definir los entregables
  3. especificando el juego y otros parámetros
  4. estimar el esfuerzo de desarrollo
  5. probar el juego

Una gran pregunta, lo sé. Gracias!

¿Fue útil?

Solución

La principal diferencia entre las aplicaciones y los juegos de negocios, especialmente en dispositivos móviles, es la importancia del desempeño. Una aplicación que pone una forma y espera la entrada del usuario probablemente no está haciendo nada en el ínterin. Un bucle de juego, por otra parte, va todo el tiempo y, probablemente, haciendo mucho. programadores de negocios no están acostumbrados a pensar en estos términos, pero los juegos dibujan energía de la batería hacia abajo y, aunque no lo crean, cómo poner en práctica su juego tendrá un gran efecto sobre la rapidez con que la batería se dibuja hacia abajo.

Por lo tanto, una pregunta es, ¿qué es este juego que "tiene que" desarrollarse? Si se trata de sudoku, no se preocupe. Si se trata de una batalla espacial en 3D en tiempo real, eso es otra historia.

Si sus aplicaciones de negocios estaban en el iPhone, entonces probablemente se utiliza el 100% de Objective-C. (Si usted estaba haciendo C # o Java aplicaciones en equipos de sobremesa, entonces bienvenido a la gestión de su propia memoria.) Hay quienes se dirá que el tiempo de ejecución de gestión tipo de Objective-C es demasiado lento para juegos complejos. La gente sin duda hacen juegos OK utilizando con Cocos2D y otros motores, pero de nuevo depende del juego. Hay desarrolladores profesionales que sólo funcionará con C ++ o incluso C recta.

Otros consejos

Mi respuesta no está siguiendo la metodología de cascada respuesta que buscas, porque creo que tendrá que aprender la habilidad de programación de juegos antes de poder planificar, diseñar, implementar y probarlo. la programación de juegos es muy diferente a la programación de negocios y un otro campo entero en sí mismo.

Debido a su falta de experiencia en programación de juegos hay algunos conceptos que se necesitan para aprender antes de poder programar un período de juego, y mucho menos uno en el iPhone.

Algunas de estas cosas van a depender de si se está programando un juego en 3D o ir para el estilo de plataformas en 2D.

OpenGL ES Lo primero que tendrá que aprender es la OpenGL ES lenguaje de programación . Esto es básicamente una API 3D, que le permite hacer el dibujo de primitivas 3D. Usted todavía tendrá que usar esta opción si está codificando un juego en 2D, ya que es rápida debido al uso de la GPU para la aceleración. Hay algunos buenos tutoriales en la que Google debe empezar.

Vector Math Si usted está haciendo nada en 3D, que tendrá que aprender sobre 3D vector de matemáticas, los vectores se utilizan básicamente para todo en juegos, dirección de observación de la cámara, la posición de los caracteres, la velocidad, la detección de colisiones, etc. Los vectores 2D (x, y) menos el componente z siguen siendo necesarios para la programación de juegos en 2D.

Detección de Colisiones ¿Cómo sé cuando mi balón golpea en la pared? La respuesta es la detección de colisiones. Hay muchas formas de detección de colisión, tales como una esfera a, AABB , OOBB , Convex Cascos, Triángulo Mesh, etc.

AI ¿Cómo llego al enemigo para atacar mi carácter del jugador? La inteligencia artificial es otro gran campo esencial para dar CPN / Enemies la capacidad de tomar decisiones inteligentes. AI puede ser simple, como si else, pero por lo general requiere máquinas de estados finitos o lógica difusa para ser eficaz.

Pathfinding Si desea mover un personaje del punto A al punto B, evitando enemigos y obstáculos en movimiento, tendrá que utilizar un algoritmo de búsqueda de caminos. Una estrella (A *) es uno de los más populares.

Scene Graph Si usted desea tener 10-20 + enemigos en pantalla a la vez, tendrá que codificar un escenario gráfico para administrar el dibujo dinámico, la lógica y la creación y eliminación de recursos. Si usted no sabe lo que el polimorfismo es que se necesita saber, ya que es esencial para sus objetos de juego que se adhieran a ella y enlaza con el escenario gráfico.

Física Posición, velocidad, aceleración, gravedad y los rayos están representados usando vectores y puede que tenga que poner al día su matemáticas física con el fin de codificar cualquier juego. Comenzar con la segunda ley del movimiento F = ma (Fuerza = masa * aceleración) de Newton. Un motor de física de código abierto como bala, ODE, Newton, Tokamak hará las cosas más fáciles, lo que significa que no tendrá que escribir estas leyes físicas del mismo.

Objetivo-C ++ Esto es opcional, aunque se recomienda. Si usted no sabe C ++ esto es esencialmente una mezcla de C ++ y Objective-C. Yo tiendo a usar C ++ para el motor principal del juego y la programación debido a la velocidad de C ++ y la disponibilidad de bibliotecas de terceros en C ++.

Sound Si necesita el sonido que sólo puede seguir adelante y utilizar los marcos de audio simples que Apple proporciona, sin embargo audio posicional 3D va a requerir algo mejor. Yo recomendaría aprender el SDK para el iPhone FMOD. Como se ha mencionado @Stowelly, FMOD requiere una licencia para la distribución comercial, pero hay otros que usted puede buscar que son libres de derechos.


Utiliza un motor de juego Hay motores de juegos disponibles para el iPhone en este momentolo que hará que sea mucho más fácil para que usted pueda obtener un juego va, en su caso, esto será más rápido aunque todavía tendrá que aprender los conceptos que he mencionado anteriormente.

Estos son algunos motores de juego que conozco:

Unity3D Esto probablemente el más popular, que yo sepa. La unidad es un motor de juego de PC / Mac que te permite escribir código en el Mac y compilar para Windows / Linux / Mac OS X. Dudo edificio iPhone es compatible directamente con otras plataformas, me imagino que estaría limitado a iPhone si empezar un nuevo proyecto. Este motor embargo, tiene un costo de despliegue comercial de $ 199- $ 399.

Cocos2D Éste es un motor de juego 2D de código abierto que podría ser útil para una gran cantidad de juegos. Vale la pena echar un vistazo a. Alojado en el código de Google.

Estos son algunos otros de revisar:

Ston3D para iPhone

oolong motor

SIO2Engine

ITGB para juegos 2D

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top