Where do you start writing a post mortem for a project that has been an indispensable part of your life for the last 3 years? Maybe let’s start here: for those unfamiliar with the term, what is a post mortem report anyways? A Post Mortem is typically written up at the end of a (software) project to analyse what went wrong and what went right during the project’s lifespan, and ideally, what can be done in the future to avoid the things that went wrong. Typically they’re for internal purposes and are never shared with a wider audience. I’m personally a big fan of post mortem reports that are publicized, because why would you make the same mistakes other people made? I realize the whole story of Age of Empires II: The Forgotten (from here on referenced to as AoF) is not the everyday production flow of a game, but we learned a bunch of valuable lessons along the road which undoubtedly apply to a lot of smaller devs out there.

This post mortem focuses on the story from the side of the FE team, being us. Not on Microsoft or Skybox Labs, or any of the other partners who helped develop the game.

Age of Empires II HD: The Forgotten

Scrappy modding

For those unfamiliar with the story behind AoF, it all started out as messing around with some modding tools. The game was relatively untouched for over a decade, some small fan-patches here and there and nice modding projects were being created, but the time was right for more. Many of the kids that grew up with AoE2 are now in their early or mid-twenties. They are fresh out of college and armed with time, knowledge and nostalgia: a perfect combination in a still (surprisingly) vivid community. They would start to work on independent projects, small patches and hacks to the original game. It is in this environment AoF started as well.

However, there was one key difference between myself and all the other people working on those projects. I wouldn’t call myself a good coder. What those guys did with hacks and patches seemed magic to me. I wouldn’t call myself a good 3D artist, I would be in awe on the quality of their graphics and their ability to make it fit with the existing, decade old art in AoE2. But, everyone was working on their own things. So, many awesome things were being built, but they had a limited audience while they deserved more.

Before continuing, I’d like to tell a little anecdote. When I was in university, we had a class “Business informatics”, it was a class at 7:30 in the morning with incredibly low attendance. Although I despised the early hour as well, the dry humour of the professor made well up for it. I don’t remember that much from the course except one line, which somehow stuck to me: “Buy the best, build the rest”. This one sentence can be applied to oh-so-many circumstances in IT. It’s essentially an economical twist to the saying “Don’t reinvent the wheel”. Applied to game design, this can answer a very common question: “Should I write my own engine from scratch?”,  In the time of indie games and the seemingly unlimited range of engines on offer, the answer to that question is “probably not”, unless you have a very good reason to.

Picking up where we left, this is exactly what we tried to do throughout AoF. And also the reason it worked out in the end. Of course, it being a modding project, you already have an engine, do you really have a choice? No, you don’t. However, that one line can be applied in more ways.

Good people

“Buy the best, build the rest”. Buying doesn’t only apply to money, it applies to time as well. Why would I mess around for hours with no end in Blender if I know a guy who is more than willing to help out? It’s a win-win situation right? Yes and no. We went through loads of people who helped out a little bit. Many loose promises that eventually turned out to be nothing more than that. But in the end you’ll find some good people who will stick around. With whom you can continue and have faith in their ability to finish up the job. Cherish them, they’re awesome.

Elephant_model

The 3D model that eventually became the Elephant archer, made by Yan.

It must be said, at this stage, we’re still working on a modding project. We have no real deadlines, if a certain graphic isn’t made within the next few months, it’s not even a problem. But feature-creep is luring around the corner and the project caught the attention from more and more people. Let’s talk.

Communication is key.

There’s no such thing as too much talking. Okay, there is, but in computer science circles, being “talkative” is on a different level than amongst hairdressers. As a project grows, a lot of overhead is created by ensuring the right information gets to the right people. When the campaign designer requests a new unit, the game designer will have to think it up and make it so it fits well in the rest of the game. This then needs to be communicated to the graphics artists and in some cases, the sound fx guy. Eventually the game must also be able to handle the new unit in AI scripts, so now the programmer and AI scripters are involved. That’s 6 people for what’s essentially a small addition to the game.

Elephants_environment

The huntable elephant, one of the many units to be worked on by at least 6 people before appearing into the game. (Figure excludes translation & testing)

This is where we made the largest mistake early on. We had absolutely no way to direct our communication. We talked to each other in various forums, some scattered mails, personal messages and what-not. We even set up a Google Docs to streamline our ideas (guess what, that didn’t work). It’s even quite incredible that in this age of modern communication, we made such a mess early on. Eventually, we found the answer in having our own private forums. Simple, but a great way to ensure that at least everyone has a chance to see what others are up to.

As the project grew larger and more people got involved, this proved to be not nearly enough though. And it was probably one of the biggest problems in the project all the way till the end. At a certain point, translators joined the project. This meant that if a change was made, no matter how small, it would have to be communicated to 10 different people. If something is unclear, it must be cleared out to all of them.

Time for an anecdote again! When I started the project on a lazy Sunday afternoon, I was still working as a bartender in an Italian restaurant. Not the most rewarding job, but being a college drop-out, it was a good way to realize how I screwed up. On the plus side, it gave me a lot of time to work on AoF. However, midway the project, I found a job as a game tester for Nintendo. It was my first full-time job and I had to move to a different country for it! Awesome! And really, it was, but it put a serious halt on AoF. I could barely commit to the game as I didn’t want to pass up opportunities meeting new people. We were still moving, but weren’t really moving anywhere, we had no real direction.

All together now

You might have noticed most of the previous paragraphs had loose ends. This is not because of my lousy story telling abilities (it might very well be though), but it’s because all those things pretty much happened at the same time. I was in a new country with a new job, with little time on my hands, trying to organize a bunch of people that were never given a properly organized project in the first place. Combined with no oversight, no clear goal and a growing number of people with growing expectations. It’s all too much. (That is the 2nd Beatles reference in this paragraph).

So, where did this all go wrong? Mainly with yours truly, it started out as a one man project, and in some perspectives, it was still treated as such. I had difficulties giving responsibilities away, which in hindsight, was a grave mistake. I did all the data-editing and while easy, is a time-consuming enterprise. “Easy yet time-consuming”. That’s actually a key phrase in what goes wrong in so many software projects and we almost had the same problem, it’s more known as feature creep. While adding a new civ to the game at this stage of the project, would technically be easy, it would be a whole lot of work. Easy, yet time consuming. We did however realize in time we were going this way and I quickly started to lock down items on our todo list. No more new animals, no more new techs, no more new campaign projects. In hindsight, the best decision to actually get the game done, instead of being stuck with an unfinished project with huge potential.

scrapped_animals

The White Tiger, Varan and Pig. All nice animals which were scrapped in the process. They were easy, yet time-consuming.

 

I had no experience in managing a project this large, but was learning along the way. However, the worst had yet to come.

We’re almost there…

The most asked question we received was “when will it be released”? Right off the bat my answer was “2012”. I started to give this answer in 2011, that gave us more than a year, more than enough, right? Hell no. All the above mentioned problems stacked up. The campaigns were barely finished, many graphics were missing and quite a few of the assets we used were just not up to par. Who do I blame for all this? No one, but maybe myself.

Once things go wrong, you can easily start playing the blame game. I’ve seen many projects fall apart like this, unnecessarily even. I could blame that one sound designer for not delivering the promised files in time. Or I could blame myself for getting that guy on the team in the first place. Who is to blame? Or even better, does it even matter who is to blame? All that matters in the end is that people get to play an enjoyable game. Seriously, don’t waste your time on who is the reason for a failure, try to fix the failure instead (in this specific case, I ran to the store, bought myself a decent microphone and did the missing voice acting myself, this is still in the game today), it’s all that matters in the end. You could analyse the failures in a post mortem afterwards anyways.

Mod release

There was however, one thing we didn’t count on. A massive miscalculation, literally. And that’s the power of AoE2. The game is incredibly popular, it has been for over a decade and will stay like that for a long time coming. Our estimates were that we would hit around 20 000 – 50 000 downloads. These estimates were based on a combination of the size of the multiplayer community combined with people who would dust off their old disks once they saw the community made a new expansion.

It turned out to be much more than that, the first hour we already hit that amount of downloads. And although this is awesome, it also drove us into a very nasty situation. Our webhost didn’t like this and cut us off. It was release day, the days between Christmas and New Year’s and we had literally ten thousands of fans and our website was down. Easily the most stressful night in my life at that stage. Mirrors started to turn up in matters of minutes, some delivered borked up versions of the game and we had no control over it.

There’s 2 things we learned from this: one we did right, one we did wrong. The wrong part was the website not being up to par, we had no CDN enabled and we simply had no plan B. The good thing was, we had a Facebook page. We could tell ten thousand fans at once what the problem was and send them to a truthful mirrored download of the game. Far from ideal, but it worked.

Between a rock and a hard place

We did it, we brought out a mod and more than 200 000 people already downloaded it. It was an awesome feeling, but a new, unexpected variable showed up on the horizon. Age of Empires II HD. Microsoft was going to re-release the game on Steam, adding their own features to bring the game into the 21st century. This put us into a weird situation, we were well aware that we could not port our mod to the HD version, it was simply impossible. On the other hand we were extremely thrilled the game would receive official support again. So we went ahead and contacted Microsoft, asking them if they were interested into turning the mod into an official Expansion pack for HD. After many months, we were green-lit by all relevant MS departments and we started to work on porting the project to HD.

Now, we ran into a lot of problems, including old problems that now popped up again. First and foremost: how can you turn a previously free mod project into a paid product? The answer was quite simple, we had to make a lot of new content and polish the previously made additions. By this time, we actually had a decent team set up with people who were dedicated to get the job done. We learned a lot from our previous organizational muck-ups, but a lot of new challenges arose.

Microsoft

First and foremost, I would like to send out my compliments to the producers at Microsoft we had to work with. No matter what people think of MS, the people working there, or at least, the ones were in touch with are just normal people like you and me who want to make a nice product for their customers. That being said, working with a big company like MS is intimidating. No matter what.

But we could have prepared ourselves better. Not because we were about to work with a major company… no, there are things you need to do for everything with even the slightest chance of income involved. Time to lawyer up and start a company!

Working with MS required us to set up a company. MS can do business with individuals, but it makes things so much more complicated. In hindsight, forming a company should’ve happened a bit earlier, but it still saved us a bunch of hassle. If you are thinking to monetize your projects in any way, do set up a small company. In the USA a small LLC doesn’t need to cost a whole lot and if things get serious, it will save you a lot in the long run.

Working with MS required us to sign NDAs, obviously, but it also meant we had to get everyone involved from now on under NDA. Our cooperation was still a secret at this stage, so our previously open approach towards the community was completely hollowed out. It was a brutal change and PR wise, wasn’t easy to cope with.

However, we had a bigger issue. Literally dozens of people made a contribution to the game, some in small ways by just writing up a paragraph in the history section. But now we need the official permission of all those people to sign their stuff over. Most were totally cool with this, but it wouldn’t be in his post mortem if it was smooth all the way. A few people smelled money and asked rather outrageous fees for essentially small contributions to the game. Which led us to remove their contributions and redoing them, all unexpected and time consuming.

However, lesson learnt and from this point on we would be open towards all contributors on the situation, their rights and what to expect financially. If we somehow mucked up, we would talk it through. And also very important: for every little contribution to the game, we would hand out “assignment agreements” from now on, so we can legally use their contributions in the game without hassle. It doesn’t matter if were were helped by a friend or a complete stranger, we would always do the paperwork. After all, paperwork is just a formalization of an agreement. Pretty much just “trust on paper”. If someone doesn’t want to do that, there’s probably something fishy going on.

All the people, so many people…

AoE2 is huge. As the project went on, we got mails, everyday, with requests to add certain items to the game. And although there were many reasonable requests, it was simply impossible to honour them. Feature creep is scary but we managed quite well in holding it off. One thing we lacked for the longest time though was someone to manage that feedback properly. Heck, while looking through my mailbox the other day, I found some unanswered emails back when the project started, filled with potential awesomeness, but they were just drowned out by the other mails and the fact we didn’t really have anyone to sort through them. And that’s a grave mistake, if someone takes the time to send you a mail, they expect an answer. It doesn’t matter if you have no time to answer them, they’re the fans and they like what you’re making. We had a lot of feedback that went… nowhere. Even when it was directly sent to my personal mailbox, it often drowned into the seemingly endless flood of mails.

too_much_mail

Hereby I would also like to apologize to those who didn’t get a reply to their mails, despite deserving one.

Eventually we solved this issue by setting up a shared mailbox and integrating a proper discussion tool on our website. Even Facebook is a decent tool to gather feedback.

Another important issue to highlight is that not all people are as fun to deal with. If you get a nasty email, just reply normally, I personally found this tough to learn, but in the end you’ll forget about the nastiness much easier if you don’t get carried away with it. Which brings us seamlessly to the topic of…

The loud minority

We received an enormous amount of good comments, especially when we started working on the mod. But not all comments were rosy, we had our daily dose of snarky comments and downright offensive blabbering. The internet gives people a mask and a way to express their opinions without any form of social control, which leads to some quite strange ways of communication. If you go to the bakery and you don’t like the bread that day, you probably just don’t go back the next day, maybe just think “oh, just a bad load today, let’s try again tomorrow” or you ask the baker what has happened. What you don’t do is yell in the baker’s face to go fudge himself.

At the end of the day, it’s those comments that are on your mind when you go to bed. They anger you as they’re usually void of any rational thought and there’s nothing you can do about it. But if you look at the bigger picture, you can probably count those people on your both hands. They are the so called “loud minority”. It happened more than once that we would go through discussion topics and saw comments such as “This game sucks”. The reply would pop up in almost every topic of that day but it was just the same guy venting his anger everywhere. There’s nothing you can do about that, but does give a bad impression to others.

On the other side of the fence you have “the silent majority”. Those are people who just enjoy the game and do nothing more than that. They’re not very interested in discussions or the community but they love your game to bits. Personally I’m a huge fan of the Rollercoaster Tycoon series. But I have never posted on their forums, in their community or mailed Chris Sawyer to tell him he made an awesome game. Although honestly, I probably should. There’s no better feeling in gamedev than getting a mail from someone saying they love your work. We once received a mail from a Hungarian fan for that matter, who wrote us a poem to express his gratitude over adding his civ to the game (The Magyars). I was happy for the rest of the week.

Bottom line is, no matter how hard it is to ignore derogatory comments, you’ll have to grow a thick skin and keep on working, realizing for every bumflap there are at least 1000 people silently enjoying your work. Just don’t confuse valid criticism for cheap ripping though! Many of the people who sent us snarky comments were genuinely passionate for the game and only wished the best to happen because they really, really care.

Conclusion

We are extremely proud of what we achieved. The mod version of AoF hit 1 million downloads and got turned into an official part of the series. New official content for a game that was originally released over a decade ago… I’m pretty sure that has to be some sort of world record 😀

But we’re also aware that it could have been better, much better even. We made many avoidable mistakes, we were not braced for a lot of situations but we just winged it as we went along. But in the end, that’s what you have to do, keep going and make what you want to make and learn from the gazillion of mistakes you’ll make along the way.

-Bert “Cysion” Beeckman