The Producer’s Guide to Console Porting Part 1: Scoping
When you’re headed for your first multi-platform release, time management becomes even more crucial – you’ve now got a wild amount of interwoven variables to consider (core development, marketing, QA, platform timelines – the list truly goes on and on). It can get out of hand pretty quickly if you’re not diligent. This guide is here to help.
Your ability to plan for a multiplatform launch all starts with creating the best possible scope assessment you can. Our studio has shipped over 30 individual platform releases across Nintendo Switch, PlayStation 4 & 5, and Xbox One/Series S/X. I guess you could say we’re pretty good at this sort of thing.
Questions that start to come to mind are “how much work is this going to be?” or “how long is this going to take?” and itâs a bit like trying to answer the question âhow long is a piece of string?â. It might seem like a bit of a cop-out, but the truth of the matter is that it really, really depends.
Scoping your port to consoles is a task that needs to be undertaken individually for every game, and the final answer is going to be unique for every team but to help you in the process, this is what you need to consider:
- the level of project complexity
- the impact of pre-existing technical decisions
- the number of target platforms
- which platform features you intend to implement
Letâs take a look at these considerations, and see if weâre able to get a clearer picture of how these factors affect the project’s scope.
Everyone has a plan until they get punched in the mouth.
Mike Tyson
The Level of Project Complexity
Generally speaking, simpler projects require less work to port. When comparing a simple single-player 2D platformer to a 3D shooter with network multiplayer, the 2D platformer will have fewer âmoving partsâ. It will also have fewer potential points of failure, lower performance requirements, less intricate systems, and fewer edge cases. Simply put, more complexity means there are more difficult problems to solve, which takes more time.
Visually complex or otherwise ambitious projects might also require additional optimization due to the limitations of console hardware. Rendering optimizations are extremely common, specifically in more visually complex or boundary-pushing projects. Typically, Dreamloop can make rendering and code optimizations, so we don’t need to adjust existing game art assets. In extreme cases, however, it could still be necessary to get extremely ambitious projects to run on older or less performant hardware.
As a general rule of thumb, more complex projects take longer to port and require greater expertise. Thus, the time you need to allocate is higherâno surprises there!
The Impact of Pre-Existing Technical Decisions
Many of the technical decisions you make when starting a project have the potential to impact porting. This runs the gamut from which engine youâre using through to what kind of plugins youâve opted for.
One of the first assessments we make when looking at potential projects is whether or not there are any pre-existing tech decisions that are going to cause trouble. If youâre using a proprietary engine, for example, or if youâve opted for a complicated custom render pipeline and a billion plugins, things can get hairy a bit faster when porting to consoles.
Decisions made in regard to rendering, which has differences in handling across platforms, often play a critical role in our assessments. Rendering frequently requires optimization when porting, so those earlier decisions which impact it (like the use of dynamic versus static lighting, or how rendering is implemented), can be a major factor in the scoping of projects. If youâre having issues in this area, itâs safe to assume some heavy lifting is going to be required when porting.
In addition to rendering, the overall quality of code is an important consideration for assessing project scope.
It’s faster and easier to work with code that is:
- Clean and consistent
- Easy to read and understand
- Easy to maintain and build upon
- Well-documented
This reduces the likelihood that necessary changes for the implementation of platform-specific functionality or code will break something.
Less time spent dealing with technical debt and fixing things that break when needed code is implemented means that weâre able to port projects more efficiently and quickly; the faster we can work, the cheaper it becomes.
Weâve ported projects by teams of all sizes, with all levels of experienceâfrom solo devs to veteran teamsâand weâve seen a lot of code. The simplest tip we can give you if you want to cut down on the time spent porting is to keep code clean (duh, I know), well-commented and well-documented. This very well could save you a great deal of time and money.
One of the first assessments we make when looking at potential projects is whether or not there are any pre-existing tech decisions that are going to cause trouble.
The Number of Platforms
More platforms mean more work. Not all platforms are created equal, as we know. This is due to differences in hardware (memory, GPU, CPU), software (e.g. rendering APIs), functional and certification requirements, offered feature sets, and available services. There can even be massive differences between generations of the âsameâ console. This means that every platform SKU requires its own port and its own individual attention to be compliant with platform requirements and thus pass certification.Â
Generally speaking, porting from PC to the more powerful current-generation consoles will be a more straightforward and less time-consuming process, assuming youâre not looking to implement an overly complicated or ambitious use of new features like Haptics or Activities.
At the risk of stating the obvious, Generation 9 consoles have more powerful hardware in comparison to their Generation 8 counterparts. This means that less optimization is typically required, and so a fair bit of time can be saved if youâre only looking to make the jump to current-gen consoles.
One downside of targeting only current-gen hardware, however, is that in the process of porting to previous-gen hardware there can be many incidental improvements and optimizations made that result in an even more performant experience on current-gen systems. If you ditch previous-gen hardware, youâll also miss out on the potential knock-on benefits of extensive optimization.
Another downside is, of course, access to hardware. By choosing to port only to current-gen hardware, your potential audience is limited, as many players have yet to make the switch from Gen 8 to Gen 9 hardware, either because of expense or lack of access.
Access to hardware (or lack thereof) is largely why many developers choose to port to both Gen 8 and Gen 9, but there is an additional benefit to the approach. After porting to Gen 8 hardware, getting a polished Gen 9 port is now only incrementally more work and this drives the price-per-platform down significantly. By way of example: for a given project, porting solely to PlayStation 4 might be three monthsâ work, and porting solely to PlayStation 5 might be two monthsâ work, but porting to PlayStation 4 and 5 together might only be four monthsâ work.
If you ditch previous-gen hardware, youâll also miss out on the potential knock-on benefits of extensive optimization.
Platform Features
Generation 8 and 9 consoles have many unique platform-specific features that can add additional complexity and budget to porting projects, depending on the extent to which you intend to implement them. With a PC-to-console port, it may even need a bit of design work to take advantage of these features (some of which are even required by the platform holders).
Some examples of features you might want to implement, but which can add additional project overhead, are:
- Raytracing (PlayStation 5, Xbox Series S/X)
- HDR Rendering (PlayStation 4 & 5, Xbox One & Series S/X)
- Increased Resolution/Frame Rate (E.g. 4K @ 120 FPS for PlayStation 5 & Xbox Series S/X)
- Xbox Smart Delivery
- Tempest 3D AudioTech (PlayStation 5)
- Haptics (PlayStation 5)
- DualSense Adaptive Triggers (PlayStation 5)
- DualSense and DualShock lightbar support (PlayStation 4 & 5)
- Motion sensor support (PlayStation 4 & 5)
- Touchpad support (PlayStation 4 & 5)
- Touchscreen Support (Switch)
- HD Rumble (Switch)
While this list isnât exhaustive, it gives you the general ideaâadding extensive support for platform-specific features can make your game shine, but also adds labor, complexity, and additional points of failure.
If youâre hoping to pull out all the stops, itâs best to begin development with these features in mind. Appropriate planning will cut development time (and thus costs) during the porting process.
So⌠How long is it going to take to port our game?
At the end of the day the scope of your port all boils down to what sort of project you have on your hands, how many platforms youâre targeting, and what platform features youâre looking to implement.
If you want some help in figuring things out, or if you’re looking for a porting partner, weâve got you covered. You can shoot us an email or fill out the form below, and weâll get in touch. Weâll send you a project questionnaire and mutual non-disclosure agreement, then arrange access to a development build for profiling and evaluation and finally provide a resourcing estimate and cost.