# Overview Thanatograph is a dungeon crawler with permadeath where every failed attempt becomes part of the next run. See [core idea](/docs/pitch.md#core-idea) for more. It is built in Odin + Raylib using fixed-time step simulation. - [pitch for high level](/docs/pitch) - [tickets for progress tracking](/docs/tickets) - [development path for high level roadmap](/docs/development_path.md) Game architecture is broken into: - Main game in [game](/src/game) - Simulation framework in [sim](/src/sim) - Library glue code in [lib](/src/lib) ## Performance Performance is paramount. This project by necessity is going to be very compute heavy, given the way that we're handling echoes and deterministic, replayable gameplay. For that to work at 60hz, we need to be always keeping in mind performance techniques, both for memory and speed. We should always be preferring simple, readable code that doesn't deopt. Simple loops. Careful memory management. We should be writing code that will work well with performance awareness: - SIMD - CPU cache - Parallelization This requires upfront thinking and consideration as we build out, especially for core systems. ## Notes - Use jujutsu (jj) for version control - Prefer literate programming styles (code should be readable and comments help tell the why/how alongside the code) ## External References [Odin documentation](https://odin-lang.org/docs/overview/)