This is a basic roguelike implemented in Go for learning purposes. This implementation follows Roguebasin route map on how to write a Roguelike in 15 steps.
- Go 1.19
- Ebitengine for windows managing, 2D graphics, text rendering, inputs (mouse & keyboard), audio, etc.
- bytearena/ecs for the Go implementation of the Entity/Component/System paradigm.
This game uses Kenney's Tiny Dungeon tiles.
- Project structure
- Basic MapTiles
- Adding ECS capabilities
- Collisions with walls
- Rooms
- Corridors
- Turn based
- Field of View
- Monsters
- Monsters Pathfinding
- Basic combat
- UI
- Player HUD
The GameMap holds all the information for the entire world. The hierarchy is as follows:
- A GameMap is a collection of Dungeons
- A Dungeon is a collection of Levels
- A Level is a collection of MapTiles
- A MapTile is a slice of tiles
- A Level is a collection of MapTiles
- A Dungeon is a collection of Levels
