Gogue has come a long ways since my last update. It’s a relatively full featured Go Roguelike framework. I also moved my tutorial writing over to the wiki on the Gogue project. There is a (work in progress) tutorial found here, as well as instructions on getting setup. You can also find the source for the tutorial Roguelike created in the above mentioned tutorial here.
I’m leaving this tutorial series up for posterity, but if you’re looking for more up to date information, I highly suggest you check out Gogue!
Obviously, I never finished this. Maybe at some point I will, but for now, its incomplete. I did however, take what I learned and created a simple Roguelike library in Go, which I call Gogue. It takes most of the concepts from my tutorials here, and puts them in an easy to use library.
I am currently participating in r/roguelikedev’s ‘RoguelikeDev Does the Complete Python Tutorial’. The goal of this is to, as a group, run through the entire ‘Complete Roguelike Tutorial in Python’, from RogueBasin, written by Jotaf. This tutorial is a classic, in my opinion (and a few years ago, I took the opportunity to run through it myself, you can find my code on github), and is very well suited to new coders, or those who are looking to get a good overview of how a Roguelike is constructed.
For this project, I decided, since I have already run through the tutorial in Python, that I would learn a new language in the process. I chose Go, as I’ve been meaning to dive into it for a while. From there, I chose the excellent BearLibTerminal for my terminal display needs, as there is a Go package ready to use. I’ll be posting my progress here, as well as a weekly blog post walking through the steps I’m taking to follow along (and any interesting Go tidbits I pick up along the way).
Part 1: Setup - code
Part 2: Movement - code
Part 3: Entities and the Map - code
Part 4: A more interesting Map - code
Part 5: Field of Vision - code
Part 6: Preparing for Combat - code
Part 7: ECS Refactor - code
[Part 8: Combat] - code
[Part 9: Basic UI] - code
Sidenote 1: Cameras - code
Sidenote 2: Vim Keys and Diagonal Movement