Pequenas peças.
Possibilidades em movimento.
Awesome Engine é um motor 2D organizado em cenas. Um contexto compartilhado reúne os sistemas usados por cada jogo, da entrada ao último quadro.
Explorar o código auditado ↗Uma base que
você pode entender.
Desenvolvido por Carlos Cortina, Awesome Engine reúne lógica de jogo em C++ e serviços reutilizáveis sobre SFML. Suas sete cenas incluídas mostram como conectar gráficos, entrada, som e interface em jogos pequenos e completos.
Seu projeto favorece a composição: as cenas recebem um EngineContext e usam gerenciadores com responsabilidades específicas. O código MIT permite estudar, modificar e ampliar essa base.
O repositório ainda não publica uma história de criação nem objetivos formais. Aqui descrevemos seu projeto observável e suas capacidades verificadas.
O que você já pode explorar.
Renderização e vistas
Sprites, formas e texto em sf::RenderTexture. Vistas com sf::View e pós-processamento bloom + monitor.
Implementada02Cenas e ciclo de vida
Start, Update, Render, OnEvent, OnPause e OnCleanup. Mudança de cena adiada e reinício.
Implementada03Recursos e memória
Caches de texturas, sons e fontes. RAII, contêineres padrão e propriedade com unique_ptr.
Implementada04Entrada e áudio
Ações com vários bindings. Teclado, mouse e gamepad; música, efeitos e volume global.
Implementada05Interface e ferramentas
TGUI, sobreposição de pausa, cursor personalizado, capturas PNG com F12 e diagnóstico com spdlog.
Implementada06Configuração e salvamento
Configuração de janela, tempo e áudio em JSON. Persistência local de pontuações e estado.
ImplementadaUm contexto.
Sistemas conectados.
Os gerenciadores ficam por valor no EngineContext. O SceneFactory constrói e possui as cenas por meio de unique_ptr.
EngineContext
SceneFactory → Scene
Bounce · Clicker · MemoryCard · TicTacToe · MineSweeper · Runner · Tetris
O percurso de um quadro
A interface e o cursor são desenhados após o pós-processamento da cena. Glitch e inversão existem no código, mas não estão ativos na cadeia auditada.
Ferramentas concretas.
Versões explícitas.
Configuração, compilação e download de dependências com FetchContent.
Consultar repositórioTambém importa
conhecer os limites.
A configuração de desenvolvimento encontrada usa Windows com MinGW, Ninja e GDB. Linux e macOS não foram verificados; há diferenças de maiúsculas e minúsculas nos caminhos que exigem revisão.
O motor não inclui editor visual, ECS, motor de física geral, scripting nem exportação web ou móvel. As colisões e a física dos jogos são específicas de cada cena.