Forbidden Lore Design Diary #1: The Foundation

Many years ago, a friend of mine set aside a ton of money so he could take a year off of work and make a go of it as a game developer. He failed. I’m pretty sure a big part of the reason he failed was that he insisted on creating every aspect of his game from the ground up, and … you guys, programming is REALLY hard. Unless you’re doing something absolutely rudimentary, you want to minimize the amount of actual work you have to do yourself.

So that’s my first decision: what am I going to base my game off of? I could dig around for some open source game that kinda sorta does what I want to do and start modding it, but I feel like that may be farming-out TOO much of the work. I feel like too much of the game is going to be opaque to me (unless I take the time to dig DEEP into the code base), and I feel like I could find the existing code working against me just as easily as it works for me. Besides, if this starts getting good, I don’t want it to be “It’s a reskinned TuxDungeon: Dragon Slappers but with a cool skill tree.” I don’t want to create the fucking thing from scratch, but at the same time, I want it to be fundamentally MINE.

This is what led me to the conclusion that Forbidden Lore is going to be a roguelike. Smoking procedurally-generated monstrosities in a procedurally-generated world is roguelikes’ core skillset. The graphics tend to be dirt simple, which is good, given that I have no faith in my artistic skill and would just have to buy or commission any unique visual elements anyway.

I poked around a bit and found r/roguelikedev, which makes me absolutely feel like building Forbidden Lore as a roguelike is indeed the correct decision. Here’s an entire community of devs! These people have contests where they build a game in seven days! There’s even a tutorial on how to build a game from a common toolset!

This looks like exactly what I’m looking for.

So. Looks like there’s a tool called tcod that provides a shitload of relevant functionality. It’s written in Python. I do not know Python. This does not daunt me; I’ve been a code monkey for 25 years, and I’ve heard Python is a perfectly good language. Time to learn me some Python.

My personal machine a Windows 10 laptop I purchased a few years back; should be a perfectly good dev environment. Doesn’t come with Python on it, but I don’t expect installing it to be too much trouble.

My favorite IDE is Eclipse. I’m sure there are better ones out there, but it’s the one I’m familiar with, and I know (generally) how to make it work with a relative minimum of wrestling. Beats vim. Quite certain there’s a Python plugin for it.

That tutorial seems to have a pretty solid list of all the things I’m going to need to put in place before I get to work.

Right. Let’s install some shit.