Your donations keep RPGWatch running!
Box Art

Jagged Alliance 3 - DevDiary 13 - Co-op Mode and Mod Support

by Hiddenx, 2023-07-09 05:24:53

Jagged Alliance 3 will get mod support and a co-op mode:

Co-op mode & Mod support

Yo, gamers! I'm Vlad Abadzhiev-Jahn, a programmer and designer at Haemimont Games. Today, I want to talk to you about two major features - our two-player online co-op multiplayer and modding!

Ticket for One That Seats Two

Multiplayer brings a whole other energy to a game's campaign. It allows you to explore tactical differences with your partner and devise strategies together, experience and discuss the story side by side, and it also adds replayability.

Translating the single player experience as closely as possible while accommodating two people frictionlessly was a challenge both technically and design wise. Fortunately, we at Haemimont Games have some prior experience which gave us a strong foundation to draw from.

Let's start with getting you and your buddy to Grand Chien. One player is designated the “host” and the other the “partner”. The host is the one who initiates the game and the partner is the player who joins the host’s game. When creating a game the host has the option of starting a new campaign with their partner or inviting them into an ongoing playthrough.

We aimed to make the co-op gameplay as seamless as possible. The host can save and load games at any time as if they were playing alone and their partner will be there along for the ride. Additionally there is no functional difference between a save made in a co-op and single player, and the host can continue the game in single player if their buddy drops out. Both players can also load any of the saves (auto-saves or manual saves) created during co-op gameplay and continue them in singleplayer.

We found that in co-op games it is important for both players to be aware of what's happening in the moment-to-moment gameplay. We implemented a system where conversations with NPCs are controlled by the player who initiated them, but both players observe the conversation happening in real time. The non-controlling player can even offer suggestions for conversation options.

In order for both players to be aware of what is going on, we had to make some compromises. For instance, both players can only explore the same sector in tactical view. Splitting up to tackle Grand Chien separately might sound appealing, but the majority of missions take place on multiple sectors and it can get disorienting.

On top of that, there's the issue of how time advances when one player is engaged in combat in a different sector. It would be tedious for one player to spend 40 minutes in the Satellite View waiting for their partner to finish their tough fight with the Legion. Considering the technical challenges as well, having both players on the same sector made the most sense.


Mercs for me, and for Thee

Both players can hire mercenaries and manage squads, but since you're on the same side, you share funds and strategize together. To remain flexible the host player can assign and reassign control over individual mercs at any time. When in a sector (tactical view) players can only order their own mercs around, with both players being able to explore the sector and interact with it at the same time. During combat both players share a turn, which ends when both players click "Ready". Easy and simple!

In the beginning we were focused on preventing the players from trolling each other. This resulted in a sort of adversarial system which included mechanics such as only one player being able to control a squad in satellite view, or prompts for standing conversations with NPCs. Through testing and iteration we shifted our focus to a system that promotes co-operation and flow rather than preventing trolling. I mean, you can always shoot your friend's mercs, but remember, they’re your mercs as well! 🙂

During development we discovered an interesting case where the host may take control over all mercs and leave none to their partner to control. With the partner unable to interact with the game all they can do is watch, which indirectly creates a kind of spectator mode for the game. It was initially reported as a bug, but it turned into a happy little feature.


Navigating the Desync Minefield

On the technical side chasing down desyncs was the most time-consuming part. For those unfamiliar with the term - a "desync" is essentially a mismatch in the result of a player's action between the two players' computers. Sometimes this can be as simple as the virtual dice landing on a different number, while other times as elaborate as a different merc appearing as hired on each person's screen.

Desyncs may occur at any time as a result of any system. From the camera, through the inventory, combat, and even animations. While we fix every bug we catch, we don't want your game to be ruined because we missed one. If you encounter a desync while playing, a popup with a "Resync" button will open on the host's screen. Clicking it will trigger a quick loading screen and your game will be resynchronized, with no progress lost or rollbacks.

Modding also directly impacts multiplayer. To ensure the game remains synchronized between the two players, any mods in use must be installed by both players. Mods that add content using our internal systems, such as weapons and mercs will be automatically synchronized. However, modders who dabble in scripting and coding will need to consider how to keep their functionality from desynchronizing and test their mods in co-op if they choose to support it.

Your Game, Your Rules - Modding in JA3

Modding has played a significant part in the history of Jagged Alliance as community made mods have ensured the game's continued longevity. Long after its original release in 1999, Jagged Alliance 2's torch keeps burning thanks to mods such as the popular 1.13 mod. From the get-go we knew how important it was to build the game with modding in mind for players and creators alike, and enable modders to create JA3's equivalent of the renowned 1.13 mod and much more!

Modders will have access to the tools we use internally to create content such as mercs, weapons, items, quests, voice responses, and can even add support for new languages.

[...]

Information about

Jagged Alliance 3

SP/MP: Single + MP
Setting: Modern
Genre: Strategy-RPG
Platform: PC
Release: Released


Details