Mis recomendaciones para desarrollar un juego v 2.0
(actualizado 04-03-2018)
Mis recomendaciones para desarrollar un juego:
[glyphicon icon=”hand-right”] Definir claramente y en forma correcta la idea del juego. Ver aquí mis recomendaciones al respecto.
[glyphicon icon=”hand-right”] Lenguaje de programación: C++
[glyphicon icon=”hand-right”] Preferiblemente se debe utilizar MS Visual Studio es un excelente producto. Por otro lado, hay varios compiladores gratuitos, mi recomendación es Dev-C++
[glyphicon icon=”hand-right”] Olvídese de programar en Basic, pascal o assembler. Cuando Ud. sea un programador maduro de juegos descubrirá que estuvo perdiendo su tiempo con esos lenguajes.
[glyphicon icon=”hand-right”] Sobre el tema de las mejores prácticas, los paradigmas de programación y patrones, estilo de programación y claridad en el código fuente, en este post hay una larga discusión sobre el tema. En resumen, prueba todas las técnicas y utiliza que que mejor te resulte. Es buena idea utilizar las mejores prácticas por que un código limpio y fácil de actualizar es como una poliza de seguro: si nunca tienes que cambiarlo ni aparece un bug, no pasa nada. En caso contrario es mejor tenerlo que lamentar no tenerlo.
[glyphicon icon=”hand-right”] Graficos 2D libSDL
[glyphicon icon=”hand-right”] Cualquiera disponible y que se ajuste al juego que quieres hacer. Mi recomendación solía ser Irrlicht, pero ya no tiene mucho soporte, y su desarrollo se ha detenido. Otra opción puede ser Ogre, pero es para programadores avanzados (ver aquí mis peripecias instalando y jugando con este motor). Otra alternativa es trabajar todo a bajo nivel usando DirectX o OpenGl. Pero le espera uno o dos años de reinvención de la rueda. No pierda el tiempo diseñando herramientas, Ud. quiere ser programador de juegos, así que dedique todo su tiempo a hacerlo. Este diagrama de flujo nos permite seleccionar cuál motor gráfico debemos usar (todos los caminos conducen a Irrlicht, excepto uno que conduce a libSDL).
[glyphicon icon=”hand-right”] ¿Quiere trabajar a bajo nivel de todos modos, OpenGl o DirectX? DirectX. Solo ha habido un programador exitoso de OpenGl. El resto lo único que hemos hecho es copiarnos de él.
[glyphicon icon=”hand-right”] Browser o Windows: para comenzar hay que desarrollar juegos sencillos, preferiblemente 2D, que puedan ser desarrollados en una o dos semanas de trabajo intenso. El navegador puede ser una plataforma sencilla pero como todo, se complica cuando queremos hacer cosas complicadas. En este momento ya no tiene sentido trabajar o hacer nuevos desarrollos en flash. Si vas a comenzar (y si estás leyendo esto es porque estás comenzando) deberías trabajar en WebGL, HTML5 y las tecnologías modernas. Este es un tutorial sobre WebGL. Un advertencia, al parecer WebGL no funciona sobre Win XP para Chrome versión >= 10.
[glyphicon icon=”hand-right”] Género del juego: acción, aventura, puzzle, arcade: para comenzar es mejor un arcade, tipo pacman, pong o Galaxian. Luego ir sofisticando el juego e ir produciendo nuevas ideas. Para buscar ideas, un buen punto de partida es las listas de los mejores juegos como la de GameTunnel