Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gogue-framework/gogue
A small, simple Roguelike Toolkit, based on BearLibTerminal, for developing Roguelike games in Go.
https://github.com/gogue-framework/gogue
bearlibterminal go golang roguelike roguelikes
Last synced: about 6 hours ago
JSON representation
A small, simple Roguelike Toolkit, based on BearLibTerminal, for developing Roguelike games in Go.
- Host: GitHub
- URL: https://github.com/gogue-framework/gogue
- Owner: gogue-framework
- Created: 2017-12-03T22:51:22.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2020-05-03T05:49:39.000Z (over 4 years ago)
- Last Synced: 2024-08-02T14:07:36.782Z (3 months ago)
- Topics: bearlibterminal, go, golang, roguelike, roguelikes
- Language: Go
- Size: 163 KB
- Stars: 29
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Gogue - Roguelike toolkit for Go
![Go](https://github.com/gogue-framework/gogue/workflows/Go/badge.svg?branch=master)
[![Go Report Card](https://goreportcard.com/badge/github.com/gogue-framework/gogue)](https://goreportcard.com/report/github.com/gogue-framework/gogue)Gogue aims to create a simple to use toolkit for creating Roguelike games in the Go language. It uses BearLibTerminal for rendering, so that will be required to use the toolkit.
This is by no means a complete toolkit, but its got (and will have) a bunch of things I've found handy for building roguelikes. Hopefully someone else finds them handy as well.Development is on-going, so use at your own risk.
## Features
This feature list is incomplete, as various pieces are still in development.
- Terminal creation and management (using BearlibTerminal)
- Colors
- Easy font management
- Glyph rendering
- Input handling
- Dynamic input registration system
- Lightweight Entity/Component/System implementation
- JSON data loading
- Dynamic entity generation from JSON data
- Map generation
- Scrolling camera
- Field of View (only raycasting at the moment, but more to come)
- UI
- Logging
- Screen Management
- Menu system (primitive)
- Pathfinding (A* for now, but also Djikstra Maps)
- Djikstra Maps implementation (http://www.roguebasin.com/index.php?title=The_Incredible_Power_of_Dijkstra_Maps)
- Single entity maps
- multi-entity maps
- combined maps
- Random number generation
- Uniform, Normal Distribution, Ranges, Weighted choices
- Dice rolls (normal and open ended)
- Random name generation (WIP)... and whatever else I deem useful
## Getting Started
Standard Go package install - `go get github.com/gogue-framework/gogue`
Or if using Modules, simply include `github.com/gogue-framework/gogue` in your project imports and build.
### Prerequisites
BearLibTerminal is required to use this package. You can find install instructions for various operating systems here: https://github.com/gogue-framework/gogue/wiki