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.

Endgame Balance

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!

Wednesday, January 5, 2011

Three Reasons Creators Should Never Read Their Forums

If I have learned anything from writing Indie games for a living for fifteen years (and there are plenty who would say that I haven't), it is that it is usually a bad idea for creators to visit online forums discussing them and their work. It doesn't lead to happy ends.

This is why big, smart companies with actual budgets hire community people who do nothing but deal with and sift through forums. Managing fans is real work, and picking out the realistic and worthwhile comments takes a ton of time and judgment. That is why smart companies put a layer between the fans and the creators. If you don't have this layer, you should keep a safe, respectful distance.

It's a pity. My company, Spiderweb Software, has a really awesome, active online forum. Been there for years. Always active, full of all sorts of discussions. However, unless I've just released a game and are looking for signs of early, evil bugs, I have to stay away from it.

Some of my fans really resent this and take it personally, and they haven't been shy about letting me know. But if you've ever wondered why the creators of your beloved games often avoid the forums (especially the Word of Warcraft forums, Yeesh!), this might help you to understand why.

1. It's Not Productive To Read How Much People Hate You

It's been said that, if you want a healthy marriage, you have to say five kind things for every unkind thing. It is in our nature to gloss over and ignore kind words, but to really fixate on and get affected by unkind ones. This is why Facebook will never have a Don't Like button. If you see "Joe likes your post," well, fine. If the average online denizen see "Joe doesn't like this," he or she will probably freak out.

Which brings us to forums.

A few years ago, I wrote an article for IGN about how I felt that Indie games were far from the only source of innovation, and the big companies don't get enough credit for trying to make innovative things. Slashdot was kind enough to link to it. Someone might agree or disagree with me. Fine. But someone wrote this ...

"This is the kind of commentary I'd expect out of a cynical independent ripoff artist in action, really. You know, the kind of person who is too afraid and closed-minded to try anything new, partly because he doesn't want to lose his money or reputation - a sound judgement - and partly because he just doesn't seem to want to try. ...  In other words, nothing to see here. Just near-mindless droning from another cynic with a rather skewed and defeated view of the gaming world."

WHOA! DUDE! What did I ever do to you? Did I run over your dog? Make out with your mom? Go to where you work and mess up the settings on the fry vat? Damn!

Now, I thought that one was pretty funny. I sent links to it to my friends, saying, "Hey! Look what people REALLY think of me!" Over the years, I've developed a pretty thick skin. And yet, if you read lots of people dumping on you, unless you have super-human emotional control, it's eventually going to get to you. Sometimes I'll get weak and look at a forum and see some nasty cheap shot and it'll throw me off my game for hours.

Remember, as Penny Arcade put it (in a far superior and NSFW way), anonymity plus audience makes assholes. (And, for what it's worth, the creators of Penny Arcade don't read their forums either.)

It's a little different on my company's forums. But only a little. Even though it is mainly populated by my fans, it is still full of shots at my design skill, game quality, virility, and facial complexion. Remember, there's a thin line between love and hate. Nobody will lash out at you like a disappointed fan.

When I read the forums for, say, World of Warcraft or xkcd, I'm always amazed at how nasty things get. It makes me think, "If you hate it so much, why are you there?" But that's just the way it is, and excess exposure to insults can really get under your skin, make you doubt yourself, and interfere with your work. It's very sad, but you sometimes need to just protect yourself by staying away. Keep your brain clean.

2. It's Not Going To Be Helpful

It seems like reading forums would be a good way to get design ideas and learn ways to improve your games. With the exception of learning about bugs, this is usually not the case.

It can be tempting, when you're stuck designing a game, to read forums and look for feedback. The problem is this. No matter what the question is, there are people who will advocate strongly for both sides of it. Many of these people reflexively hate change. Many of these people are only happy if the game is much harder (or much easier). Some of them will not, in fact, have a realistic idea about anything. Often, there are issues where intelligent people can come to opposite conclusions, and you can read thousands of furious posts on either side of the issue without getting an inch closer to an actual decision.

Forums contain a cacophony of people telling you to do diametrically opposite things, very loudly, often for bad reasons. There will be plenty of good ideas, but picking them out from the bad ones is unreliable and a lot of work. If you try to make too many people happy at once, you will drive yourself mad. You have to be very, very careful who you let into your head.

Of course, it is still very important for designers to get lots of good, constructive criticism. That is why I have built up an elite cadre of awesome beta testers and interested friends, and I listen to them very closely. And, I must point out, many of those testers were recruited from my forums. You just need to choose carefully the people you ask for advice.

3. You Might Get Suckered Into Getting Angry

Not much to say about this. If you read forums for long enough, you will read a lot of nasty comments and cheap shots. If you read enough cheap shots, you'll get angry. If you are angry enough, you will eventually lash out and flame back.

Snapping angrily at your customers never, ever leads to good results.

One Final Comment

I'm sure some of my fellow Indie developers are reading this and shaking their heads at my idiocy. A lot of developers do maintain close relationships with their forums. It works for them, for now. I'm glad for them, and I hope it keeps working.

Just bear this in mind. When you start out and gain your first following, you get a grace period. You're a fresh face, making awesome new things. Everyone loves you. And, most importantly, you haven't had a chance to start disappointing chunks of your fan base yet.

The longer you are active, the more of your fans will turn on you, justified or not.

And, if you are a member of my forums reading this, know this. I love you guys. The idea that anyone wants to discuss my work at all, even to dump on it, is insanely flattering. I just hope that this makes clearer the instincts of efficiency and self-preservation that lead me to keep a little bit of distance.

Edit: Changed "think skin" to "thick skin."