Sponsored By

Deep Dive: Console cross-play and how we made it work in Insurgency

Here are the steps Pingle Studios took to implement multiplayer on multiplatform, with five key takeaways from the project.

6 Min Read
Images via New World Interactive.

Game Developer Deep Dives are an ongoing series with the goal of shedding light on specific design, art, or technical features within a video game in order to show how seemingly simple, fundamental design decisions aren’t really that simple at all.

Game Developer Deep Dives are an ongoing series with the goal of shedding light on specific design, art, or technical features within a video game in order to show how seemingly simple, fundamental design decisions aren’t really that simple at all.

Earlier installments cover topics such as creating asynchronous multiplayer in Solium Infernum, expanding accessibility for the PlayStation port of As Dusk Falls, and conquering hardware hurdles to port Kingdom Come: Deliverance to Switch.

In this edition, Yurii Dudnik, QA project lead, and Denys Slipchuk, project lead of Pingle Studio's Unreal Engine Department guide us through the complex process behind multiplatform cross-play in Insurgency.

Hello, we are Yurii Dudnik, QA project lead at Pingle Studios, and Denys Slipchuk, project lead of their Unreal Engine department.

Insurgency is a multiplayer tactical first-person shooter set during the Iraq War. The game, originally developed for PC, has been ported to PlayStation 4, Xbox One, PlayStation 5, Xbox Series, and Epic Games Store by Pingle Game Studio. Pingle Game Studio has also enabled cross-play between PC (Microsoft Store) and Xbox One.

The primary goal was to allow players on different platforms, specifically PC and consoles, to join the same matches.

The initial phase of this integration provided full cross-play functionality between the Microsoft Store and Xbox platforms, including Xbox One and Xbox Series. Plans for global cross-play across all platforms are scheduled for upcoming updates.

A major benefit of these developments is the inclusion of Insurgency in the Xbox Game Pass, making it available through subscription. This accessibility significantly increased the game's user base, boosting it by three to four times.

Here's what our cross-play creation pipeline looked like:

  • Defining the tasks ahead of us. The scope can vary depending on the specific title and the volume of features already integrated;

  • Identifying certification requirements for cross-play—there are actually quite a lot of them;

  • Estimating the time needed to complete tasks: we had 2-3 months for development, testing, and polishing;

  • Implementing the functionality;

  • Polishing;

  • Testing;

  • Certification;

  • Releasing the feature in a new update

Insurgency Screenshot

The main tasks can be outlined as follows:

Integration of Additional Game Settings: These settings allow players to choose whether they want to play with other platforms and select which input device to use (Keyboard & Mouse or Gamepad). These parameters affect how players are matched in online PVE and PVP matches.

Adaptation of the Matchmaking Backend: This involves configuring the system to create matches based on the settings selected by the user, taking into account the platform each player is using.

Support for Keyboard & Mouse on Xbox Consoles: Ensuring that Keyboard & Mouse can be used across all game menus and during gameplay on Xbox One and Xbox Series consoles.

Cross-Party System: This system allows players to form groups not only within the same platform but also between PC and consoles.

Here's a more detailed look at each step:

Step 1: Develop a system for managing mouse and keyboard controls on Xbox One

This step presented some additional challenges. Initially, when the game was ported, it was not designed to support anything other than a gamepad, and console cross-play was not even considered. As a result, we had to overhaul fundamental aspects of the game that weren't originally set up for keyboard and mouse support on consoles. However, having learned from this experience, we now incorporate the potential for using different input devices from the start of porting. This foresight for future support is something we recommend to other studios as well.

Insurgency Screenshot

Step 2: Develop a selection system for Xbox One players to choose between mouse/keyboard or gamepad controls

Implementing the options for selecting an input device or enabling cross-play matches is relatively straightforward and can be done in just a few steps. However, it's crucial that these settings are saved in user profiles to avoid making players reconfigure their preferences each time they start the game.

Additionally, we had to modify some engine functionalities to recognize the current user and connect a new device before it's even used. This update is essential for refreshing UI hints and other settings. The existing engine's approach to handling user changes on the console was too complex and unsuitable for our project’s requirements. Moreover, the engine initially lacked the capability to detect if a keyboard is connected, prompting us to develop this functionality ourselves.

Step 3: Enhance console functionality for cross-party and cross-matchmaking

The integration of cross-party support handles scenarios where the party leader or members are on different platforms and using different settings. The system acknowledges these settings and alerts users when they are trying to join a party that might include members from other platforms. When a user accepts a party invitation, the system checks and compares the settings of both the party leader and the invited user. This ensures that all preferences are appropriately aligned and communicated before joining the party.

Insurgency Screenshot


This was a truly unique experience that demanded broad thinking and significantly expanded the set of test cases we needed to address. One of the first challenges we faced was implementing the Japanese region in builds for the European region, which activated when the Japanese time zone was selected. The Japanese region is distinct because it must exclude any blood and ragdoll dismemberment. Additionally, other platform-specific features for consoles needed to be operational. For instance, on the PlayStation 4, we had to change the confirmation button from a cross to a circle.

Another major issue was enabling crossplay between Microsoft Store PC and Xbox One, Xbox Series. The main challenge was determining the possible interactions between players. The possible combinations were numerous; for MS PC, this involved options like Keyboard & Mouse or controller, and whether crossplay was turned on or off, meaning whether we intended to play only with PC users or also with Xbox players.

For the PlayStation 5, we also introduced adaptive triggers, redesigned the vibration system, and created activities, along with developing specific cases that need support for games featuring matchmaking. Particularly notable was our innovative implementation of the spectator mode in line with the PlayStation 5's TRC requirements.

Step 5: Develop equivalent game versions for the Microsoft Store to match those on Steam and Epic Games Store

Ensuring content parity is crucial when developing for a new platform, which led us to integrate mods and community servers into the Microsoft Store version. As it stands, the Microsoft Store is considered an independent PC platform capable of interacting with itself and Xbox consoles, though this could evolve with future updates.

Conclusions

Advance Planning: Thorough planning of all cross-play development stages is essential for the project's successful implementation.

Attention to Detail: Paying attention to even the smallest details, such as supporting various input types or setting restrictions during match searches, is key to creating a user-friendly and functional gaming environment.

Flexibility and Adaptability: Considering the potential growth in popularity and technological advances, it is important to plan for the expansion of features and support for new devices from the start of development.

Learning from Experience: Analyzing previous experiences and applying those insights to future projects can help avoid similar challenges and enhance the overall development process.

Insurgency Operation Warlord Key Art

Read more about:

Deep DivesTop Stories

About the Author(s)

Denys Slipchuk

Denys Slipchuk is a game developer specializing in porting games to various platforms. He joined the Insurgency porting team in 2020 and quickly distinguished himself in the field. Starting as a regular developer, Denys progressed to become the project lead, guiding the game’s adaptation to all available platforms from the project’s inception. His journey from a frontline developer to a leadership role highlights his deep expertise and commitment to game development.

Yurii Dudnik

Yurii Dudnik has been a QA GameDev for over five years, with one of those years spent on the Insurgency Sandstorm project. Joining an actively evolving project as the QA Project Lead was a challenging endeavor, but it significantly enriched his experience and reinforced his previous knowledge. Outside of work, Yurii enjoys cycling, especially when the weather is nice.

Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like