3
In einem neuen Entwicklertagebuch widmen sich die Entwickler von Jagged Alliance 3 dem Thema Koop als Multiplayer-Modus.
Nur noch wenige Tage bis zum Release von Jagged Alliance 3, aber ein wichtiges Thema haben THQ Nordic und Haemimont Games bisher noch nicht detailliert vorgestellt: den Online-Koop.
JA3: Koop mit Host und Partner
Jagged Alliance 3 ist bekanntlich ein Singleplayer-Spiel, der Multiplayer wird allein als Online-Koop umgesetzt, wo Haemimont Games schon einige Erfahrungen in der Vergangenheit sammeln konnte. Wie schaffen es die Entwickler, die Singleplayer-Kampagne als Erlebnis für zwei Spieler umzusetzen, um damit auch die Wiederspielbarkeit zu erhöhen? Ausgangspunkt ist die Aufteilung der Rollen: Ein Spieler ist der Host, er initiiert das Spiel auch, der andere Spieler ist der "Partner"; er kann zu Beginn einer Kampagne dazustoßen und mitten in einem laufenden Spiel.
Quelle: THQJagged Alliance 3: So wird ein Koop-Spiel eröffnetDas bedingt auch, dass der "Gastgeber" zu jedem Zeitpunkt Spiele speichern und laden kann, "als würde er allein spielen, und sein Partner ist mit dabei". Es gebe damit "keinen funktionalen Unterschied" zwischen einem Speicherstand, der im Koop-Modus oder im Einzelspielermodus erstellt wurde. Der Host kann den Spielstand auch einfach im Einzelspieler weiterspielen, wenn der Koop-Partner aufhört. Beide Spieler können auch "jeden Speicherstand" (automatische oder manuelle Speicherstände), der während des Koop-Gameplays erstellt wurde, laden und im Einzelspielermodus fortsetzen. Haemimont hat dabei ein System implementiert, bei dem Gespräche mit NPCs vom Spieler gesteuert werden, der sie initiiert hat, "aber beide Spieler das Gespräch in Echtzeit beobachten können". Der andere Spieler kann sogar Vorschläge für Gesprächsoptionen machen.
Die Entwickler von JA3 machen im Tagebuch auch klar, was sich zwar toll anhört, aber technisch schwierig ist. So können die beiden Spieler nicht in getrennten Sektoren agieren und die taktische Ansicht erkunden. Da die meisten Missionen in mehreren Sektoren stattfinden, wäre das zu verwirrend. Dazu kommt, dass es ein Problem wäre, wenn die Spieler getrennt kämpfen und auf den anderen warten müssen. Also befinden sich beide Koop-Spieler immer im selben Sektor.
Jagged Alliance 3: Wie funktioniert der Online-Koop?JA3: Wie werden Söldner aufgeteilt?
Die beiden Spieler teilen sich die Kohle und planen damit auch gemeinsam, welche Söldner angeheuert und wie der Trupp verwaltet wird. Der Host legt dabei fest, welcher Söldner von welchem Spieler gesteuert wird. In der Taktikansicht kann man dann nur die eigenen Söldner befehligen. In der Kampfansicht teilen sich die Koop-Partner den Zug, die Runde endet, wenn beide das Signal geben. Trolling wird im Koop zwar nicht verhindert, also gibt es auch Friendly Fire, aber das System zur reibungslosen Zusammenarbeit war den Entwickler wichtiger als alles andere.
Geile Spiele, geile Artikel: Jetzt Cities Skylines 2, Starfield oder Jagged Alliance 3 im Dream-Team-BundleJA 3: Wie werden Desyncs verhindert?
Koop-Spiele leiden gerne mal unter dem Phänomen der Desynchronisierung, also einer "Abweichung im Ergebnis einer Aktion eines Spielers zwischen den Computern der beiden Spieler". Desyncs können dabei "jederzeit als Ergebnis jedes Systems auftreten: von der Kamera über das Inventar, den Kampf bis hin zu den Animationen". Haemimont Games ist zwar bemüht, jeden Desync-Fehler zu beheben, trotzdem gibt es eine Art Fallback für den Fall der Fälle. Wenn man während des Spiels auf eine Desynchronisierung stößt, wird auf dem Bildschirm des Gastgebers ein Pop-up mit einem "Resynchronisieren"-Button geöffnet. Wenn man darauf klickt, wird ein schneller Ladebildschirm ausgelöst und Ihr Spiel wird resynchronisiert, ohne dass dabei Fortschritte verloren gehen oder Rückschritte gemacht werden.
Wie finden Sie den Koop in Jagged Alliance 3? Nutzen Sie die Kommentarfunktion und teilen Sie uns Ihre Meinung mit. Zum Kommentieren müssten Sie auf PCGH.de oder im Extreme-Forum eingeloggt sein. Sollten Sie noch keinen Account haben, könnten Sie über eine Registrierung nachdenken, die viele Vorteile mit sich bringt. Beachten Sie beim Kommentieren aber bitte die gültigen Forenregeln.
').css('opacity', 0).html(tip).appendTo('body');self.init();self.target.on('mouseleave', () => {console.log('mouseleave');console.log($('#shareDialog').hasClass('is-open'));if ($('#shareDialog').hasClass('is-open')) {self.remove();}});self.tooltip.on('click', () => {self.remove();});});$(window).on('resize', () => {self.init();});}/*** @param target* @param info* @param timeout*/showTemporary(target, info, timeout) {let self = this;timeout = timeout || 10;this.target = target;let tip = self.textList[info];if (!tip || tip == '') {return false;}if (this.tooltip) {this.tooltip.remove();}this.tooltip = $('').css('opacity', 0).html(tip).appendTo('body');this.init();setTimeout(() => {self.remove();$(this.target).removeClass('active');}, timeout * 1000);}/****/remove() {if (!this.tooltip) {return;}this.tooltip.animate({top: '-=10',opacity: 0}, 50, function() {$(this).remove();});}/****/init() {if (!this.tooltip || !this.target) {return;}this.tooltip.addClass('dBlk');}}ctcTooltip = new ctcTooltips();$(document).on('click', '.shareCopy', function() {$(this).addClass('active');copyToClipboardNew($(this));});var copyToClipboardNew = function(target) {var textArea = document.createElement('textarea'),text = target.data('text');textArea.style.position = 'fixed';textArea.style.top = 0;textArea.style.left = 0;textArea.style.width = '2em';textArea.style.height = '2em';textArea.style.padding = 0;textArea.style.border = 'none';textArea.style.outline = 'none';textArea.style.boxShadow = 'none';textArea.style.background = 'transparent';textArea.value = text;document.body.appendChild(textArea);textArea.focus();textArea.select();try {var successful = document.execCommand('copy');if (successful) {ctcTooltip.showTemporary(target, 'link_copied', 2);} else {ctcTooltip.showTemporary(target, 'link_copy_error');}} catch (err) {}document.body.removeChild(textArea);};var closeShareWidget = function(delay) {setTimeout(function() {shareDialog.classList.remove('is-open');}, delay);}jQuery(document).on('click', '.jsShare', function() {shareDialog.classList.add('is-open');jQuery(document).on('click', '#shareDialog', function() {if (event.target.nodeName == 'I') {closeShareWidget();} else {var container = $('.shareWrapper');if ((!container.is(event.target) && !container.has(event.target).length) || event.target.nodeName == 'A') {closeShareWidget();}}});})3