Co-op Architecture & Project Roadmap

Co-op Architecture & Project Roadmap

Współpraca inżynierska i mapa drogowa projektu

Klasyczne gry strategiczne i RPG z końca lat 90. i początku 2000. albo były wyposażone w niestabilne sieci IPX/DirectPlay, albo miały tryb wieloosobowy usunięty tuż przed premierą. Good Old Games Dev zastępuje przestarzałe sieci jednolitym, deterministycznym transportem współdzielonym dla wszystkich czterech portów.


Porównanie trybu współpracy we wszystkich 4 portach

Port gryLiczba graczyArchitektura współpracyObsługa kampanii i zapisuKup oryginalną grę
Jagged Alliance 21–6 graczyWspólna kampania Arulco, wspólne finanse, przydział oddziałów i taktyczne tury synchronicznePełna kampania Arulco Revisited 1.4 + odzysk zapisu .cocometaGOG.com
Warlords III: Darklords Rising1–8 graczyWspółpraca na jednym ekranie i sojusznicza (SetupScr.pcx — menedżer miejsc, hotplug GUID kontrolera i deterministyczne walki)Kompletna (v1.0.0) — Pełne kampanie, 43+ scenariusze, losowe mapy i przenośne zapisyGOG.com
Anno 1503 A.D. — Royal Edition1–4 graczyPrzywrócona wielowyspowa gra wieloosobowa + Wspólna kooperacyjna kampania imperium z synchronizacją 20 HzCiągła gra i scenariusze (w trakcie)GOG.com
Arcanum1–4 graczyPełna kooperacyjna kampania fabularna, podróże po wspólnej mapie świata i zsynchronizowana tura walkaGłówny moduł fabularny Arcanum + Vormantown (w trakcie)GOG.com

Zasady determinizmu międzyplatformowego

Ponieważ pojedyncza sesja kooperacyjna może łączyć macOS ARM64, Linux x86_64 (MSI Claw / Steam Deck) oraz Linux ARM64 (Khadas VIM1S), cały kod symulacji przestrzega ścisłego determinizmu międzyarchitektonicznego:

  1. Brak niesynchronizowanego rand() ani dryfu zmiennoprzecinkowego: Wszystkie rzuty na trafienie, rozstrzyganie remisu w nawigacji AI oraz cykle gospodarcze używają jawnej arytmetyki stałoprzecinkowej i zsynchronizowanych strumieni PRNG.
  2. Synchronizacja poleceń w trybie lockstep + migawki tur: Tylko rozkazy gracza (ruch, ogień, budowa, wybór dialogu) są przesyłane przez sieć, wraz z sumami CRC32 stanu na każdy tik, aby natychmiast wykryć jakiekolwiek rozbieżności.
  3. Automatyczne ponowne połączenie i resynchronizacja zapisu: Na granicy każdej tury zapisywany jest podwójny punkt kontrolny .sav + .cocometa, dzięki czemu odłączony urządzenie przenośne lub konsola TV może dołączyć ponownie w ciągu kilku sekund.