GoRogue Engine
A tile based game engine modeled on libtcod
About
TBC
Usage
TBC
Project Todo List
Here you will see what is left to complete before this engine is ready for sharing/production.
Scene/State Items
Each scene/game area can be considered as a scene. The stack can have scenes pushed on to it and in doing so the top most scene is the one executed during the game loop with all else effectively "paused."
- State Base
- Working Example of State system
Development of a Rendering Interface; the idea behind this is that the developer can choose the render driver, or develop one of their own. We will provide one for raylib and potentially gdamore/tcell.
- Render Base Interface
- Default Raylib Driver Implementation
- Working Example of Raylib render driver
With the Raylib driver comes the concept of Spritesheets and Tilesets. This is because Raylib will be a "Virtual console":
- Raylib Tileset
- Raylib Spritesheet
Maps & Map Generation
- Map Base
- Map Camera
- Map FOV
- Default FOV implementation (and interface)
- Map Generation Interface
- Roguelike Room Generator (example)
- Map Camera
Entities
GUI Todo Items
The GUI system will be based upon that available in afolmert/libtcod-go but modified to work with our render engine implementation.
- GUI Base
- GUI Widget Base
- Button Widget
- Radio Button Widget
- Toggle Button Widget
- Status Bar Widget
- Container Widget
- Vertical Container Widget
- Horizontal Container Widget
- Toolbar Widget
- Label Widget
- TextBox Widget
- Slider Widget
- Input Handling
- Keyboard Events
- Mouse Events
- Colour Themes
- Working Examples for all above
Credits
Libraries
The following libraries are used by GoRogue, with gratitude 💕
Developers
Special Thanks
A huge thank-you to Jice, Mingos and others for the libtcod library, Adam Folmert and others for libtcod-go; without either project this one would not exist. Another huge thank-you to /r/roguelikes and their discord community for both inspiration and help. #roguelikedev
Research
The following list of links contains all the webpages I found useful in my quest to build this library.
License
GoRogue is free software, licensed under the MIT LICENSE. We encourage forking and changing the code, hacking around with it, and experimenting.
Copyright (C) 2019-2022 the GoRogue Authors.