Breakable Toys

I've been having a hard time keeping focus recently when it came to my side projects. My Android project has somewhat lost steam. After building some of it out I had simply lost interest. Perhaps in a few weeks I'll be interested in it again, but I want to keep learning instead of waiting for that motivation to come back.

After my attempt at a typing based rogue-like I decided that it's time to come back and try building one again. My focus this time is to not try anything crazy and to make a game that's playable. There are so many components to a rogue-like that I never got to experiment with or never really got to understood while working on the game I built during the Toronto Global Game Jam.

I've chosen to use the Go programming language to implement this game. My main reason is that during hack days a few months ago I was implementing a theme synchronization tool but never got a full opportunity to learn the language to it's fullest. As a result I was extremely jaded and frustrated with the language. Now that I'm in a less stressful situation now so I have time to experiment and try things. I can build something, see how it works and throw it out if I want.

I've been following the 15 steps to building a rogue-like and am around step 4 or so. Either I'm completely off, or the first steps were super straightforward given the terminal UI library I chose.

So far the map is a pretty interesting part. I've gone with a few restrictions, such as a room is only allowed to have 4 doors; one for each direction. I also took a somewhat naive approach in that my maps are represented as Trees. The nice thing about using a Tree to represent my map is I can just traverse all my nodes and render those as well. The problem though is most dungeons aren't tree-like, or at least interesting ones aren't. So moving over to a graph should be interesting, I'll just need to figure out a way to pull this off that will prevent me from getting stuck in loops. I know git is implemented as a directed acyclic graph, so maybe I can steal some ideas from there.

Next up is to actually move my character into the map and prevent them from walking over walls and all that fancy stuff.