Hi all. Kirpi is a framework I’ve been building as an alternative to mainstream game engines that produce large web builds for my small commercial web projects. Another motivation was simply coding games in Nim — a language I find elegant and enjoyable — while still getting strong performance. It’s still under active development.
https://github.com/erayzesen/kirpi
It uses Naylib as the backend, which is very well-maintained in our community. The graphics API takes inspiration from LÖVE2D because that style has proven itself to be extremely practical for code-centric game development. On the input side, it keeps the straightforward query patterns that I also find very convenient in raylib. For audio, the API stays simple and easy to work with.
Kirpi is designed with a minimal API aimed at small and possibly mid-sized games. I also plan to add a PixiJS backend in the future for the JavaScript target. In short, I take a pragmatic and low-cost approach to the backend, because what truly matters is a simple, sufficient API, the community modules that can grow around it, and the ability to run wherever it needs to. Another reason for this pragmatic approach is the number of abandoned projects in the Nim ecosystem. Even if this project were ever discontinued, it should still keep working thanks to choosing solid, well-established backends.
If you like the project and its direction, feel free to contribute. If we can mature this framework around the core needs, the ecosystem of modules built around it (or already existing ones) could enable some really great things.