GDOC is a modular library for game development in Odin, focused on performance, clarity, and reusability.
βοΈ Built by Leandro Libanio.
πΌοΈ Logo by Kevin FranΓ§a.
πΈ Sparse Set implementation (manual and auto ID allocation)
πΈ Minimalist ECS (Entity Component System) built on sparse sets
πΈ Timer utility for measuring elapsed time and triggering events
- Designed for performance, simplicity, and modularity
- No OOP β built to work with Odin's idioms
- Clean API with high-level ergonomics
Add as a submodule:
git submodule add https://github.com/LeandroLibanio28H/gdoc.gitA blazing-fast sparse set implementation with two modes:
Sparse_Set_Autoβ IDs are automatically generated. Use like a performant list.Sparse_Set_Manualβ IDs are user-defined. Great for syncing between multiple sets.
A minimal ECS built on top of sparse_set, focused on:
- Automatic entity creation via Sparse_Set_Auto
- Per-component sparse sets
- Dynamic queries over registered components
A general purpose timer utility for measuring elapsed time and triggering events.
gdoc/
βββ container/
β βββ sparse_set/
β βββ sparse_set.odin
β βββ sparse_set_private.odin #for private procedures
β βββ sparse_set_test.odin # unit tests
βββ ecs/
β βββ ecs.odin
β βββ ecs_private.odin #for private procedures
β βββ ecs_test.odin # unit tests
βββ utils/
β βββ timer/
β βββ timer.odin
β βββ timer_private.odin #for private procedures
β βββ timer_test.odin # unit tests
βββ README.md- Odin (Latest Version)
- No external dependencies
GDOC is modular and opinionated β if you're using it in your projects or want to contribute:
- Open an issue or PR
- Share your thoughts!