El motivo

El curso 2010/2011 llega casi a su mitad, y es el momento de aplicar conocimientos... ;-)

Como un juego, por sencillo que parezca, es un ejercicio de programación muy completo, a estas alturas de curso mis alumnos tienen ir que creando poco a poco su propio juego, apenas a un ritmo de una hora por semana. Esto debería ayudar a asentar los conocimientos básicos que ya tienen, y también a aplicar conocimientos nuevos que iremos viendo en clase.

Debe ser un juego de plataformas (o uno de un nivel de dicultad similar), que tenga elementos como:

  • Un personaje que el usuario pueda controlar (mover a un lado u otro, hacer que salte o dispare, etc).
  • Varios enemigos, de distintos tipos, que deberán estar en sus correspondientes clases (y subclases), y que deberán ser capaces de moverse "sólos" (aunque el usuario no pulse ninguna tecla).
  • Un fondo repetitivo, creado usando arrays.
  • Una pantalla de presentación, que incluya alguna animación (al menos, un texto o una imagen que rebote).
  • Una lógica de juego "razonable": comprobar colisiones, perder energía o perder vidas, recoger objetos, etc.
  • Una tabla de mejores puntuaciones, que se guarde en fichero y se lea desde fichero.
  • ...

Para que tengan un punto de partida y algo con lo que comparar, yo iré realizando también un juego similar a lo que espero que ellos consigan. Ese juego quedará disponible en mi web por si ellos (o cualquier otra persona) quiere consultar la forma en la que he hecho cualquier cosa. Yo he optado por uno de los juegos que ellos no han escogido: Manic Miner, cuya apariencia original (en la versión para Amstrad CPC) era ésta:

Pantalla original de Manic Miner

Mi versión estará creada en C#, usando Tao.SDL como librería gráfica. He creado un esqueleto de juego, del que podrán partir mis alumnos y del que partiré yo. Este esqueleto es capaz de mostrar una pantalla de presentación, y desde ella acceder a una pantalla de créditos (nombre de los autores) y al juego en sí.

Si quieres saber más, sólo tienes que seguir leyendo...

Siguiente entrega...