A lot has happened since the last dev blog, so it’s time for another one!

Unlike last time, we won’t be revealing a new civilization this time around, but to make up for it, we have some extra juicy stuff coming later this month. Stay tuned!

Safari

We already revealed that the new Expansion would primarily focus on the African continent. And when you say Africa, you think it’s enormous natural beauty and wildlife. So it’s time to send our villagers on a Safari! Except we don’t give them funky jeeps to go and spot the local wildlife, we just give them a dagger and the advice to eat or be eaten.

The most attentive players already noticed a first hint of new animals in the previously released screenshot. There were indeed 2 storks flying over the troupe of Camel Archers and one particularly attentive user, Alkhalim, used this detail to analyze the breeding grounds of storks worldwide to determine where the other civs could come from. Safe to say, he was spot on with some of his observations. Which exactly were correct, and which weren’t, we’ll get to know over the next few months.

When it comes to picking animals for an African expansion, the choices are almost unlimited. Not only does the mother continent offer an incredible richness of fauna, all the animals are just cool. Lions, crocodiles, giraffes, elephants,… you name it. They would all fit into the scene, but we had to make some choices and ended up with five new animals, our personal “Big 5” if you wish.

aoak_animals_screenshot

And hopefully, this means good news for people who wish to make Lion King inspired scenarios in the game 😉

Unified Multiplayer Lobby

When the expansion was announced, a big concern of players was that a new expansion could possibly split the community more. Despite the very positive reception of The Forgotten, it didn’t translate into a very busy multiplayer scene. On the other hand, people really wanted to play on The Forgotten, but decided to switch to the base game to get their lobbies filled up much quicker. This lead to a vicious circle that we are happily breaking now with the new unified lobby! For a more detailed description, I’d like to give the word to MS Ryz0n, the producer for Microsoft on the game, to give us some nitty-gritty details on the new unified game.

There were several fundamental goals when it came to the multiplayer lobby for AOE II HD.   They can be listed as follows:

  • Create a single lobby to reduce splitting the community between expansions
  • Allow the user to create the game of their choosing (DLC version) on the fly
  • Improve overall UI to account for new needs in the lobby, such as icons
  • Ensure the lobby was extensible for additional expansions down the road.
  • Give ALL players the opportunity to experience expansion content (of course with the hope of encouraging them to pick it up)

Everything of course initially stemmed from the first point on the list.  This is a desire we’ve had for quite some time, and one that that has spurred various workarounds from some enterprising community members on several website.  But of course in order to reach the majority of our audience the unified lobby needed to be within the game. The new expansion would only exacerbate the problem of a split community further, so solving it became critical to the future of AOE II HD.

Unfortunately as soon as we decided to add the lobby, it lead to a cascade of challenges that would need to be solved.  First, the original expansion system required you to click the banner in game to change between content types. Upon doing so you would load in the appropriate data set.  How would that function within the lobby system? There were a couple of potentials ways to handle it, however we wanted the experience to be as seamless as possible.  Thus, the unified data structure task was born.  This meshed well with our goal for the Workshop upgrades, but represented a massive undertaking.

This one data structure change has implications throughout the entirety of the product, much of which has nothing to do with multiplayer.  On the plus side, we’re able to include all campaigns from base + expansion in a single list.  But we had to make new systems for how the game should handle scenario editor and saved game loading.  This content now needs to have additional information to ensure the game is loading up the right content or the world simulation will out of sync with the saved game.  Furthermore within each of the systems, it needs to know what data set is the correct one to be using.  And the majority of the last few weeks has been tracking down various bugs that trickled into the system due to this monumental change.  It’s always scary doing this kind of thing to old code because of the potential knock on effects in some really strange places.

Replays and saved games of course needed to be resolved too.  At the end of the day though, players shouldn’t have to worry about what content they’re loading into and can choose what gametype they want to play right on the fly.  When it comes to multiplayer hosting, the data structure must let you choose the right options and gametypes (things like ludakris maps and capture the relic) only if you’re using the correct game version.

Next up, the UI system in Age of Empires II is not exactly the epitome of modern design since the majority of it is the same code as the game from the late 90s.  Redoing the UI allows us to do a few things, but for the multiplayer lobby the critical piece is expanding our lobby browser to include icons denoting which expansion is in use for the game. A secondary piece of this, also used for our mod manager, is the ability to have some newer filetypes in UI elements, most notably .png files.  We’ll be continuing to optimize the UI over time here, but it’s important to the overall flexibility of the game long term.

All of these items have had an added bonus of ensuring extensibility for our new expansion coming out later this year.  The new data structure, the lobby browser, and UI changes will all be useful as we continue developing for the product.

Try it, you’ll like it! (Expansions, not veggies)

And the last major piece our lobby system was designed around was ensuring more ways than ever to allow players to engage in content – even if they don’t own an expansion yet.  When looking at what customers were playing, between the split lobby browser and inability for vanilla owners to try expansion content, we had far more base games than AoF games.  And while we fully respect the purists who only want to experience the original content, we’d love to see more people playing expansion games and trying out the new civilizations.  After a number of internal discussions, we agreed that it was critical to allow customers without any expansions to join an AoF multiplayer game and participate.  At the same time, it’s important to recognize that there’s a significant value add in multiplayer to owning the expansions.

Our solution is pretty simple.  If you own the base game, you’ll be able to join a multiplayer lobby from someone hosting the game with an expansion.  Once you join the game, your game will be using the data structure (balance etc) of the expansion content, however you will be limited to a subset of civilizations to choose from.  The available civilizations change daily, but on any given day you’ll get 5 civs from the base game and one from the expansions to pick. Of course if you choose to host a vanilla game, or if that is the only content you own – only the original civs will be available to those joining.

Things will get a bit more complicated once we have a second expansion, but we’ll cover that as we get closer to release.

More!

Originally, this dev blog was meant to be a bit longer, but due to “reasons”, it has been cut short a bit. We’ll release the redacted information next week 😉