3 Punkte von GN⁺ 2024-04-17 | 1 Kommentare | Auf WhatsApp teilen

Descent 3 Quellcode veröffentlicht

Update (2024/04/16)

  • Vielen Dank für das große Interesse und die Beteiligung in der Descent-Entwickler-Discord-Community. Es gibt bereits eine aktive Community, also beteiligt euch bitte über den untenstehenden Link.
  • In Kürze werden voraussichtlich größere Commits folgen, etwa wenn andere Entwickler parallel daran arbeiten oder Code gemergt wird, der nach der Archivierung dieses Codes geschrieben wurde.

Entwicklungsrichtung und Entscheidungen

  • Künftig wird C++17 unterstützt.
  • Für die Code-Formatierung wird clang im LLVM-Modus verwendet. Führt daher bitte clang-format aus, bevor ihr einen PR einreicht.

Erstes Release

  • Dies ist der Quellcode der neuesten Version von Descent 3 und enthält den vor einigen Jahren von Jeff Slutter und Kevin Bentley geschriebenen Patch „1.5“. Er lief damals unter Windows, Linux und Mac.
  • Einige proprietäre Sound- und Video-Bibliotheken von Interplay (ACM-, MVE-Format) wurden entfernt. Der betreffende Code ist jedoch vorhanden, daher werden Helfer gesucht, die beim Erstellen eines Konverters unterstützen, damit die alten Cutscenes wieder funktionieren. Es ist einiges an Aufwand nötig, um diesen Code so auszustubben, dass alles kompiliert.
  • Das erste Ziel ist, dass sich wieder alles kompilieren lässt; wenn möglich, sollen auch CI/CD-Actions hinzugefügt werden. Danach muss der Code aufgeräumt werden, etwa durch das Entfernen alter Versionskontroll-Kommentare. Der Großteil des Codes wurde von einem großartigen Team geschrieben, aber man sollte bedenken, dass wir damals deutlich jünger und unerfahrener waren.
  • Wer bei der Wartung helfen möchte, kann gerne eine Nachricht schicken. Andernfalls werden PRs ebenfalls sehr gerne angenommen.
  • Dies ist das letzte Update, das zeigt, wie auf unterschiedlichen Architekturen gespielt wird. Es tut uns leid, dass der 1.5-Patch nicht veröffentlicht werden konnte. Einige logistische Probleme standen im Weg.
  • Vielen Dank an Jeff Slutter, der den Großteil der Modernisierung dieses 90er-Jahre-Codes übernommen hat. Ich bin gespannt, was die Community daraus machen wird!

Meinung von GN⁺

  • Die Veröffentlichung des Quellcodes eines seit über 20 Jahren beliebten Spiels dürfte bei vielen Entwicklern Interesse wecken. Allerdings wird die Modernisierung alten Codes viel Aufwand erfordern.
  • Schon die Veröffentlichung des Quellcodes ist bedeutsam, doch bis er tatsächlich im Spiel nutzbar ist, scheinen noch viele Hürden zu bestehen, etwa Lizenzfragen, Unterstützung aktueller Plattformen und die Etablierung eines Entwicklungsprozesses.
  • Für eine nachhaltige Weiterentwicklung als Open-Source-Projekt dürften zunächst eine klare Roadmap, Richtlinien für Mitwirkende und eine Governance-Struktur nötig sein.
  • Im Bereich Open-Source-Game-Engines werden unter anderem Godot und Cocos2d-x aktiv weiterentwickelt. Es lohnt sich, ihre Vor- und Nachteile zu analysieren und über Differenzierungsansätze nachzudenken.
  • Es bleibt die Frage, ob ein 20 Jahre altes Spiel heute noch funktioniert oder eher altbacken wirkt. Eine zeitgemäße Überarbeitung zentraler Elemente wie Grafik, Sound und UI erscheint notwendig.

1 Kommentare

 
GN⁺ 2024-04-17
Hacker-News-Kommentare
  • Es werden Beispiele dafür vorgestellt, wie stark die Descent-Spielereihe das Leben einzelner Menschen geprägt hat: Jemand heiratete eine Frau, die er in einem Forum kennengelernt hatte, gab seinen Söhnen die Nicknames von Descent-Freunden als Namen und erzählte davon, wie er Hochzeiten und Beerdigungen von Bekannten besuchte.

  • Das freie 360-Grad-Flugsteuerungssystem von Descent soll später der Ursprung der Option zur Y-Achsen-Umkehr in FPS-Spielen gewesen sein. Ein Entwickler blickt darauf zurück, mit 12 Jahren die Descent-FAQ gelesen und dadurch IRC gelernt zu haben, und dass Descent großen Einfluss darauf hatte, dass er heute Ingenieur und Spieleentwickler ist.

  • Unter Wettbewerbsspielern wurde zur Maximierung der Geschwindigkeit eine Technik namens „Trichording“ verwendet, bei der mehrere Tasten gleichzeitig gedrückt werden, um sich gleichzeitig entlang von drei Achsen zu bewegen. Ob dies beabsichtigtes Design oder ein Bug war, ist unklar.

  • Die alten Sound-/Video-Bibliotheksformate (ACM, MVE) von Descent 3 wurden entfernt, aber es wurde Bereitschaft signalisiert, den Code für die Entwicklung von Konvertierungstools zu teilen. Diese Formate scheinen in FFMPEG unterstützt zu werden.

  • Für einen Ingenieur war die Descent-Reihe das Tor zur Welt des Internets. Mit 10 spielte er D1 mit Freunden per Telefonverbindung, bei D2 erlebte er Matchmaking über Kali/Kahn, lernte IRC und ICQ kennen und vertiefte sich in die neuesten PC-Upgrades. Bei D3 gehörte ein Platz unter den Top 100 der Weltrangliste zu den eindrucksvollsten Erlebnissen.

  • Es gab auch Fragen zum Ablauf und Hintergrund der Veröffentlichung des Descent 3-Quellcodes sowie dazu, ob auch bei einem anderen Interplay-Spiel, Hardwar, eine Veröffentlichung des Quellcodes möglich wäre.