Saltar al contenido

Recreacion Pac-man Arcade

← Volver a proyectos Imagen del proyecto Recreacion Pac-man Arcade
C++ SDL2

La meta

Recrear Pac-Man (1980) lo más fiel posible a la versión arcade, usando C++ y la librería SDL2 para gráficos, sonido y entrada.

Qué incluye

  • Los cuatro fantasmas (Blinky, Pinky, Inky y Clyde) con sus modos Scatter y Chase, y animaciones por dirección.
  • Estado asustado con parpadeo de advertencia, ojos que regresan a casa y puntaje de 200 a 1600 por fantasma consecutivo.
  • Animación de muerte de 12 cuadros y ocho frutas distintas según el nivel, de la cereza a la llave.
  • Sirena que se acelera cuando quedan pocos puntos, high score, pausa, reinicio y control de volumen (100, 50, 25 o silencio).

Cómo está hecho

C++ con SDL2, organizado por clases (Game, Ghost, GhostAI, AudioManager) y compilable con CMake o Makefile. Todos los sprites y sonidos viven en una carpeta de assets, separados del código.

Un bug interesante

En la versión 1.1, Blinky y Pinky se quedaban atrapados en bucles en las esquinas durante el modo Chase. La causa: al cambiar entre Scatter y Chase los fantasmas no invertían su dirección, algo que el arcade original sí hace. La solución fue llamar a reverseDirection() dentro de Ghost::setMode() en cada transición.

Lo que aprendí

  • Entender cómo funciona C++ en los videojuegos, algo que nunca había tocado: antes solo había usado C++ y su lógica en proyectos de la escuela.
  • Con ayuda de la librería SDL2, entender cómo se manejan los recursos, los sonidos y todo lo que interviene en un juego.

¿Cómo contactarme?

Estoy disponible para nuevas oportunidades. ¡Hablemos!