Friday, August 21, 2009

Success and Failure

“I have not failed. I’ve just found 10,000 ways that won’t work.” –Thomas Edison

I've failed at creating this project countless times. Okay, not countless but certainly more than a dozen. I've been working on and off on this game since around the turn of the century and it's gone through many iterations. It's always been a multi-player game but it started as a game where you created your race in prehistoric times and raised them to a technological level high enough to reach space while conquering your world, then in space you tried to conquer your neighbors. I had a problem with this, though; this type of game is easy to work-out if you are playing by yourself (i.e. vs machine) however when you involve other players how do you resolve the timeline?

Let me explain better; technological advancement in early history took place on a scale of centuries. In modern times it takes place in decades or even sooner. How do you scale this with other players? One player may have spent all of their time being aggressive with their planetary neighbors and could be centuries behind the other players. I had two solutions to this but neither seemed 'good' enough ... I could reward the player whom first reached space, then have the entire game change to a 'modern' mode. I could also ignore the time scale and let the slow pokes be rewarded by being conquered by astronauts while they're still learning how to properly wear a business suit. The first solution sucks because I would basically be creating two games! May as well just skip the entire prehistoric period then. Ultimately I did exactly this. The second solution sucks players would be abandoning their game positions once they found out someone got into space.

I also initially had a very complex alien race creator system - you could choose what kind of vision your race had, sensory enhancements, how many legs and arms they had as well as where they were positioned ... etc. Once I actually started turning my ideas into numbers and specific aspects of gameplay were worked out I realized that much of how you created your character had no impact on gameplay. For example, _where_ the races arms weren't as important as how many or what type they were. Some ideas stayed around as 'specializations' you can pick at the end of race creation but for the most part what you choose will directly impact the game. I may add a paper-cutout system later so players can assemble an appearance for their race but for now players will have to use their imagination or upload their own picture.

Where did the failures come in? From the very beginning I've tried to get the game from my notes to software but a constantly changing design document has foiled it. I guess maybe they're not failures as much as their just revisions forced upon me by reality. Initially my design document was enormous, probably forty or fifty pages of descriptions of gameplay and lists of abilities and such. As soon as I tried to turn it into code I ran into my first wall - a lot of my descriptions were pretty vague. I eventually settled upon a system in which I rewrote the entire game, pretending I was targeting the board game market. This helped enormously as it forced me to quantize every aspect of gameplay and determine the order in which events happened. This did take over two years, though.

The second major failure was my inability to choose a language or platform to run it upon. I've gone from C# to Perl to Java and finally settled upon AJAX and python as the back end. In the process I've learned a lot about program architecture and the game has gone from a bunch of C# asp pages to a javascript/AJAX client and python back end. I'm going to write an API for communicating with the game and assume from the get-go that the client cant' be trusted. I'll let anyone write a client for the game, though, and it's conceivable that someone could write a windows application for it or automate some of their gameplay and it won't bother me; assuming scripting and automation from the get-go makes me think harder about how gameplay will actually work out. It's a good thing.

It's taken a long time but I'm happy with how the whole process has gone and my current results. Hell, it's improved my office work as well as my personal life; I think more about what is essential and think ahead further about what the results of my action will be for both myself and others.

Tuesday, August 4, 2009

Guru's Icings

One of my long-time friends just signed up for Twitter. I told him that will make him a twat like the rest of us whom joined. Near the end of the sign-up you have to match the captcha text and his phrase was 'guru's icings'. What an excellent name! Would that make a great band name? I got my email address from a 1995 AOL password (fondue daredevil) and was sad when AOL stopped sending the discs because that meant I no longer had a terrific resource for bizarre names.

I supposed I could just write a random dictionary app which pairs up words for you ...

Monday, July 27, 2009

Addendum

It's a browser played game, btw, and the name of this blog.

I update with a description of the game and game play and design philosophy later.

Purpose

I love space and spaceflight. My first book report was a biography of Werner Von Braun, one of the founders of modern spaceflight and NASA. I was addicted to Star Trek in the early 70s, later on Battlestar Galactica, then Star Wars, and so on. I've always wanted to participate in these Universes but understood it was all fantasy. When personal computers made a huge splash in my teenage years became addicted to adventure games. I could never afford a PC but had friends with Commodore 64's and would spend hours sitting around at their house BSing with them and suggesting things for their party of adventurers to do.

When I finally got my own PC the first thing I did was write a Haunted House adventure game in BASIC; initially it had nearly 100 rooms but I discovered the limitations of the hardware and ultimately fleshed-out 30 rooms (plus six outdoor areas). The whole process was a real learning experience and the outcome was incredibly rewarding but I've never programmed a computer game since then.

I graduated from College with a degree in Software Engineering. Between the time I created the Haunted House game and I got my degree I had hundreds of ideas for games. I would put them down on paper, writing them as if they were board games. The idea was that if I could create a board game with rules they and the game play could be easily translated to software. I got this idea while creating my Haunted House game back in the early '80s (yes, I'm that old); at one point while writing the Haunted House game I became stuck with the game mechanics - I found that if I drew a map of the Haunted House and wrote the rules out on paper I could refer back to it easier when writing code. I ended up using chess pieces as the players and monsters and pennies to represent memory. The Tandy MC-10 didn't allow too many pennies ...

So I have this folder full of game ideas. Some are very elaborate and spanning multiple pages, others just a single page with the ideas writing down like a grocery list. I haven't won the lottery but I've also not created a game in nearly three decades. Why not go through the list create something? What have I got to lose? So we finally come to the purpose of this blog;

I'm going to use this blog as a status report on creating my game. I'll also probably post things related to its creation such as theories on solar system formation and such (yes, it's a space game). I've already described the game to a few people and much to my surprise the first thing nearly everyone says is, "You're making Master of Orion?" I've never played the game. Since I've gotten such a universal response from people I've decided to avoid plagiarism I'd continue this 'tradition' and purposefully avoid playing it.

Here we are, day one.

Friday, July 24, 2009

First Post!

I've created a blog (again)! What hath blogger wrought?