Chunk Miner is a small but complete game, in less than 3200 lines of code. It is written in Odin with a focus on simplicity and readability. Source code and more information can be found on GitHub

Features

  • 3D renderer (Direct3D 11)
  • Immediate mode UI
  • Camera controller
  • Saving/Loading
  • Minimal platform abstraction layer (Windows)
    • Window creation and event handling
    • Input
    • Timer
  • Particle system
  • Gameplay logic
  • OBJ parser (3D file format)
  • 3D clipping algorithm
  • Fully arena based memory managment
  • Extensive comments
  • Little to no dependencies
  • No cruft

Dependencies

Chunk Miner is built mostly from the ground up, with some minor exceptions.
While it does not make use of popular libraries like SDL or raylib, it uses some smaller libraries from the Odin vendor package as well as the Odin core package:

  • stb_image, a small image loading library
  • miniaudio for sound
  • D3D11 (arguably not a 'real' dependency, since you have to use SOME graphics API to use accelerated graphics)