marzo 10, 2009

Desarrollo de Juegos ¿por donde empezar?

Si te gusta el desarrollo de juegos, a veces no es facil empezar por un sitio concreto. Hay demasiados aspectos que interesan y todos o casi todos, tienen alta complejidad y necesitan de conocimientos profundos.

Una forma sencilla de ir aprendiendo sin desanimarse es ir practicando por los distintos campos y una vez que sepas qué es lo que te gusta, profundizar con paciencia en ese campo.

Para aquellos que estén en esa búsqueda y no sepan muchas veces por donde ir, les recomiendo una serie de aspectos.
Un juego se compone principalmente de:
  • Diseño del Juego.
  • Diseño de Niveles.
  • Animación.
  • Modelización.
  • Diseño gráfico.
  • Graficos.
  • Sonidos.
  • Física.
  • IA.
En el desarrollo de un juego hay dos aspectos fundamentales, el motor y el juego en sí. El motor requiere de una profundidad enorme de conocimientos en cualquiera de los aspectos que toca, por lo que si lo que quieres es hacer algo que funcione y ver cómo se mueve algún objeto en la pantalla :) te recomiendo que uses unos de los múltiples motores que existen en el mercado.

Sé que el gran número de opciones puede abrumar cuando uno se plantea hacer un juego, o al menos aprender como va esto, yo siempre pongo el mismo ejemplo: hacer un juego es como tocar una sinfonia, es necesario desde el génio que la escribió, hasta los génios que la llevan a cabo, algo imposible para hacer por una sola persona.
Pero si lo que quieres es tocar un solo de guitarra en tu casa en tu casa, entonces es posible que sí que puedas, con esfuerzo y los conocimientos suficientes, puede que hasta compongas algo y encima suene bien :).
Si lo que quieres hacer es un juego para PC, puedes intentarlo con el SDK de Microsoft y XNA, es sencillo, te dan lo esencial (herramientas, IDE, motor... etc) y te puedes poner manos a la obra enseguida con una comunidad bastante activa. En mi opinion, es probablemente la elección más sencilla para empezar en PC y probablemente la más productiva, aunque tambien hay otras opciones.
Si tienes conocimientos de programación en C++, Irrlicht puede ser un buen comienzo, se trata de un motor muy bueno y que te facilitará la tarea inicial. Los resultados son casi inmediatos y encima muy aparentes!.

Si tus conocimientos son de Java, entonces te recomiendo Java Monkey Engine, que es tambien muy sencillo.
Hay múltiples ejemplos de juegos simples para ambos motores.
Si lo que quieres hacer es un juego para Móbiles móviles, entonces te recomiendo sin duda IPhone o Android, y además podrás vender el fruto de tu trabajo en las tiendas, a cambio deberás tener un móbil móvil con Android o un IPhone o Ipod Touch (nada es gratis en esta vida).

Lo más importante es que sepas que cada uno de los aspectos que componen un juego, es un mundo lo suficientemente profundo para que te ocupe toda una carrera profesional de años de experiencia, así que no te desanimes, continua intentandolo si no todo sale bien a la primera.

Update: Qué locura entre "Mobile" (Inglés) y Móvil en Español... eso sin contar que soy el más burro de "mi escuela".