odin-gamedev
Installation
SKILL.md
Odin Game Development
Odin-specific game architecture. The odin-design skill handles language correctness; this skill handles how to structure games idiomatically in Odin. When both fire, this skill takes precedence on game architecture; odin-design takes precedence on language syntax.
Philosophy: No-Engine Game Development
Odin + a library (Raylib, Sokol) is a complete game dev stack. You do not need an engine.
- Start simple, add complexity only when needed. Begin with a struct and a
[dynamic]array. Upgrade to a handle map when pointer stability matters. Reach for#soaonly after profiling. - Don't build a general-purpose engine — make a game. Resist the urge to design a reusable framework. Solve the problem in front of you.
- Avoid premature ECS. Start with plain structs + typed arrays. ECS is a solution to a specific cache-miss problem at scale, not a default architecture.
- Leverage Odin's built-in features. Array programming for math,
#soafor hot data,context.temp_allocatorfor frame scratch,bit_setfor flags. - Odin's zero-value initialization is a feature. Design structs so the zero value is valid (or at least safe). Fewer nil checks, simpler initialization.