2 Punkte von GN⁺ 2023-08-11 | 1 Kommentare | Auf WhatsApp teilen
  • Die 2023 neu veröffentlichte Version von Quake II führt eine neue API für die Kommunikation zwischen Server und Spielmodulen, ein neues Netzwerkprotokoll sowie ein „Client-Game“-Modul für verbesserte Modding-Möglichkeiten ein.
  • Die aktualisierte Codebasis führt die getrennten Spielmodule des Originalspiels zusammen und erfordert einen C++17-Compiler.
  • Die Spiel-DLL ist mit Clang, VS2019 und VS2022 kompatibel und kann sowohl mit C++17 als auch mit C++20 kompiliert werden.
  • Die Neuveröffentlichung unterstützt eine Tickrate von 40 Hz und bietet damit gegenüber den ursprünglichen 10 Hz ein besseres Spielerlebnis und mehr Präzision.
  • Die Spiel-DLL verwendet in Funktionen nun keine Varargs mehr und überträgt die Verantwortung für die Formatierung an den Aufrufer.
  • Die Neuveröffentlichung enthält Änderungen an mathematischen Funktionen, um die Arbeit zu erleichtern, nutzt constexpr, wo sinnvoll, und verwendet Operatorüberladung.
  • Zu den Änderungen daran, wie festgestellt wird, ob eine Entity für den Client in einem Frame sichtbar ist, gehören Split-Screen-Unterstützung und Sound-Attenuation-Culling.
  • Die Neuveröffentlichung bietet erweiterte Modding-Möglichkeiten, aufgrund größerer Strukturänderungen müssen bestehende Mods jedoch möglicherweise für die neue Codebasis neu geschrieben werden.
  • Die Spielerbewegung wurde angepasst, sodass Spielmodule die Physik verändern können und dennoch mit Client Prediction funktionieren.
  • Configstrings wurden aktualisiert: Die maximale Länge wurde von 64 auf 96 erhöht, und bestimmte Bereiche können sich nun über mehrere Zeilen erstrecken.
  • Die Neuveröffentlichung enthält Änderungen an Strukturen, fügt svflags neue Flags hinzu und ändert effects_t von uint32_t zu uint64_t, um mehr Effekte darstellen zu können.
  • Um zu verhindern, dass derselbe Effekt mehrfach an Split-Screen-Spieler gesendet wird, wurde ein neuer Parameter _key eingeführt.
  • Das Speichersystem schreibt Level- und Spieldaten nun in UTF-8-JSON, damit Entwickler sie leichter durchsuchen können.
  • Das Speichersystem interagiert nicht mehr direkt mit dem Dateisystem, und andere Mods müssen nicht zwingend JSON verwenden.
  • Das Quake-II-Serverprotokoll wurde aktualisiert, einschließlich der Entfernung von Out-of-Band-Challenges, Änderungen an Verbindungsnachrichten und verschiedener Updates für svc-Pakete.
  • Der Text bietet eine ausführliche Erklärung verschiedener Server-Client-Interaktionen, wie unterschiedliche Datentypen aus Bitstreams gelesen werden und wie bestimmte Flags und Schlüssel in Daten verarbeitet werden.
  • Der Text erläutert außerdem die Funktionen verschiedener Server-Client-Pakete wie svc_waitingforplayers, svc_bot_chat, svc_poi, svc_help_path und svc_achievement sowie, wie ihre Daten gelesen werden.
  • Das Paket clc_stringcmd wird verwendet, um String-Befehle vom Client an den Server zu lesen.
  • Der Text beschreibt außerdem, wie Sonderfälle behandelt werden, etwa wenn für einen POI ein von 0 verschiedener Schlüssel angegeben wird oder wenn die Zeit eines POI auf 0xFFFF oder 0 gesetzt ist.

1 Kommentare

 
GN⁺ 2023-08-11
Hacker-News-Kommentare
  • Die erneute Veröffentlichung des Quellcodes von Quake II löste in der Tech-Community eine Welle der Nostalgie aus
  • Viele Kommentierende berichteten, dass sie mit Quake II das Programmieren gelernt haben; der klare und konsistente Code des Spiels wurde als hervorragendes Lernwerkzeug hervorgehoben
  • Quake II wurde in den späten 1990er- und frühen 2000er-Jahren genutzt, um Kindern VR-Unterricht zu geben, wobei sie eigene Virtual-Reality-Spiellevel erstellten
  • Einige Nutzer teilten Erinnerungen daran, Mods für das Spiel erstellt zu haben; ein Nutzer führt sogar seine Karriere als Computerprogrammierer auf frühe Erfahrungen mit Quake II zurück
  • Die Veröffentlichung löste auch eine Diskussion über die Bewahrung alter Spiele aus; einige Nutzer schlugen vor, dass Spiele, die nicht mehr verkauft oder unterstützt werden, wegen ihrer kulturellen Bedeutung als Open Source veröffentlicht werden sollten
  • Die erneute Veröffentlichung des Quake-II-Quellcodes wurde auch für die Kompatibilität mit modernen Programmierwerkzeugen wie clang gelobt
  • Einige Nutzer äußerten Enttäuschung darüber, dass die Neuveröffentlichung keine Linux-Version enthält, erkannten aber an, dass iD als Spieleentwickler seinen Prinzipien treu bleibt
  • Die Neuveröffentlichung löste außerdem eine Diskussion über die Konvention aus, Typen in dem in Quake II verwendeten C/C++ mit dem Suffix _t zu versehen
  • Nutzer empfehlen, Quake2Quest auf der Oculus Quest 2 auszuprobieren, um nostalgische Spielerlebnisse wieder aufleben zu lassen