Olympus-Benutzeroberfläche und Multiplayer-Code in der Sims 4-Engine

Hallo allerseits, Sie haben vielleicht bemerkt, dass ich die Zügel in dieser Sache übernehmen durfte. Ich bin TwistedMexi. Sie kennen mich vielleicht, aber falls Sie es nicht tun, bin ich ein Modder, der seit dem Start stark in die Arbeitsweise von TS4 investiert wurde, und heute habe ich einige Neuigkeiten, die das jetzt zweieinhalbjährige Rätsel lösen können Das ist die Sims 4.

Olympus UI

Mit dem Start von The Sims Mobile sind einige alte Murren über "The Sims 4 (Olympus)" aufgetaucht. Zu Recht, aber die Spieler beginnen zu glauben, Olympus sei immer für die Sims Mobile gedacht. Ich bin hier, um Ihnen zu sagen, Die Sims 4 ist absolut Olympus, oder genauer gesagt, die Sims 4- Benutzeroberfläche ist Olympus. Unten sehen Sie ein Bild von einer der dekompilierten UI-Dateien, auf die Olympus verwiesen wird. Ich versichere Ihnen, dass dies durch die gesamten UI-Komponenten geschnürt wird. Wenn Sie jedoch mehr Beweise benötigen, habe ich Olympus auch im Quellcode der Hauptassembly gefunden, etwas, auf das bis jetzt nicht zugegriffen werden konnte. Darin können Sie sehen, dass Olympus direkt mit dem Kern des Spiels verbunden ist. Und zum Schluss möchte ich die Zweifler daran erinnern, dass in einem der Konzeptvideos tatsächlich TS4-Logos enthalten waren.

Zusammenfassend ist The Sims Mobile also nicht Olympus. Olympus war ein Codename für die UI-Komponente der Sims 4. Ich weiß, dass es üblich ist, Olympus als Online-Funktionalität zu betrachten, aber sie waren nicht miteinander verbunden. Die Spieler stellten die Verbindung her ( Wortspiel, sorry ), da Online-Funktionen in der Sims 4 zufällig vorhanden waren UI-Konzeptvideo. Das Sims Mobile leiht sich anscheinend viel Geld aus Sims 4-Assets, obwohl diese neu gestaltet wurden. Was nicht kopiert wurde, ist die Engine, die wir 2013 in diesem Konzeptvideo gesehen haben. Eine PC-Engine kann nicht direkt auf Plattformen wie Android und iOS konvertiert werden. Sie sind sehr viel ihr eigenes Tier. (Mit Ausnahme von Multi-Plattform-Entwicklungstools wie Unity). Ich habe die Sims Mobile APK dekompiliert und die verwendete Engine wurde von EAs Firemonkey Studios, ihrem Entwicklungsstudio für mobile Spiele, ausgeliehen. Das Spiel ist neu, wurde aber wahrscheinlich entwickelt, um die ungenutzten Ressourcen der Olympus-Ära zu nutzen.

Die Sims 4 hatten Multiplayer

Ah, das Thema, das seit Jahren ohne Antwort durch die Luft geweht wird. Heute hat es einen. Die Sims 4 war ein Multiplayer-Spiel. Diesmal gibt es keine Verschwörungstheorie, keinen Zweifel oder Hörensagen. Nur Informationen direkt aus dem ausführbaren Code von Die Sims 4.

Verweise auf Multiplayer-Einladungen und Multiplayer-Interaktionen sowohl in der C ++ - als auch in der Python-Engine. Es enthält auch einen Befehlsschalter, der besagt (nur Offline-Simulation), dass es eine Online-Simulation gibt.

C ++ - Verweise auf Einstellungen für die Mehrspieler-Beitrittsfähigkeit

Ich werde den Speicherauszug der C ++ - Einträge weiter unten fortsetzen, aber zuerst möchte ich einen Einblick in den aktuellen Status von Die Sims 4 geben. Als Die Sims 4 entwickelt wurde, hatte EA mit einem kürzlich gestarteten und fehlgeschlagenen "Immer" zu kämpfen -online ”SimCity-Produkt. Vorausgesetzt, EA hat an diese Strategie für seine anderen Produkte geglaubt, ist es sinnvoll, dass TS4 als Multiplayer-Plattform gestartet ist. Es gibt einige Gründe, warum ich persönlich immer behauptet habe, dass das Spiel online sein sollte.

  • Der Hauptgrund ist die Art und Weise, wie das Spiel heute strukturiert ist. Wenn Sie nicht wissen, ist The Sims 4 in zwei Hauptkomponenten aufgeteilt. Sie haben den modding-freundlichen Python-Code (Skript-Mods) und das normalerweise geschlossene C ++. Diese beiden Sprachen sprechen nicht miteinander und werden stattdessen von so genannten Protokollpuffern ("Protobuf") überbrückt. Protobuf ist eine großartige Technologie, die Sie jedoch normalerweise für den Datenaustausch über Netzwerke verwenden würden. Meiner Beobachtung nach scheint der Grund, warum wir diesen offenen Python-Code erhalten haben, darin zu liegen, dass die Programmierer den Client-Teil des Spiels schnell ersetzen mussten, als sie auf Offline umstellten. Der C ++ - Teil ist höchstwahrscheinlich der ursprüngliche Server-Teil des Spiels. Ich kann das Folgende nicht bestätigen, aber ich vermute, dass diese überbrückte Kommunikation ein großer Grund dafür ist, warum die Simulation Probleme hat, mit höheren Geschwindigkeiten Schritt zu halten.
  • Der Ausschluss von CASt könnte eine Folge davon sein, da benutzerdefinierte Daten für Objekte und Sims eine Menge Netcode-Anforderungen mit sich bringen würden, um alles auf mehreren Clients korrekt anzuzeigen.
  • Gleiches gilt für die Geländemodifikation. Indem Sie das Gelände konsistent halten, müssen Sie das Geländemodell nicht mehr zwischen Clients synchronisieren.
  • Das kleinere geschlossene Lot-System ist auch für die Mehrspieler-Funktionalität förderlich. Dies ist die gleiche Einschränkung, die wir bei SimCity erlebt haben, und es ist wahrscheinlich, dass wir heute viele Bereiche durch Laden von Bildschirmen getrennt haben. Die Nachbarschaften hätten mit rund 4 Losen für 4 Spieler als sozialer Raum gedient… was mich zum nächsten Bild bringt.

( Warnung: Incoming Data Dump )

Die Benutzer 1 bis 4 werden hier erwähnt, was impliziert, dass das Limit der Spieler in einem bestimmten Fall gewesen wäre. SendServerFPS und SendClock sind auch von besonderem Interesse, da sie eine Synchronisierung erfordern. Sie können SendChatMessage auch hier sehen.

Zahlreiche Hinweise zur Chat-Funktionalität, wie im Olympus-Konzeptvideo zu sehen. Es gibt auch "generalchat", eine Registerkarte im Konzept-Chat-Fenster.

"KLoginStatusClientMustPatchOnline" - Dies scheint eine Bedingung zu sein, bei der Sie Updates herunterladen müssen, bevor Sie eine Verbindung zum Spiel herstellen können. Eine Situation, die bei Multiplayer-Spielen häufig vorkommt.

Bemerkenswert ist auch kLoginStatusUserIsBanned - die Frage ist, wovon sie gebannt würden? Der Gameplay-Server? Es ist nicht die Galerie, denn wie Sie sehen, gibt es dafür ein separates Flag - "kLoginStatusUserGalleryBanned".

Bemerkenswert: SIM_SERVER_RESPONSE_FAILED, SG_CONNECTION_STATUS_LOGINRESPONSE und SIM_REL_HANDSHAKE_UPDATE.

Der Beziehungs-Handshake ist besonders interessant, da dies eine gebräuchliche Terminologie bei der Vernetzung ist. Ein Handshake ist eine Art Bestätigung eines neuen Status (dh, der Sim von Spieler 1 bewegt sich in den Sim von Spieler 2, wie wir ihn in einem Olympus-Konzeptvideo sehen).

Einige zusätzliche Datensätze, die möglicherweise nicht mit der Multiplayer-Funktionalität zusammenhängen.

FRIENDSIMHOME, ConnectedNeighborhoodLot und CASConnectionTimeoutMS sind erwähnenswert. Letzteres impliziert eine Zeitüberschreitung in Millisekunden für CAS. Dies ist etwas, das Sie normalerweise sehen würden, wenn eine Serververbindung erforderlich wäre, von der wir wissen, dass CAS dies nicht tut.

AKTUALISIEREN:

Methoden, um Beziehungen zu knüpfen / anderen Spielern in einem Haushalt beizutreten (wie im Olympus-Konzeptvideo zu sehen)

Also, wo bleibt uns das übrig? Nun, Sie können es selbst sehen. Sie verwenden Olympus (oder einen viel erträglicheren Nachkommen davon) jedes Mal, wenn Sie Die Sims 4 laden. Sims 4 sollte online sein. Dann war es nicht. Vielleicht sollten Modder dankbar sein, da dies zu unserer neu entdeckten Flexibilität geführt haben könnte, oder wir sollten es für die mit ihm verbundenen Lagerbeschränkungen verfluchen. Das überlasse ich der Community.

PS: Das gab es und ich weiß, dass es heute in irgendeiner Form existiert. Guru's, wie wäre es, ein Community-Devkit fallen zu lassen? Nur ein kleiner?

 

Lassen Sie Ihren Kommentar