Pequeñas piezas.
Posibilidades en movimiento.
Awesome Engine es un motor 2D organizado en escenas. Un contexto compartido reúne los sistemas que cada juego utiliza, desde la entrada hasta el último cuadro.
Explorar el código auditado ↗Una base que
puedes entender.
Desarrollado por Carlos Cortina, Awesome Engine reúne lógica de juego en C++ y servicios reutilizables sobre SFML. Sus siete escenas incluidas muestran cómo conectar gráficos, entrada, sonido e interfaz en juegos completos y pequeños.
Su diseño favorece la composición: las escenas reciben un EngineContext y usan gestores con responsabilidades concretas. El código MIT permite estudiar, modificar y ampliar esa base.
El repositorio aún no publica una historia de creación ni objetivos formales. Aquí describimos su diseño observable y sus capacidades verificadas.
Lo que ya puedes explorar.
Renderizado y vistas
Sprites, formas y texto sobre sf::RenderTexture. Vistas con sf::View y posprocesado bloom + monitor.
Implementada02Escenas y ciclo de vida
Start, Update, Render, OnEvent, OnPause y OnCleanup. Cambio de escena diferido y reinicio.
Implementada03Recursos y memoria
Cachés de texturas, sonidos y fuentes. RAII, contenedores estándar y ownership con unique_ptr.
Implementada04Entrada y audio
Acciones con múltiples bindings. Teclado, ratón y gamepad; música, efectos y volumen global.
Implementada05Interfaz y herramientas
TGUI, overlay de pausa, cursor personalizado, capturas PNG con F12 y diagnóstico con spdlog.
Implementada06Configuración y guardado
Configuración de ventana, tiempo y audio en JSON. Persistencia local de puntuaciones y estado.
ImplementadaUn contexto.
Sistemas conectados.
Los gestores viven por valor en EngineContext. SceneFactory construye y posee las escenas mediante unique_ptr.
EngineContext
SceneFactory → Scene
Bounce · Clicker · MemoryCard · TicTacToe · MineSweeper · Runner · Tetris
El viaje de un cuadro
La interfaz y el cursor se dibujan después del posprocesado de la escena. Glitch e inversión existen en el código, pero no están activos en la cadena auditada.
Herramientas concretas.
Versiones explícitas.
Configuración, compilación y descarga de dependencias con FetchContent.
Consultar repositorioTambién importa
conocer los límites.
La configuración de desarrollo encontrada es Windows con MinGW, Ninja y GDB. Linux y macOS no están verificados; hay diferencias de mayúsculas en rutas que requieren revisión.
El motor no incluye editor visual, ECS, motor físico general, scripting ni exportación web o móvil. Las colisiones y la física de los juegos son específicas de cada escena.