Porting is a time-intensive task. While it’s often said it might not be a very complicated one, it certainly has its own challenges. These challenges are often worth it, however, in delivering your game to new audiences and platforms!
Porting can sometimes be a one-to-one exchange but in many cases, it presents a multitude of changes and requirements that must be fulfilled. If the engine has been updated to a newer version since launch, it can mean a lot of work adapting and upgrading.
Lighting and shaders are often the first thing on the list which were two of the key issues our team encountered with the porting of Warhammer 40,000: Deathwatch. When it comes to any game, atmosphere is absolutely key in preserving player immersion. For a game set in a universe like Warhammer 40,000, atmosphere is almost as important as the core gameplay.
Why to Consider Atmosphere when Game Porting
Aside from the technical specifications and accurately porting a game to look and act like its original, atmosphere in gaming is something that must always be considered.
And each project has its own focus, each world has its own type of atmosphere. When it comes to porting something like a Warhammer 40,000 game, our team understood the importance of atmosphere in that setting. It’s vital a game porting team understand the intent of the game they are porting. While Deathwatch is a turn-based, tactical and strategic squad game, it emphasises the last line of defence for humanity in that world.
Warhammer 40,000 is a franchise spanning more than 30 years with a rich and developed universe. It is a grim and dark setting where humanity is not just and virtuous and there are enemies on all sides. Even in the lightest moments of hope, there is the constant shadow that this is just one victory in an entire galaxy. Aliens, mutants, heretics, and more attack humanity and one another in a constant ballet of death. There is only war and only a few stand against the endless tide of enemies within and without.
Naturally, this translates to quite a striking visual style. And that is before we approach the unique visuals of the ancient gothic architecture mixing with strange futuristic and alien (or xenos) technologies. So, when our team approached porting this game – this was on their minds. This was the atmosphere the developers had created and one that we didn’t want to compromise.
Atmosphere and Technical Requirement in Game Porting
For this project in particular, the team were porting the game onto PS4. And because Unreal Engine 4 had been upgraded post-release, much had changed. As the team upgraded the game to the modern version of UE4, they found the whole look and lighting had changed. The shaders had multiple visual issues and weren’t acting as intended.
Upgrading the engine on console meant a lot of individual checks on each element of the source code. This process of game porting requires time and a good eye for detail. For lighting, it’s a matter of recreating the settings before. This might sound simple but it is a process of back and forth, looking for the exact specifications and trying to emulate them in a newer version.
As for shaders, it depends on the complexity of the shader itself. You can try similar existing shaders to match the older version. Or you can attempt to modify the existing specifications on a shader to match. This is, naturally, much harder to execute on a complex shader so it is up to a game porting team to make that decision. For this project, we found the closest approximate shader and modified it from there.
Other Technical Requirements to Consider in Game Porting
Stepping briefly outside of the atmosphere, the game porting team at Starloop Studios also mentioned the importance of SDK matching for console porting. SDKs go by different names on each platform – it means Software Development Kit. On PlayStation, it’s an SDK and on Xbox, it’s a GDK or Game Development Kit.
These are tools that match the unique version of the console’s code. Simply put, engines like Unreal and Unity, release updates to match the updated SDKs and GDKs. And in this case, the original Deathwatch game ran on an outdated Unreal Engine 4 version. Which meant the SDK didn’t match the updated PlayStation system. This is why our team had to update the Unreal Engine 4 version rather than just adapting it for a new platform.
The version of the engine and its correlation with the existing APIs, SDKs, and GDKs must always be considered when preparing for game porting. Just a little tip from our team to yours!
If you’d like to have your game expertly ported to another platform, get in touch with Starloop Studios. With twelve years’ experience in the art of game porting, we’ll always deliver high-quality results that you can be happy with!