It’s time for another update and this time I figured it would make sense to post it here on my shiny new WordPress site. I’d decided that if I’m going to be posting about a specific game, that I’d give that its own space. My existing blog over at erickveil.net tends to be more technical, and have articles about obscure programming and configuring things I’ve learned. While there would be some overlap between the two audience interests, I believe that overlap would be insignificant in size.
In addition, once I’d settled on a name for the game, and also found that nobody had parked the domain, I felt it would be a good idea to snatch it up before some automated web crawler under the malicious command of the Internet’s nefarious domain jumpers snooped out my intent. I’m not in the habit of registering domains for all of my projects, but it was on the list of tasks I’d wanted to achieve for this one anyway.
So, since we’re new here, let me provide a quick recap: The goal here is to actually finish a game. I’ve been programming games for a little over 30 years now, and that’s counting when I started as a child. In all that time, I’ve finished exactly zero games. That is because finishing was never the goal of these projects. The goal has always been to have fun programming. To dream and tinker. To relax and sling code without care or the pressures of requirements. You will often be warned away from such practice, but I’ve learned so much in the process of doing things wrong, much more than I would if I listened to everybody who is afraid of failure. I learn a lot from messing things up, and programming my own games allows me to mess up and not have it be on someone else’s dime. The difference this time is that the goal is to finish.
This game, Sverdheim, has its roots in that first game I worked on at the age of 12 on a Commodore 64. These days, such games are called “Roguelikes”. When the idea stared back in the 80’s, we just called them adventure games, or CRPGs.
In order to “finish” this game, I’m stepping away from my usual meandering and tinkering, and have set up clear goals of what finished means. There is a short list of features and functionality in place, and I am rigidly adhering to that list. As new ideas come in (and they always come, in large numbers), they go on another list. They are not abandoned, but perhaps they will be implemented later, after we have finished.
Along the way there are other features and functionality that pop up that are not just neat ideas, but make themselves apparent that they are essential even though I had not thought of them on the outset. This is a part of every programming project I’ve worked on. It is impossible to imagine every possible necessity up front, and it is foolish to ignore them as they arise. The art is determining the difference between the critical features that need to be added, and the ones that can be put off as they threaten to move your goal ever away from your reach. One type often disguises itself as the other.
I have much more to talk about, and that is good, since it will give me more blog topics to cover. Like the feature list, I must resist the urge to post it all here at once. That would result in one of those huge articles that nobody ever reads completely, and thus becomes a waste of everybody’s time. Even here, we must focus on the finish line.
Until the next post, I will leave you with the latest pre-release of Sverdheim. It is a work in progress still, filled with bugs and unbalance. But it provides an idea of what I am moving towards.