{"id":13569872,"url":"https://github.com/gogue-framework/gogue","last_synced_at":"2026-01-19T13:35:40.187Z","repository":{"id":144289992,"uuid":"112970618","full_name":"gogue-framework/gogue","owner":"gogue-framework","description":"A small, simple Roguelike Toolkit, based on BearLibTerminal, for developing Roguelike games in Go.","archived":false,"fork":false,"pushed_at":"2020-05-03T05:49:39.000Z","size":167,"stargazers_count":29,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-11-05T02:36:02.477Z","etag":null,"topics":["bearlibterminal","go","golang","roguelike","roguelikes"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gogue-framework.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-12-03T22:51:22.000Z","updated_at":"2024-04-02T17:02:14.000Z","dependencies_parsed_at":"2024-01-14T03:47:50.515Z","dependency_job_id":"6bb1ae01-9067-493d-8961-16628852f570","html_url":"https://github.com/gogue-framework/gogue","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gogue-framework%2Fgogue","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gogue-framework%2Fgogue/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gogue-framework%2Fgogue/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gogue-framework%2Fgogue/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gogue-framework","download_url":"https://codeload.github.com/gogue-framework/gogue/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247134416,"owners_count":20889396,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bearlibterminal","go","golang","roguelike","roguelikes"],"created_at":"2024-08-01T14:00:45.296Z","updated_at":"2026-01-19T13:35:40.146Z","avatar_url":"https://github.com/gogue-framework.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# Gogue - Roguelike toolkit for Go\n\n![Go](https://github.com/gogue-framework/gogue/workflows/Go/badge.svg?branch=master)\n[![Go Report Card](https://goreportcard.com/badge/github.com/gogue-framework/gogue)](https://goreportcard.com/report/github.com/gogue-framework/gogue)\n\nGogue 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.\nThis 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.\n\nDevelopment is on-going, so use at your own risk.\n\n## Features\n\nThis feature list is incomplete, as various pieces are still in development.\n\n- Terminal creation and management (using BearlibTerminal)\n    - Colors\n    - Easy font management\n    - Glyph rendering\n    - Input handling\n- Dynamic input registration system\n- Lightweight Entity/Component/System implementation\n- JSON data loading\n- Dynamic entity generation from JSON data\n- Map generation\n- Scrolling camera\n- Field of View (only raycasting at the moment, but more to come)\n- UI\n    - Logging\n    - Screen Management\n    - Menu system (primitive)\n- Pathfinding (A* for now, but also Djikstra Maps)\n- Djikstra Maps implementation (http://www.roguebasin.com/index.php?title=The_Incredible_Power_of_Dijkstra_Maps)\n    - Single entity maps\n    - multi-entity maps\n    - combined maps\n- Random number generation\n    - Uniform, Normal Distribution, Ranges, Weighted choices\n    - Dice rolls (normal and open ended)\n- Random name generation (WIP)\n\n... and whatever else I deem useful\n\n## Getting Started\n\nStandard Go package install - `go get github.com/gogue-framework/gogue`\n\nOr if using Modules, simply include `github.com/gogue-framework/gogue` in your project imports and build.\n\n### Prerequisites\n\nBearLibTerminal is required to use this package. You can find install instructions for various operating systems here: https://github.com/gogue-framework/gogue/wiki\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgogue-framework%2Fgogue","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgogue-framework%2Fgogue","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgogue-framework%2Fgogue/lists"}