Tuesday, January 25, 2011
Avadon Developer Diary #5 - Getting It Done.
This will probably be the last developer diary for Avadon: The Black Fortress. We hope to release it for the Macintosh at the end of February. Then the process of porting it to Windows and the iPad shall commence. Of course, I could get the flu or be hit by a truck, which will alter the release schedule slightly.
The first preview of Avadon recently appeared on Inside Mac Games. There's a lot of good information there.
I've already written diaries about the origin of the game, the tone, the sorts of decisions that need to be made, and the character classes. For me, the longest, most grueling part of writing the game is making the scenario. Dungeons have to be designed. Dialogue needs to be written. Gold coins, clay pots, and spoons need to be placed. In other words, the game itself needs to be made.
That process finally ended last week, meaning that we're in the endgame. Time to wrap up all the odd details and kick the game out the door! This is what I generally call the OHGODOHGODITBURNSGETITOFFMEGETITOFFMEEEEEEEEE phase.
This process, during which everyone involved is pretty much running off fumes, has several parts: Odds and Ends, Endgame Balance, Bug Fixing, and Getting the Game Stable.
Odds and Ends
There are always lots of aggravating parts of the job of writing a game that I put off and put off. Now they can't be put off anymore. Every job I hate. Doing the sound effects. And writing the documentation (and hint book). And making the game icon, and the installer. Nothing can be delayed anymore.
A lot of this work is very important, as they determine a player's first impression. Things like the icon and the starting music and art are the first things a player will experience. These details require a lot of attention, so I work on them at a time when I can focus on them as much as possible.
For Avadon, I've put a lot of work into directing the art at the beginning of the game so that they help the player understand a complicated world, with a lot of intricate politics. The early moments of the game can't be wasted. I want to intrigue the player with the story at every possible moment.
Balancing the end of the game is particularly difficult. There are several reasons for that. First, there is a wide spread in power levels among players. The dedicated grinders and min-maxers have made characters that are about as powerful as the game allows. More casual players have characters who have fallen farther and farther behind. An encounter that is challenging to a hardcore player will be impossible for a casual player, and an encounter that is tough for a casual player is probably painfully easy for the serious player.
It's a very difficult target to hit, complicated by the fact that at least some of the epic battles at the end of the game should have some pushback to them. They should feel a little tough.
So I try to make the late game fights hard but not impossible for the more casual players. I also try to put in some optional endgame fights that are a real challenge for the toughest players. These two targets are actually tricky to hit precisely, and it requires a lot of feedback and rebalancing.
In Avadon, I want the player to be able to challenge Redbeard for control of the Black Fortress. I want this fight to be soul-crushing, but, with great skill, preparation, and luck, winnable. This is an extra-difficult target to hit. Making something almost impossible is hard. Still, I think I'm getting close.
Bug Fixing and Getting the Game Stable
Of course, this should happen. Now that the game is mostly done, I am getting to the point where everything has been tested and is basically playable. Now that I am trying to actually release the game, I am trying to get it to the most stable, functional point I possibly can.
It's tricky, because Avadon has a lot of player decisions that can make big changes in the ending. Fortunately, my industrious beta testers are doing a great job of trying out all the different possibilities.
This is actually a much more complicated process than it sounds. You see, whenever I make a change, even the most seemingly tiny, innocuous change, there is a chance that I just broke everything.
Games Are Like Giant Cubes of Jello
One of my favorite books on software development describes an unshipped piece of software as a ten by ten by ten foot cube of jello. When you finish it, it is wobbling and shaking. Then, slowly, the vibrations stop and it becomes stable. However, whenever you poke the jello, it starts to wobble again and it takes a long time to become still.
Avadon is a huge cube of jello that is wobbling like mad. As testers play it and don't find serious problems, it stops wobbling. When I make a change, any change at all, I poke it. When the jello is almost still, I go, "OK, I will release the game ... NOW!" and hope it isn't broken. This is how the process works at its best.
So fixing bugs now is a process of triage. When I get a bug report, I think, "Is this serious enough to risk fixing it, bearing in mind that my fix might completely mess up the game?" As we get closer and closer to the ship date, more and more minor issues get kicked off to the v1.0.1 release.
If you've ever wondered why games ship with bugs, this is part of the answer. There is no excuse for releasing a broken game. However, small flaws are always tolerated in order to avoid disaster. Perfection is for v1.0.4.
So Back To Work
If you've been reading these diaries, thank you! I hope I made Avadon sound interesting, and I hope the game is to your liking. It's been a very long road. I've put a lot of myself into this game, and it really is the sort of game I would want to play. Thus, if it turns out to be a failure, I'll have a lot of thinking to do.
Thanks for reading, and I'll see you on the flip side!