Reclaimed Postmortem

Andy KorthApr 08, 2009

An Army of One Creates a Design Document

The initial plan for Reclaimed was fairly ambitious. Since I was an army of one, I knew I had to limit the scope of the project carefully. The goal from my original design document stated that Reclaim would “create a basic persistent multi-player online top-down tile-based game.” All that, and have it at least moderately fun to play while falling into uDevGames’ three month development time limit.

For a handful of gamers, the design document’s goal was achieved. In fact, one gamer played 41 hours, and there were at least six that played for about 13 hours. On the other hand, of the 171 people who logged in, a lot of them didn’t spend more than a minute or two online. This includes a number of my contest peers – one notably spending only 95 seconds in game! It seems that while some players enjoyed Reclaimed, others definitely did not play long enough to receive a good sense of the game. The real question is why?

Overall, my inspriation for Reclaimed was based on Dwarf Fortress, A Tale in the Desert, and various MUDs(Multi-User Dungeon). I think Reclaimed has the same sort of feel or ‘je ne sais quoi’ you’d get from these games. I maintained a focus around invention, construction, and creativity in a sandbox environment.

What Went Wrong

New player experience

Reclaimed had a few rough spots and I think one of them was the new player experience. Most contest entries were action games — with an adventure game or two in the mix. As a result, they were pretty familiar in gameplay, and easy to pick up — Reclaimed focuses on exploration and construction. It’s also possible that this genre of game doesn’t appeal to a lot of people as I received some comments to that effect. On the other hand, I think more gamers might have enjoyed the game if it had a bit more of a walkthrough. I tend to dislike forced walkthroughs, and of course, there was a time issue in successfully implementing a proper walkthrough. In hindsight, I think I was correct in focusing on other issues facing the development, though some sort of optional guided help would be essential if I took the game further.

Not enough testing

There were a few days of frantic cleanup after the game was released. As I reflect back, it was clearly a problem with a lack of play testers. One major issue was that the game was too large for many laptop screens. I released an update one week after the initial release that detected the native screen size and made a smaller window if needed. This was rather difficult as everything was hard coded at pixel coordinates — a shortcut.

Reclaimed was also inhibited by some lag issues, specifically for single players on dialup. The remaining latency issues that people experienced were really more or less impossible for me to avoid without major re-work to the code base — an issue I realized as the project progressed. I was pretty familiar with the issues around lag, and the amount of work needed to do some sort of client side prediction. For the foreseeable future, this is just way too much work. On the other hand, I probably should have made some time to test on a remote system. There were also some bugs that seemed to be related to multiple players running around. Infrequent things like crashes that occurred when one player logged out while another was talking on the global chat channel, or while the world was being saved.

Obviously I should have realized these issues existed in the early stages of development. The experience has impressed upon me the importance of testing early in development, and to test with more systems, not just the single one-player version connected to a localhost.

What Went Right

Player created content

I knew I wouldn’t have the time, or creativity, to make a large and interesting world, so right away I wanted to put the tools in the player’s hands. This was an enormous success! In just a few days, players were surprising me with their content. Someone set up a maze, a mushroom museum (by gathering one of each type of mushroom), and then an apple restaurant. The addition of signs made a great difference! People began labeling their creations with descriptive names, and adding directions to points of interest. A gamer even made a few tutorials by writing on signs!

The user content led to a zoo, with hilarious descriptions of the creatures that were captured. Such additions made me disappointed that more players didn’t dive deeper into the game as user content really expanded the gameplay. Other notable player content included: a floating fortress, a castle, a pyramid, a floating inn, a boat, and an enchanted forest — complete with a wishing well. A group of players got together and built a small town, complete with named streets and an irrigated farm. The cooperation and ingenuity really impressed me. Players had a blast exploring other gamers’ creations and showing off their own to the world.

Development time

There was solid progress throughout the contest period as my strategy was to focus on getting the game in a rough and playable state. I’d cycle through one feature at a time, returning to it later to optimize it. I adhered to important and high impact items.

One key for me was choosing a project I really wanted to work on. A simpler project like a trading simulation might have gotten more finished, but I would not have enjoyed it as much. When you don’t enjoy working on a project, you tend to get stuck. I was able to avoid a lot of that. Once I had players running around in the world, my motivation increased enormously. Talking to these players who loved the game was extremely rewarding and encouraging.

Asset usage

Personally, I am not an artist and spending a lot of time drawing things might have eventually paid off, but it would have taken too long. I think using the public domain and Danc’s assets I had on hand was a good decision. It allowed me to focus on what I had to code. In the past, I was held up on graphic assets that didn’t match. Above all, I didn’t let the lack of assets hold me back in this project, though I did base development on available art. In some cases this was good — I didn’t care what kind of creatures ran around — if had a demon graphic, in it went.

Tool and language choice

Much to the surprise of my fellow developers, I wrote both the server and client of Reclaimed in Java. Part of the reason was due to my desire to break from the dynamically typed languages that I had been using, mostly Ruby. I was also curious if Mac users could spot the difference in a desktop Mac game that was written in Java — I suspect most people didn’t notice. Java also provided cross-platform compatability with only a few days of work.

My IDE is Eclipse, a popular IDE used by Java programmers that is also available for most popular languages. Eclipse worked great for me since I was very familiar with the tool. I feel much more capable when I have a good IDE in a statically typed language. When I write code in a plain text editor, I feel like I’m screwing in screws by hand, not with the power drill I have come to love. The screws get in either way, one just seems more troublesome.

Impressions of uDevGames 2008

It would have been valuable to have worked in a team environment with dedicated artists and musicians. However, with some bitter experiences in the past, I tend to enjoy working alone on my game projects. It’s always interesting to see how far a coder can get on their own, a bit like the programmers of the 8-bit era. Overall, I consider Reclaimed a success. It didn’t rank very high, however I don’t think that its final scores was unjust, either.

At a risk of sounding like I’m rationalizing my low scores, I’m going to elaborate a tiny bit on making a game that’s good for a programming contest. Most voters are going to play your game for a few minutes, then ponder your category scores. uDevGames’ categories include: gameplay, graphics, audio, story, presentation, and originality. Obviously, Reclaimed didn’t excel in any of these categories, though its overall score was respectable. In fact, I don’t disagree with the scores I garnered. Graphically, Reclaimed had virtually no flash or flair — the graphics get the point across and not much more, and there’s no sound other than the intro music. The story wasn’t bad, but it also wasn’t integrated into the game. Part of that was a lack of original and relevant graphics. However, I also should have added a quest or two. Though, I think a lot of people were really impressed and had fun with the game, so overall I am happy with it.

uDevGames 2011

Convergence — Best Gameplay
Kung Fu Killforce — Best Overall Game, Best Audio, Best Presentation
Flying Sweeden — Best Graphics, Most Original
Time Goat — Best Story