This article is part of an editorial series of Expert Talks by Virtuos, aimed at sharing the learnings and best practices in global game development and art production. In this instalment, Karle Sleith, our software engineer at Black Shamrock – A Virtuos Studio takes us through the process of creating adaptations of AAA games in Dublin, and how the team puts their problem-solving skills to work in their projects.
As the video game industry grows at an incredible pace globally, careers in video game development have become increasingly popular in many places around the world, including Dublin, Ireland.
The Irish capital has proven to be a robust environment for the video game industry with its diverse culture and business-friendly ecosystem, attracting some of the biggest publishers including Activision Blizzard and 2K Games to set up shop there. In fact, AAA video game titles including Jedi: Fallen Order, Grounded, and Starlink: Battle For Atlas were created with the help of game development studios in Dublin, including Black Shamrock – A Virtuos Studio.
Karle Sleith, a software engineer at Black Shamrock, has worked on several illustrious titles at the studio. Speaking to Karle, he shared that his love for video games grew at a young age as he would spend his weekends bonding with his father over console games such as Tomb Raider and Resident Evil.
Karle Sleith, Software Engineer at Black Shamrock
As his interest soon blossomed into a career in video game development, he applied for Black Shamrock, one of the few studios in Ireland that work mainly on AAA titles. Having worked on several major titles over the years, Karle took us through the process of him working on some of Black Shamrock’s AAA projects, including the porting of Pillars of Eternity II: Deadfire across different Unity versions, and the porting and optimization of a virtual reality (VR) game adapted from a popular franchise.
Porting Pillars of Eternity II: Deadfire from Unity 2017 to Unity 2020
Karle shared that the Black Shamrock team worked on the porting of Pillars of Eternity II: Deadfire over the course of 2019 and 2020.
The team’s main objective was to optimize the game by porting it from Unity 2017 to Unity 2020, which would allow Deadfire to be published on new platforms. By porting it to the newer engine, Obsidian Entertainment would then be able to publish the game onto more platforms, including Microsoft’s Xbox GamePass.
Challenge and Solution
While working on Deadfire, the team encountered a key challenge, which was the lack of global audio after upgrading the game engine from Unity 2017 to Unity 2020.
To combat this problem, the Black Shamrock team used reverse engineering to find out how the audio was included in the original project. As with many AAA games, Deadfire had a countless number of files and folders in the project, with an unknown number of audio files for various events in the game. Knowing where to start looking was a challenge in itself – the team decided to start locating files which stored audio data in the original project through guess work first. Karle said that they were able to obtain the names of the files through this method and found others by looking up similar strings in the game’s code.
The team later found that the names of the event objects matched the names of the audio files that they found in the original project running on Unity 2017 but these references were lost in the process of upgrading the game engine to Unity 2020. This discovery enabled the engineers to solve the problem and recouple the audio files with the events in the upgraded version, successfully porting the game engine with the reinstated files.
Benefitted from Past Project Experience
Karle shared with us that he was also on the team that partnered with Paradox Interactive and Obsidian Entertainment to work on the first installment of the game, Pillars of Eternity. As the workflow for both projects were mostly consistent, this greatly boosted the efficiency of their workflow for Deadfire. “The knowledge that we picked up from the first project was useful for the second. Thanks to our experience, we knew how to avoid certain obstacles before we even encountered them,” Karle said. He added that they were also familiar with the best ways to handle the upgrading of the Unity versions by the time they were working on Deadfire.
Varied Learning Opportunities
Working on a large project also meant that the engineers involved needed to cover multiple tasks, giving Karle the opportunity to work with various parts of the Unity engine.
“I would be fixing animation scripts today and working on the backend the next day, linking up the UI to networking modules,” Karle shared, adding that he really enjoyed the variety of tasks he was assigned.
As a team, Black Shamrock ultimately succeeded in upgrading the original project to a higher quality by modern standards, which also made Deadfire easier for game preservation in the future.
Taking on Virtual Reality – Porting from Oculus Quest to PlayStation VR
With rich expertise in software engineering, the team at Black Shamrock has taken on a wide range of projects, including working with VR. One of their projects entailed porting a game from a popular series that was originally released on the Oculus Quest in 2019 to Sony PlayStation 4 (PS4) for PlayStation VR (PSVR).
Besides porting the game, the Black Shamrock team’s goals for this project was to optimize this VR title, by implementing new gameplay features to accommodate for the differences between PSVR hardware and the original from the Oculus Quest system.
Challenge and Solution
The optimization of the game for the PSVR hardware, which it was not originally built for, proved a challenge for the Black Shamrock team.
To overcome this main roadblock, the team studied their limitations and tested out various ways and techniques to solve the problem. They eventually implemented occlusion culling, a process which prevents the engine from rendering static objects that are completely hidden from the player or camera’s view. Following this method, dynamic occlusion could also be used to prevent the rendering of dynamic objects for the same purpose.
By reducing wasted rendering of objects, the process helped to save a significant amount of memory which reduced overall load, improving the game performance.
A Professional Development Highlight
This project was a huge career highlight for Karle, as he was a huge long-time fan of the game’s franchise. Karle shared that it was an extremely fulfilling project to work on, and he was proud to be able to show his father his own name in the credits of the game as well. He added that there were many takeaways from the project, having learnt a lot from it. “It was very interesting working on a VR project. The user flow and gameplay design you have to take into account for limitations such as physical space was a great learning experience,” he said. “You need to be highly conscious of the user experience when developing for VR.”
With the successful porting of this VR title to the PS4, the Black Shamrock team managed to bring a creative, high-quality system into a game that could have otherwise struggled with older hardware, ultimately providing our partners with a satisfactory final product that runs smoothly with the PlayStation VR hardware.
Working to create fun experiences for gamers
Being able to work and grow in a career doing what he loves, Karle shared that he has no regrets stepping into the world of video game development. He welcomed budding software engineers to take the leap and join the industry, giving a piece of advice:
“Don’t be afraid to embrace and show your passion. This is an industry where we have fun, and make fun experiences for gamers!”