Dev Diary: Development of an Alpha Patch

Path of Exile is currently in closed Alpha testing. We’ve been working hard on a major new version that should be deployed within a few weeks. This week’s development diary explains the process of how we develop and deploy a new version of the game, as well as what we expect to add to the Alpha realm in the coming weeks.

How we test and deploy an update

As our developers work, they commit changes to what we call the “trunk” version of the game. This is a mixing pot of everyone’s latest work and can occasionally be quite unstable. It’s up to the Quality Assurance team to test the changes and report issues that have arisen. In a given workday, it’s common for a dozen new unexpected bugs to pop up due to side effects of people’s changes. The team tries hard to keep the bug list under control while also implementing new features required for the upcoming version.

[frame width="360px" bMargin="5px"][/frame]

Because the number of alpha testers is far larger than our staff, we sometimes find more issues that managed to get past us (generally things that occur pretty infrequently). These are added to the bug list for the next version. If something catastrophic is found, we can merge a fix directly into the Alpha realm to address the problem immediately.

Once a new version is feature-complete, we copy it across to a “staging” realm. This one doesn’t change as people commit new work - it’s essentially frozen in time. The QA team playtest this version in depth, documenting any bugs they run into. We then fix those issues in the trunk version and merge the fixes into the staging version. This process continues until we’re completely happy that the staging version is stable and ready to deploy to the Alpha realm.

 

Version numbers

Our version numbering system is pretty easy. The format is Release.Milestone.Revision. Here are some examples:

  • 0.7.0: The first version of Milestone 7. This was the version that added the Witch to the Alpha realm. We set up a ladder for this version and watched our testers compete.
  • 0.7.1: An update to Milestone 7 that occurred several days later to address bugs found in the initial release.
  • 0.7.2: A subsequent update that fixed a number of balance issues. This is the current alpha version.
  • 0.8.0: Milestone 8, a major update that we’re working on at the moment. It’ll add Act Two, the Duelist and several months of improvements. We’re hoping to add a lot more community members to this series.
  • 0.8.1 onwards: Updates to Milestone 8 that fix bugs/balance issues and add new features (10-12 updates planned).
  • 0.9.0: Closed Beta
  • 0.10.0: Open Beta
  • 1.0.0: Initial Release
  • 1.0.1: Bug fixes to released version
  • 1.1.0: First major feature update to initial release.
  • 2.0.0: Our first expansion

 

Why have such a long gap between 0.7.2 and 0.8.0?

Once we’d deployed 0.7.2, we were pretty happy with the stability and features of Milestone 7. Our Alpha players were competing on the ladder and having fun playing together. At this stage, we had the choice of continuing with incremental improvements every few days, or working on one large patch. Although there’s a huge advantage in continually upgrading the realm that users are playing on, it taxes the team to have to spend two days of every workweek in polish mode around each minor deployment. We decided to make the next milestone our last before Beta, and to tackle every remaining major issue in the game. It’d be a quiet period for the Alpha testers, but would result in a very significant upgrade when 0.8.0 was ready to deploy.

What’s new in 0.8.0?

Here are a few of the 100+ significant changes:

  • Enabled the Duelist (Str/Dex character class)
  • Act Two (without quests currently)
  • Added a much improved character selection/creation screen
  • Added the fourth difficulty level
  • Upgraded server architecture to support scaling to massive realm sizes
  • Many new skills and items
  • Passive skill tree is now almost 5x larger
  • The Endurance/Frenzy/Power Charges system
  • Flask Mods
  • Portals
  • Complete re-balance of monster difficulty and progression
[frame width="360px" bMargin="5px"][/frame]

How is 0.8.0 being deployed?

We’ve broken up the initial Milestone 8 deploy into two sets of features - those that we need before anyone can play Milestone 8, and those that we want before we introduce new testers or journalists. These two sets of features make up 0.8.0 and 0.8.1 respectively. For example, fixing up some NPC dialogue is not a mandatory part of deploying 0.8.0, but has to be done before any new players see the game, so it was assigned to 0.8.1.

Our plan is to deploy 0.8.0 in the near future to test server stability and large-scale balance changes with our existing group of testers. While they’re finding any major problems we’ve overlooked, we’ll be finalising the last few changes in 0.8.1 to be uploaded a week later.

As soon as we get the go-ahead that everything is stable and there are no game-breaking balance issues, we’ll start to ramp up the community of online Alpha testers.

 

What will be added before Milestone 9?

Because Milestone 8 is our last series before the closed Beta, we’re going to be adding all of the content we need for Beta as patches to this version.

For example, because the closed Beta will contain all six character classes, we’ll be adding those to the Alpha realm as their art becomes finalised. One of our early priorities is to add Act Two’s quests to the Alpha realm so that it has the same level of playability as Act One. We intend to add a large number of new skills and support gems over the next few months to further increase the number of possible character builds. Various game systems such as trading, vendors and several unannounced mechanics will also be added during this timeframe. We also intend to do another polish pass over the UI and work on improving performance on older machines.

 

Leagues and Ladders

Currently the Alpha realm has just one league (we wiped the realm before deploying 0.7.0). This league is currently full of everyone’s characters from the 0.7.x series. There’s no need to delete these characters when we deploy 0.8.0, so they’ll still continue to exist with their old items. However, because of major balance changes, many of the items will now be over/under-powered compared to before. Because of this, we’ll be opening a new league (with an accompanying ladder) once all of the initial bugs and balance issues are out of the way.

The new league will only be available to characters made during the 0.8.x series of patches, so it’ll be a fair playing field for players who want to compete with each other. We also intend to try out a variety of interesting new league types during 0.8.x. There will be a realm wipe before we enter closed beta in August.


Hopefully this has answered any questions about how we go about developing and deploying updates to Path of Exile’s Alpha realm. If you’d like to have a shot at being chosen for this (and the much larger Beta), please sign up for an account!

Posted by 
on
Grinding Gear Games

Report Forum Post

Report Account:

Report Type

Additional Info