Carimbo, uma engine de jogos 2D que permite criar jogos inteiramente em Lua

41 views
Skip to first unread message

Rodrigo Delduca

unread,
Nov 5, 2025, 1:57:24 PM (5 days ago) Nov 5
to ccppbrasil

Olá,

Já tem mais de dois anos que venho desenvolvendo, no meu tempo livre, uma engine para jogos.

Eu poderia ter usado uma pronta, mas código é como massa: é melhor quando é caseiro.

A ideia principal é que o jogo não conhece nenhum detalhe da engine, e vice-versa.

Durante o desenvolvimento da engine, também criei jogos e demos. Um deles está recebendo investimento próprio e será lançado na Steam em breve — dá para jogar no primeiro link.

Recentemente implementei um sistema de partículas usando SoA (Structure of Arrays), técnica que ajuda bastante na vetorização. Em um hardware sem GPU dedicada, consigo manter 120 mil partículas a 60 FPS estáveis. Se quiserem conferir, está no segundo link.

Por fim, o código-fonte: atualmente rodo builds paralelas para Ubuntu, Windows, macOS e WebAssembly.

Para física, uso Box2D, que adicionei recentemente — perfeita para calcular colisões de forma eficiente.
Para binding com Lua, uso Sol2; não é perfeita, mas o binário resultante fica menor, e eu valorizo isso por causa do WebAssembly.
Para gráficos, manipulação de input e janelas, utilizo SDL3.
Para IO, uso PhysFS, uma biblioteca dos mesmos autores da SDL, que permite montar um arquivo compactado como se fosse um diretório. Isso facilita a distribuição dos jogos e acelera um pouco o carregamento, além de reduzir o tamanho final.
Para áudio, OpenAL Soft.
Para JSON (eu poderia usar Lua, mas optei por JSON também porque pode ser útil em jogos multiplayer com WebSocket), utilizo nlohmann/json.
Boost para alguns containers. Cheguei a usar a R-tree da Boost para AABB, que é muito boa, mas para jogos a Box2Dse mostrou bem mais adequada.




Qualquer feedback é muito bem vindo.

Att,
Rodrigo Delduca

Bruno Sanches

unread,
Nov 6, 2025, 7:47:56 AM (4 days ago) Nov 6
to ccppb...@googlegroups.com
Bom dia!

Ainda não consegui fuçar, mas dei uma olhada nos testes.

Referente a SOl2, sinceramente, uma das melhores bibliotecas C++ que já usei, apesar da documentação ser meio ruim (como 99% das bibliotecas)




Bruno Sanches
========================
https://github.com/bcsanches



--
http://ccppbrasil.github.io/
https://twitter.com/ccppbrasil
 
[&] C & C++ Brasil - http://www.ccppbrasil.org/
Para sair dessa lista, envie um e-mail para ccppbrasil-...@googlegroups.com
---
Você recebeu essa mensagem porque está inscrito no grupo "ccppbrasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para ccppbrasil+...@googlegroups.com.
Para ver esta conversa, acesse https://groups.google.com/d/msgid/ccppbrasil/65389162-e3bd-401f-a58f-73db1379db63n%40googlegroups.com.

Rodrigo Delduca

unread,
Nov 6, 2025, 8:11:21 AM (4 days ago) Nov 6
to ccppbrasil
Sim, nlohmann/json e sol são realmente muito boas, minha única reclamação é de que o autor meio que abandonou ela, apesar que ele trabalhou por 7-9 anos nela.

Se tratando de biblioteca, o troféu de ouro vai para SDL, eu tinha usado a SDL2 inicialmente e migrar para a SDL3 foi muito fácil, todas as coisas que não tinham na 3, a 3 sinalizava "oh você tem que usar essa aqui agora" durante a compilação.

Bruno Sanches

unread,
Nov 6, 2025, 8:39:15 AM (4 days ago) Nov 6
to ccppb...@googlegroups.com
Eu também uso a nlohmann/json... o pior dela é lembrar esse maldito nome na hora de fazer o include :P

ah sim, se fomos generalizar para bibliotecas em C, dai SDL é top de linha.

Bruno Sanches
========================
https://github.com/bcsanches


Rodrigo Delduca

unread,
Nov 6, 2025, 11:39:57 AM (4 days ago) Nov 6
to ccppbrasil
Também estou trabalhando numa completa reescrita para Rust.

Bruno Sanches

unread,
Nov 7, 2025, 7:31:34 AM (3 days ago) Nov 7
to ccppb...@googlegroups.com
Ah rust não me empolga, parece o java 2.0: "vamos destruir o C++"

Bruno Sanches
========================
https://github.com/bcsanches


Rodrigo Delduca

unread,
Nov 7, 2025, 4:04:47 PM (3 days ago) Nov 7
to ccppbrasil
Era apenas brincadeira. Sou hominho o bastante para saber gerenciar a memoria :-)

Bruno Sanches

unread,
Nov 8, 2025, 6:22:09 AM (2 days ago) Nov 8
to ccppb...@googlegroups.com
Não fala assim q magoa

Bruno Sanches
========================
https://github.com/bcsanches


Reply all
Reply to author
Forward
0 new messages