Engineering in game development comes in many forms, some of it is glamorous - graphics features, rendering technology, gameplay and audio - but some engineering activities revolve around enabling - improving processes and the efficiency of the team. There is commonality though, because all aspects of engineering are about adding value.
AAA games are getting larger, more complex and the demand for games continuing to operate as a service (through free and paid updates) rather than being released and left to survive in isolation, means more and more engineering power is needed throughout the development lifecycle.
Good engineers are a scarce resource and costly when not fully utilised, and finding trusted engineering expertise and capacity when needed can be difficult.
Therefore, a reliable engineering partner can play a pivotal role in the game development process. At the most simplistic level, your partner enables the dynamic scaling of teams when there is a mismatch between peak engineering demand on a project and internal resource availability. At the other end of the spectrum, with the right partner you can benefit from a trusted relationship based on a shared vision of your product or franchise, providing new expertise and capabilities, access to new platforms, and ultimately taking ownership of the ongoing Live Ops and maintenance of your products.
Engineering can add value at all stages of the game development lifecycle. The diagram below demonstrates how a partner should be able to help at all stages of game development, and also be able to take on Live Ops projects and deliver them autonomously - because Live Ops projects require all the same development stages as a full game.
The diagram includes some granular activities. Here is a closer look at some broader engineering activities that can be provided by a reliable partner.
1. Distributed engineering resources
This is the provision of additional engineers to boost your team because, let's face it, there are never enough engineers available when you need them. If there is a feature or piece of work that can be identified and specified then it's possible to hand off the project management, development QA and delivery to your external partner, reducing internal management overhead. An alternative way of approaching a distributed engineering solution is on a 'time and materials' basis where a specification is not needed and the external team can be seen as an extension of the core development team. The time and materials approach provides options for flexibility and re-scoping of work. When considering a long-term partnership it is useful to consider whether a partner should have experience of a wider range of engines and technologies, especially if some projects will involve commercial engines and others will be built on proprietary tech.
Top tip: Ensure your partner has the right skill-set for the work, and if you want flexibility look for evidence of excellent generalist programmers and a varied project track record.
2. Platform support
Platform support involves a team taking responsibility for one or more hardware platforms concurrently while the primary team is developing on a different platform. One reason for engaging an external partner in this way might be an internal team's lack of knowledge of a platform and the associated performance issues or certification idiosyncrasies. The ability to use a partner to mitigate those risks can be a very attractive option.
A different motivation might be that the core team wants to focus as much effort as possible on cross-platform gameplay features rather than exerting effort on the technical side of multi-platform support. Commercial shrink-wrapped engines have lowered the barriers to entry for cross-platform support, but without the expert knowledge of how to get the best out of each target platform it is easy to finish a project with one of two sub-optimal results; a lowest common denominator across all platforms, or large variances between comparably-capable platforms. One of the complexities of platform support is the constantly changing codebase on the lead platform, so software tools for managing development and communication are vital.
Top tip: If you are looking to get every last CPU cycle out of a particular platform then look for proven domain expertise and subject matter experts in your partner. However, demonstrable success at delivering across many platforms can be a good indicator that your partner has the capability to deliver on platforms they have not worked on previously, such as new hardware.
3. Porting and remastering
Both porting and remastering are activities that use a previously completed product as the starting point for making something new. Porting can provide access to more platforms or new generations of platforms, and in those cases all the technical points above relating to platform support are relevant.
Remastering has the same benefits as porting but usually involves a refresh of the game content, and that can involve some or all the following non-exhaustive list: increased output resolution, better anti-aliasing and post-processing, increased texture resolution, increased model detail, improved audio. Remastering has the added subjectivity of how to balance the need for new features with the requirement to stay loyal to the original game - this is a key skill that should not be overlooked when assessing a potential remastering partner. A major benefit of a reliable engineering partner taking on porting and remastering projects is the internal development teams can move on to new IP development and remain focused on the highest value-adding features.
Top-tip: Look for a highly technical partner especially if there is any doubt over the integrity or quality of the original code and data archives - remastering can require forensic investigation, sanctioned reverse-engineering and - where older codebases are involved - migrating engines and toolchains from 32-bit to 64-bit architectures and all the challenges that can pose.
Co-development can involve the provision of multiple service lines alongside Engineering. For example, a Live Ops engagement might require a partner to deliver new game modes, maps, characters, VFX, audio and localised text for a DLC pack, as well as QA testing. At the same time as the quantitative deliverables it is important that the quality of the work matches the main game.
Top tip: Look for a partner with proven multi-service capabilities and the willingness to take ownership of the quality of the delivered product. The partner team must live and breathe the product in the same way the original team would.
" A pure service company avoids a potential conflict of interest when there is competition for the best engineering resources between own IP projects and client work"
5. Full game development
The ultimate mandate that can be given to an external development partner would be full game development based on a publisher brief. The partner needs to iterate and work with the publisher at all stages of the game development lifecycle to deliver on a shared vision. The co-development mandate outlined in section 4 above is a smaller and less complex version of a full game development mandate. Finding a partner able to deliver full game development services can enable a publisher to achieve a planned release schedule and ship a full product portfolio in line with the sales strategy.
Top tip: Identify a partner who is solely dedicated to delivering games development services as the primary business activity, rather than to supplement in-house IP development. A pure service company avoids a potential conflict of interest when there is competition for the best engineering resources between the partner's own IP project and the vital client work.
Regardless of the type of engagement, it is imperative that an engineering partner is able to show flexibility and adapt to the way the client wants to work. A partner must have knowledge of a wide range of shrink-wrapped industry standard tools for communication, project management, bug tracking and other activities, but should also be able to adopt bespoke systems, specific vocabularies, and cultures and train the external team members accordingly. This is, after all, games development engineering as a service.
This is the latest in a series of pieces focusing on development insight from Keywords Studios. For more information on their services, including Audio visit https://www.keywordsstudios.com/
About Jamie Campbell
Jamie Campbell is Engineering Service Line Director at Keywords Studios. With over 20 years' experience Jamie joined Advanced Technology Industries in 1997, developing an initial background in microelectronics. Moving into the video game industry in 2001 Jamie worked for a number of studios, including Rage Games and Juice Games. Co-founding d3t, a software engineering company, Jamie was responsible for driving d3t's growth as Commercial Director, where it now sits within Keywords Studios.