Read the original article by 80 Level: https://80.lv/articles/why-developers-port-games-to-other-platforms-how-it-affects-engagement/
Manoel Neto, the CTO at Kokku, explained why developers should consider porting their games, what they need to think about when working with different platforms, and how Kokku can help make sure everything goes smoothly.
I’ve been working with games for over 20 years now. Back in 2002, I worked with some PC games for several years, then I had my first porting experience in 2008. My friends and I started our own company creating PC games, mostly for kids, for the German market. We got an opportunity to port one of our games from PC to Nintendo DS. But using the word ‘port’ is a bit of a stretch because the difference in hardware basically required us to recreate the game entirely using a completely different engine, recreating the game mechanics and game assets almost from scratch.
At Kokku, we worked on porting games with engines like Unity and Unreal Engine. Those greatly simplified the porting process because they had built-in support for multiple platforms. If you have a game in Unity and want to make a PS5 version, for example, you get the required libraries and add-ons from Sony and apply them to the engine. Usually, within a week or two, you’d have something running on a development kit.
But it doesn’t mean the actual porting process takes only one or two weeks. Between getting something running on a dev kit and getting something you can actually ship to players, there are a lot of hurdles. especially when working on someone else’s project. Working on several projects gave us the experience of being able to quickly understand how other people’s codebases are organized, how the games are working, and what pitfalls they might have.
Porting Reasons
The main reason to consider porting is to expand your audience. Everyone wants their game to be played by as many people as possible. The primary way of doing that is by being on as many platforms as possible. So if you have your game only on PC, for instance, you could be missing out on a significant portion of your potential audience and the possibility of doubling, tripling, or even increasing your audience tenfold by moving to consoles and even mobile, depending on the game and target audience.
It also increases the longevity of the game indirectly. When you release on another platform after your first release, you get one more chance to show up on the first page of a digital store. This also can bring back your game to people’s minds and boost sales on platforms the game is already on. It’s basically a new round of marketing.
Most porting happens from PC to console, especially for smaller games. Usually, developers start targeting PCs first because it’s faster since they can run the game on the same machine you use for development. You also have fewer requirements for release. A lot of developers, especially of indie games, don’t have access to console development tools and hardware.
We also get some requests for porting from PC to mobile or from mobile to PC and consoles. It doesn’t happen often because the mobile market is mostly dominated by free-to-play and service games, and those are usually made for mobile first or mobile and PC at the same time internally. But there is a market for PC to mobile porting, especially now that you have subscription services for mobile, which are great for “premium” games which would have a hard time getting attention in a cluttered app store.
Even games that were primarily designed for consoles and play better with controllers can get a second breath of life when ported to mobile.
Online Multiplayer Porting Challenges
Cross-platform online multiplayer is something players love but is technically quite challenging, with bureaucracy being the biggest hurdle.
When you make a game that has cross-platform play, each console has extra requirements that you need to fulfill in order to be approved; for example, an option for disabling cross-play. Now your game’s matchmaking backend needs to respect the user’s decision to disable cross-play and match only gamers of the same platform, and this complicates things, requiring different matchmaking pools and more complex rules. If your game has an in-game store, you also have to deal with some platforms imposing restrictions on purchases made on other platforms. So there is a lot of “red tape” that you need to navigate through.
Release strategy becomes more involved because whenever you make patches and release new features, all updates for all platforms need to be released at the same time. You need to deal with the fact that a patch could be approved for one platform first but not for the others. What happens if some players have the new version, and others don’t? You need to juggle all these variables. It’s not easy, especially if you’re a small company.
If the developer can port, it’s definitely worth it because everyone likes having lots of people to play against. By combining the pool of players from all platforms, everyone will have an easier time finding someone to play with, keeping your game alive for longer.
Platform Peculiarities
The PC is the cheapest platform to target initially as you usually don’t have to buy new hardware to test it and the upfront costs are low. You can reach many players without spending much, so PC is the cheapest to start with if you’re starting out with game development.
As for what platforms to target next, it depends. Some publishers have more visibility and leverage on certain platforms and some believe that certain types of games have more sales potential on certain platforms compared to others, like the Switch, PlayStation, or Xbox. Some games might have a lot of potential on mobile as well.
If you have an indie game that isn’t very graphically demanding, a port for Switch is relatively easy to do because you probably won’t spend too much on optimization. But if you have an open-world game with really high-end graphics, it’s going to take a lot more work to port to the Switch than for PS5 and Xbox, for example.
Games’ unique features can be complicated to port. Sometimes you get games that are tightly integrated with certain platforms, using specific achievements only for Steam, using Steam libraries directly. Then if you bring that to PlayStation or Xbox, they have different APIs and rules for things like achievements. And you need to say, “Alright, let’s put a layer of abstraction so we can implement different solutions internally.”
Some engines, like Unreal Engine, have abstractions for things saved games, achievements, and user accounts, so if you use the Unreal API and you build your game for Steam and then for Xbox and PS5, it handles the differences for you. Unity doesn’t do that yet, but they’re working on packages to make it easier.
As for controller prompts, sometimes developers only implement prompts for Xbox controllers, which are common on PC, and then we need to go back and change the game so it can switch the prompts to match the platform it’s running on. There’s even some simple stuff like if the game refers to things like controllers or buttons or sticks by name. Each platform holder has a very strict set of naming rules that you need to follow, all those things need to follow strict guidelines.
Advice for Developers
Make sure your game works with controllers. For example, we have been working on porting some games designed primarily for mouse and keyboard, and we need to rework the entire UI and UX of the game to ensure that the menus can be navigated with a controller. Sometimes, a game may require more actions than there are buttons on a controller, requiring deeper changes. If the developer has this foresight to make their games work well with controllers, it helps a lot.
Also, there are things like a saving function. On PC, everyone goes, “Just write a file to the disk.” On other platforms, it’s different. You don’t just write files; you need to call some functions to write data. So, it helps if developers think, “Okay, let’s abstract the save API. I want to save data in some way that can be changed under the hood later.” It also helps on PC when you want to release on multiple digital storefronts with different cloud-saving systems.
Make sure your game can support different control button labels. PlayStation owners will like to see the correct button names when the game detects the controller. And when you go to port your game, that’s going to make things much easier and cheaper later.
Also, make sure your game works well and doesn’t crash or soft-locks players. This is actually the primary reason for certification failures on all platforms.
Future of Game Porting
I think porting will become even more common, especially since most games now use engines that support multiple platforms. But not everyone wants to keep working on the game forever, so we see a lot of companies where the original developer makes the first version of the game, then moves on to more interesting projects, and the publisher then goes after a third-party to make the ports.
Over 20 years ago, platforms were really different. You didn’t just develop for PC and take the same game boot on the original PlayStation, you needed to make a lot of different changes. But now it’s much easier; it takes much fewer changes to have a PC game work on PlayStation, Xbox, and even mobile.
We have games like the latest Resident Evil running on iPhones, and even if the graphics are downgraded, it’s pretty much the same game. Or you have something like The Witcher 3 on Switch, where you can even bring your saves from your PC to Switch.
It’s becoming a lot more common, and gamers expect it. Recently a popular multiplayer game had PlayStation players asking the company to make a port so they could have more people to play with. In the past, it wasn’t something you’d see, there was a fight for exclusivity. But this is the case that goes against the rule, and people now want games to be ported to other platforms.
Manoel Neto, CTO at Kokku