VOID DRIFTER es un trepidante shooter de naves espacial desarrollado íntegramente en C++ para la terminal. Inspirado en los clásicos bullet-hell, el juego ofrece una experiencia frenética con gráficos ASCII dinámicos, física de partículas y un sistema de renderizado de alta velocidad optimizado para Linux.
- Motor ASCII Dinámico: El escenario y el HUD se adaptan automáticamente si cambias el tamaño de tu terminal en tiempo real.
- Multilingüe: Soporte completo en configuración para Español, Inglés y Portugués.
- Personalización: Elige entre 3 modelos de naves espaciales (
A,V,U) y 3 niveles de dificultad. - Estética Retro-Moderna: Fondo de estrellas con paralaje, explosiones de partículas y colores neón ANSI.
- Zero-Lag: Optimizado mediante un búfer de renderizado único para evitar el parpadeo (flickering) y consumo mínimo de CPU.
- Sin Dependencias: No requiere librerías externas como
ncurses. Usa puramente las APIs estándar de Linux/Unix.
- Sistema Operativo: Cualquier distribución de Linux (Ubuntu, Arch, Fedora, Debian, etc.).
- Compilador:
g++(GCC) con soporte para el estándar C++17. - Terminal: Se recomienda una terminal con soporte para colores ANSI (Gnome Terminal, Konsole, Alacritty, Kitty, xterm).
El código está modularizado para una mayor limpieza y facilidad de mantenimiento:
main.cpp: Punto de entrada y bucle principal.Game.h/cpp: Lógica del juego, colisiones, estados y renderizado.Terminal.h/cpp: Gestión de la consola, ocultación del cursor y modo raw de entrada.Entity.h: Definición de objetos físicos (jugador, enemigos, balas).Vec2.h: Estructura matemática para posiciones y vectores.
Para obtener el máximo rendimiento y la mayor compatibilidad entre sistemas Linux, sigue estos pasos:
Asegúrate de tener todos los archivos .h y .cpp en la misma carpeta.
Este comando genera un binario estático que incluye todas las librerías necesarias, lo que lo hace compatible incluso en versiones antiguas de Linux:
make cleanmake./vdrifter-
Tecla--Accion:
-
"W, A, S, D",Mover la nave
-
Espacio,Disparar láser
-
Q,Volver al menú / Salir
-
R,Reiniciar (en pantalla de Game Over)
-
"1, 2, 3",Navegar por menús y ajustes