Age of Wonders III is the long anticipated sequel to the award-winning strategy series.
Delivering a unique mix of Empire Building, Role Playing and Warfare, offering the ultimate in turn-based fantasy strategy for veterans of the series and new players alike!
It was developed and published by Triumph Studios. This was the project I got to work on while I was doing my internship and summer job there.
Age of Wonders III is a turn-based strategy game set within a high fantasy universe where the player assusmes the role of a political-military leader. The game offers an unique blend of 4X turn-based strategy and role-playing game features. The player has to explore the world map while building an empire through colonization, warfare and diplomacy with rival players. The leader can be customized and additional skills for him and his heroes can be unlocked by progressing through the game.
Age of Wonders III was developed with Triumph’s in-house Creator engine. All of the coding was done in C++.
I worked as a Gameplay / UI / Tools programmer during my internship and summer job at Triumph Studios. As part of Triumph’s multidisciplinary team, I was able to contribute to the project as a full team member. Together with other team members I made and improved designs that were subsequently implemented by myself or other team members.
My tasks included:
- Designed and implemented the keybinding system + several shortcuts in-game:
It was my responsibility to design a system which allowed players to modify existing keybindings to their own preferences. I also implemented the code behind the keybinding options screen and had to link the keybindings to the in-game actions. It was also my job to make sure the tooltips of various actions showed the right keybindings.
- Implemented Steam cloud saving and Steam workshop integration:
I had to integrate the Steam cloud saving functionality into the existing save and load functions of the game. This also meant I had to change some of the code behind the saving and loading interfaces.
For the Steam workshop implementation, I designed and implemented a seperate application called the Package Manager. This program allows users to package and upload custom content like maps or campaigns to Steam. I also had to modify the campaign and scenario screen in the game to accomodate a seperate tab for user-made content.
- Implemented various gameplay and UI features:
I implemented a few smaller features, like pop-ups that informed the player of events taking place in the world or extra info in the Tome of Wonders, the in-game manual. The pop-ups were sometimes more than meets the eye, for example the egg hatch event also had to put the right mount on the right inventory slot.
- Fixed various gameplay and UI bugs:
In the last stage of development and post-release I had to fix various bugs which in-house testers or users had reported. These went from fixing bugs in the in-game inventory screen to fixing UI elements in the leader-editor which didn’t update properly. These tasks brought a lot of variation and allowed me to work with a lot of different systems in the game.
- QA and playtesting:
When development was running up to release, a code-lock was put into place and we all got to play and test the game. We had to make sure that the bugs we found were reproducable and send a bug report to the right person if they were.
- Offering support to users and beta-testers:
Once the game was released, me and some other colleagues had to check the technical issues forums of the site and process bugs and feedback from the users. I also worked with voluntary Beta-testers during development of the main game and the expansion, processing feedback on features I worked on to resolve bugs, improve usability, etc.