Tutorial por Nacho Cabanes

Ya hace días que os comentaba sobre un pdf que contenía un tutorial para hacer un juego y que empezaba desde hacerlo en modo texto a hacerlo gráficamente.


Son varios minijuegos los que se termina haciendo en el pdf, mayoría en consola, comenzando con un clásico juego de números al azar con el que te enseña los comienzos con C#.

Lo siguiente es el juego principal, paso a paso, mostrando un protagonista, unos obstáculos y unos enemigos. De forma sencilla te enseña lo básico de poner un bucle de juego, como controlar los fps y algunos conceptos de programación básicos. De la misma forma añade vidas, premios y puntuación de juego.

Por último le añade un menú, el cual personalmente hubiera añadido en primer lugar, al mismo tiempo del bucle. El resultado es un sencillo y clásico juego colorido de consola. Todo ello con su código.

Después de más teoría básica de programación, salta al gráfico con SDL "escondido". En esta parte yo he abandonado el hilo, pues viendo el código de ejemplo, realmente escondía mucho del SDL, con código que no entendía, al estilo, tu pon esto que funciona así. Y sobre todo cuando ya empezaba a ser necesario Visual Studio y cosas similares.

Igualmente seguí leyendo y hay cosas importantes para aprender, como son la colisión de objetos que mencioné anteriormente en la teoria de colisiones. En estos casos, una vez se tiene la teoría, lo mejor es coger papel y boli, dibujar los cuadrados e ir mirando las condiciones de colisión para sacar una fórmula efectiva.

Una parte interesante del pdf es cuando cuenta cómo sacar imágenes de un juego para hacer un remake. Es tan simple como emular el juego y sacar capturas de pantalla. Dichas capturas se procesan con una herramienta como Gimp, para ajustar el tamaño, quitar fondos y poner transparencias y sacar tiles.

Los tiles son estructuras repetitivas del fondo (un trozo de césped para todo el suelo del juego, por ejemplo). Para ello cuadriculaban la pantalla y esa técnica se podía usar con un array bidimensional de 0 y 1 indicando donde hay pared u otros elementos, y a la hora de dibujar, se dibujaba según el array. Para capturar los tiles de un juego, podemos usar el filtro rejilla del gimp.

En el apartado de las animaciones se pone interesante, comentando cómo podemos poner una animación, y es que podemos usar un array para indicar que estado (corriendo, muriendo...) y que guarde otro array que contenga las secuencias de imágenes, las cuales se mostrará una por fotograma.

Repartidos por todo el pdf, se encuentran detalles que por lo menos a mí se me olvidarían, pero que son parte del juego, y son:
  • Pantalla de inicio/bienvenida
  • Pantalla de créditos
  • Pantalla de ayuda
  • Tabla de récords
  • La "gravedad" del juego se comporta como si pulsáramos la tecla de abajo, pero sin cambios en la animación, y por supuesto, seguirá cayendo aunque ya no pulsemos teclas.
  • Para el salto se podría usar la fórmula parabólica, pero también podemos tener precalculados los datos. Es decir, tener la secuencia de posiciones que se tiene durante el salto.
Y hasta aquí lo que saco de dicho pdf. La verdad es que aunque tiene lo que promete y lo que pensaba, me ha parecido más una clase de programación que de programar un videojuego. Ha aprovechado la complejidad de los juegos y que tienen de todo para convertirlo en una clase de programación.

El hecho de usar C# es el principal motivo por el cual no he terminado el tutorial, provocándome rechazo al lenguaje. Es muy estilo al de Java con Netbeans, que con pocas lineas haces mucho y puedes hacer mucho, pero como quieras meter mano un poco más bajo ya no puedes.

Sin embargo, es un buen pdf a tener en cuenta si estás intentando seguir el mismo camino que yo. Tienes el código que hice en esta entrada.

Etiquetas: ,. Guarda el enlace permanente.

Deja un comentario ^^