Jack Reggin

Gameplay Programmer

Jack Reggin

Gameplay Programmer

Age of Wonders: Planetfall
Age of Wonders: Planetfall Banner
Genre Sci-fi Turn Based Strategy
Engine Creator Engine
Role(s) Online Gameplay Programmer, Console Programmer
Language(s) C++
Genre Sci-fi Turn Based Strategy
Engine Creator Engine
Role(s) Online Gameplay Programmer, Console Programmer
Language(s) C++
While working on Age of Wonders: Planetfall I worked on a large variety of different parts of the game and the engine (custom built in-house). Mainly, I worked very closely with the main engineer for consoles on making sure that the multiplayer backend was working for both PS4 and Xbox One. I also changed the 2D ambient sounds for all the decorations on the strategic map into 3D sounds.

Console Online Systems

I worked on some of the backend systems for the consoles, specifically anything to do with online multiplayer functionality. There was a big issue with invites on Xbox where someone who hosted the match could invite people but when a client would attempt to do this it would fail. I had to look over the entire online system and figure out exactly where it was going wrong which took a day and talking with the lead console engineer.
I also cleaned up the multiplayer storage code making it more consistent and predictable on each platform. This means the code is easier to maintain and understand, which also gave the user a more consistent experience with less bugs happening for no apparent reason.
While working on the consoles, I followed the guidelines and requirements given by the console owners. This meant having a good understanding of the system in the game and also knowing what needed to change and how in order to make it TRC/XR compliant.

Improving UI

I worked a lot on the multiplayer lobby screen, making sure that the UI was clean, concise, and functioned as expected. Most importantly I ensured that the swapping of players between different slots in the lobby would keep track of their chosen character. This made it much more natural to use the lobby UI and gave a greater user experience.
As mentioned above, I followed the requirements of the console owners to ensure that the game functioned as they needed it to. This included making sure that users were always able to join a multiplayer lobby when invited. This meant following very specific and strict rules given by the console owners, as well as giving the user clear instructions in the UI as to what to do to continue.

General Multiplayer Fixes

There were many times that there were issues with various parts of the game/engine that were broken specifically when playing multiplayer. I would be given these issues and had to fix them quickly, meaning I needed to be very flexible and quick on my feet with the fixes that I would implement. This means I kept on getting these types of tasks and I could help reduce the load on the team members during stressful periods.
During multiplayer testing periods I would make sure that I was available as a contact point so that I could help filter out the issues and either pass them along or fix them myself. I gained a very good understanding of the multiplayer system for all platforms and could better filter the issues and knowing how important they were.

3D Ambient Sounds

3D Ambient Sounds Visualization
At first the system just worked by taking any ambient decoration sound closest to the audio listener and increasing it's volume. I created a system that would flood fill cells all around the audio listener and create zones to find an average position for where the sound should come from. This gives you the result as seen in the picture above.