3 Punkte von GN⁺ 2024-04-17 | 1 Kommentare | Auf WhatsApp teilen
  • Die Open-Source-Engine von Descent 3 wurde unter der GPL-3.0-Lizenz veröffentlicht; zur Nutzung müssen die Spieldateien separat selbst bereitgestellt werden
  • Diese veröffentlichte Version enthält den „1.5“-Patch, der früher von Kevin Bentley und Jeff Slutter geschrieben wurde
  • Dieser Patch wurde von der Descent-Community in einen stabilen Zustand gebracht
  • Für Installationsdetails wird auf USAGE.md verwiesen, für den Build-Prozess auf BUILD.md
  • Probleme beim Bauen oder Ausführen sollen im GitHub-Tracker gemeldet werden, Beiträge als Patches über GitHub eingereicht werden

Veröffentlichte Engine und Lizenz

  • Die Open-Source-Engine von Descent 3 wurde veröffentlicht
  • Die Lizenz ist GPL-3.0
  • Diese Engine enthält den „1.5“-Patch, den Kevin Bentley und Jeff Slutter vor einigen Jahren geschrieben haben
  • Dieser Patch wurde von der Descent-Community in einen stabilen Zustand gebracht

Nutzung und Build

  • Um die Engine zu nutzen, müssen Nutzer eigene Spieldateien bereitstellen
  • Details zur Installation stehen in USAGE.md
  • Für den Build des Spiels wird auf die Build-Anweisungen in BUILD.md verwiesen

Fehlermeldungen und Beiträge

  • Probleme, die beim Bauen oder Ausführen auftreten, sollen im GitHub-Tracker gemeldet werden
  • Jede und jeder kann beitragen
  • Die Entwickler-Community befindet sich auf Discord im Descent Developer Network
  • Patches müssen über GitHub eingereicht werden

1 Kommentare

 
GN⁺ 2024-04-17
Meinungen auf Hacker News
  • Ich habe dieses Spiel wirklich geliebt. Ich habe nie verstanden, warum sich dieses Konzept nicht als eigenes Genre etabliert hat.
    Es gab kein echtes Oben, man konnte sich frei in 360 Grad bewegen, und die Gegner waren klug und haben einen sogar aus der Distanz ausgeschaltet. Früher habe ich unglaublich viel Zeit damit verbracht, und ich will es unbedingt wieder ausprobieren.

    • Auch wenn niemand gefragt hat: Unter modernen Spielen gibt es mit einem ähnlichen Steuerungsschema praktisch nur ein populäres Spiel, nämlich Outer Wilds. Es ist kein Shooter, aber ein ziemlich großartiges Adventure-Spiel.
      https://store.steampowered.com/app/753640/Outer_Wilds/
      Als direkter Nachfolger dieses Subgenres gilt allerdings Overload.
      [https://store.steampowered.com/app/448850/Overload/](https://store.steampowered.com/app/448850/Overload/
    • Elite Dangerous vermittelt den Spaß an der Steuerung mit 6 Freiheitsgraden wirklich gut.
      https://youtu.be/T2-IHgNYaKA
      https://old.reddit.com/r/EliteDangerous/comments/16xi20a/dua...
      https://youtu.be/9U0KNVQmlcM
      Ich vermisse dieses Spiel.
      Zu der Aussage, man verstehe nicht, warum dieses Konzept kein Genre geworden ist: Ich denke, das liegt daran, dass Weltraum-Flugsimulatoren leider schon immer ein Nischengenre waren. Sogar noch nischiger als Flugsimulatoren.
    • 2009 gab es einen Multiplayer-Shooter in Schwerelosigkeit namens Shattered Horizon: https://www.youtube.com/watch?v=xWsHxTFPxSE
      Ein interessantes Feature war, dass man den Anzug abschalten und in einen Stealth-Modus wechseln konnte; dann verschwanden alle HUD-Elemente, und auch die meisten Gameplay-Geräusche wie Explosionen oder vorbeizischende Kugeln wurden abgeschaltet.
      Im Universum des Spiels wurden all diese Geräusche vom Anzugcomputer erzeugt, und die Prämisse war, dass der Weltraum still ist.
    • Freespace war, ob offiziell oder nicht, ziemlich nah an einem Nachfolger. Freespace 2 war großartig, und ich glaube, es würde auch heute noch funktionieren.
      Heute gibt es mit Elite Dangerous eine moderne Variante, aber die Flugmechanik ist zu nah an der von Flugzeugen, als dass man es gut mit Descent vergleichen könnte.
    • An den Teil „die Gegner waren klug und haben einen sogar aus der Distanz ausgeschaltet“ erinnere ich mich.
      Ich habe Descent 1 auf der PS1 gespielt, und ich erinnere mich, dass auf der Packung stand, die Gegner würden sich an den Spielstil anpassen. Nachdem ich älter geworden bin und Machine Learning sowie einige KI-Techniken studiert habe, habe ich mich immer gefragt, was genau das bedeuten sollte.
      Meine PS1 wird wohl kaum Gradientenabstieg ausgeführt haben; welcher Trick steckte also hinter der Behauptung, die Gegner würden den Spieler lernen und sich anpassen?
  • Meine Frau und ich haben uns in den Descent-Foren kennengelernt, und die Namen unserer drei Söhne stammen von Descent-Freunden: KoolBear, Jediluke und Mark392. Wir waren auch auf Hochzeiten von Descent-Freunden, und leider auch auf Beerdigungen; ruhe in Frieden, JinX.
    Ich hielt D3 für den schwächsten Teil der Descent-Reihe, aber diese Nachricht freut mich wirklich. Danke an Kevin.

    • Nachdem ich jahrelang nur mitgelesen habe, habe ich mir schließlich einen Account erstellt, um das hier zu schreiben. Ich erinnere mich noch, als du und Drakona geheiratet habt. Nochmals herzlichen Glückwunsch.
      Es ist weit über 15 Jahre her, dass ich zuletzt in der Descent-Community aktiv war. Als die PlanetDescent-E-Mail verschwand, verlor ich auch den Zugriff auf mein ICQ-Konto, und online benutze ich den Namen DCrazy inzwischen auch nicht mehr. Auch, weil ich mich ein wenig von meinem damaligen, frühen Teenager-Ich distanzieren möchte.
      Trotzdem hatte Descent, besonders D3, großen Einfluss darauf, dass ich in die Softwareentwicklung gegangen bin, und ich bin für diese Erinnerungen immer dankbar.
    • KoolBear, Jediluke, Mark392 – das sind die Namen der Kinder?
    • Ich erinnere mich an KoolBear aus der Zeit, als wir auf Kali gespielt haben. Da kommen schöne Erinnerungen hoch.
    • Ich finde die Vorstellung großartig, dass eines der Kinder buchstäblich „koolbear“ heißt.
  • Mit 12 habe ich beim Lesen der Descent-FAQ IRC kennengelernt und versucht, IHHD über ein 14,4k-Modem einzurichten, um zu spielen. Mit DEVIL habe ich auch Level gebaut.
    Heute bin ich Ingenieur und Spieleentwickler. Danke, dass ihr Descent in die Welt gebracht habt. Auf mich persönlich hatte es einen enormen Einfluss.

    • Ich denke oft, dass man früher unglaublich viel lernen konnte, wenn man versuchte, ein Spiel zum Laufen zu bringen. Probleme zu beheben, um ein Spiel spielen zu können, war eine enorme Motivation, und wenn ein Spiel mehr Speicher verlangte, musste man Dinge wie MS-DOS-Speicheroptimierung machen.
      Schon allein an ein Spiel heranzukommen, war meist eine Reise für sich.
      Kinder haben heute unendlich viele Spiele auf dem Handy. Sie kommen kaum noch mit dem darunterliegenden System in Berührung, und es ist auch keine Anstrengung nötig. Einfach herunterladen und das nächste halbwegs gute Spiel spielen.
      Ich glaube, diese Generation verpasst da etwas.
  • Das Steuerungsschema von Descent war für mich der Auslöser, der die Invertierung der Y-Achse in First-Person-Spielen für immer fest verdrahtet hat.
    Mein Gehirn passte perfekt zur Denkweise mit sechs Freiheitsgraden, und danach mussten sich alle FPS-Spiele daran anpassen, selbst wenn sie nicht auf Fliegen basierten.

    • Du hast Descent mit der Maus gespielt? Wir hatten beide Hände auf der Tastatur. Mit dem Nummernblock haben wir Blickrichtung, Strafe-Bewegungen und Rotation gesteuert, mit den linken Tasten Bewegung und Feuer.
      Waren nur wir so unterwegs?
    • Spieler mit invertierter Y-Achse, vereinigt euch!
      Descent hat zusammen mit Flight Simulator 95 seinen Teil dazu beigetragen, mein Gehirn zu ruinieren. Ohne invertierte Y-Achse kann ich nicht spielen.
    • Ich bin so sehr an die invertierte Y-Achse gewöhnt, dass ich kein FPS mit den Standardeinstellungen spielen kann; das ist immer das Erste, was ich in den Spieleinstellungen ändere.
      Ich wünschte, die Standardeinstellung in allen Spielen wäre invertierte Y-Achse. Ich weiß nicht mehr, wann ich mich daran gewöhnt habe, vermutlich bei X-Wing oder Quake.
    • Früher hatten alle Spiele das, was man heute invertierte Y-Achse nennt, als Standard.
      Es kommt wohl von der Flugzeugsteuerung, bei der die Nase hochgeht, wenn man zieht. Stick, Joystick, Yoke – alles so. Counter-Strike hat es ruiniert. :)
    • Ich frage mich, ob ich der Einzige war, der bei Third-Person-Spielen mit Gamepad beide Achsen invertieren wollte.
      Am Ende fühlten sich für mich beide Steuerungsarten gleichermaßen unintuitiv an, und ich werde wohl warten müssen, bis jemand ein modernes Zelda mit der Maus ordentlich zum Laufen bringt.
  • Ein paar Freunde von mir spielten Descent kompetitiv, und ich war überrascht, als ich vom sogenannten Trichording erfuhr. Um die Geschwindigkeit zu maximieren, muss man mehrere Tasten gleichzeitig drücken und sich auf drei Achsen zugleich bewegen. Zum Beispiel vorwärts/rechts/hoch.
    Die Besten schießen diagonal durch die Maps.
    Ich habe das immer für einen Fall gehalten, in dem ein Bug zum Feature wurde, ähnlich wie das Skifahren in Tribes. Ich habe gerade im Repository nach Hinweisen gesucht, aber rund um die Codezeilen, in denen das passiert, letztlich keine relevanten Kommentare gefunden.
    https://github.com/kevinbentley/Descent3/blob/142052a67d4318...

    • Soweit ich weiß, war ein ähnliches Phänomen in vielen Shootern möglich. Wenn man seitwärts läuft und gleichzeitig vorwärts, also diagonal rennt, bekam man vermutlich wegen nachlässigem Design eine Geschwindigkeit von sqrt(x^2 + y^2), weil die Bewegungsgeschwindigkeit in jede Richtung gleich war.
      In Descent kam noch die Hoch/Runter-Achse dazu, sodass man etwa 1,7-mal so schnell war wie nur beim Vorwärtsflug.
      Descent 2 und 3 hatten außerdem einen Afterburner, der die Vorwärtsgeschwindigkeit erhöhte. Die Energie war begrenzt, lud sich aber ziemlich schnell wieder auf; bei 100 % Energie war der Boost am stärksten, und je näher die verbleibende Energie an 0 % sank, desto ineffizienter wurde er.
      Deshalb lernten die Leute, ihn mehrmals pro Sekunde kurz ein- und auszuschalten, sodass er zwischen den extrem kurzen Nutzungen wieder auflud und statt auf niedrige Werte abzustürzen immer bei etwa 95 % blieb.
      Wenn man wirklich schnell sein wollte, musste man sich dreidimensional diagonal bewegen und den Afterburner mehrmals pro Sekunde pulsartig betätigen.
    • Ursprünglich sahen die Designer das weder als Bug noch als Feature; eher hatten sie einfach nicht groß darüber nachgedacht.
      Nachdem es entdeckt worden war, sahen manche Designer es negativ, andere positiv, und selbst Jahre nach ihrem Abschied von Descent, als sich das Team wieder zusammentat, um Overload zu entwickeln, war es noch ein Streitpunkt.
      Meine Frau und ich moddeten D1, um ein paar Alternativen zu testen, und führten Mike/Matt/Luke/Dan sowie den Leuten, die an dem Tag im Studio waren, eine Demo vor. Am Ende kamen wir zu dem Schluss, dass sich „Vektorunabhängigkeit einfach gut anfühlt“, und deshalb bekam Overload eine Umschaltfunktion zwischen einem normalisierten Flugmodus mit schnellerem eindimensionalem Flug und einem Trichording-Modus.
    • In 2D ist die Diagonale eines 1x1-Quadrats länger als seine Seiten.
      Eine naive Implementierung, die einfach die x- und y-Vektoren addiert, ergibt einen Summenvektor und macht einen um die Länge der Diagonalen schneller, also um das 1,41-Fache. In 3D wird es noch mehr.
      Das ist in vielen alten Spielen ein sehr häufiger Bug und zugleich ein Feature.
      Quake berücksichtigte diesen Bug beim Gehen, aber nicht beim Springen; daraus entstand die komplexere Technik zur Geschwindigkeitssteigerung namens Strafe-Jumping.
    • Den Berechnungen nach sieht es so aus, als würden die einzelnen Eingaben addiert, ohne den endgültigen Schubvektor anschließend wieder zu normalisieren. Auf ein 2D-Spiel vereinfacht etwa so:
      var playerX_input = Input.GetHorizontal(); // float in range -1 to 1
      var playerY_input = Input.GetVertical(); // float in range -1 to 1
      var playerVelocity = new Vector2(playerX_input, playerY_input);
      Jetzt kann sich der Spieler um 1 Einheit/Frame auf X und um 1 Einheit/Frame auf Y bewegen; bei diagonaler Bewegung hat der Geschwindigkeitsvektor die Länge des Vektors (1,1), also sqrt(2), ungefähr 1,41.
      Um das zu korrigieren, könnte man ungefähr Folgendes tun:
      if(playerVelocity.length > 1)
      {
      playerVelocity = playerVelocity.normalized();
      }
    • In der kompetitiven Ladder nutzten einige der besten Spieler beim Trichording Rotation, um auf gekrümmten Bahnen zu „steuern“.
      Dadurch waren sie von hinten wirklich schwer zu treffen.
      Ich habe gegen ein paar Ladder-Spieler gespielt und war verblüfft, weil das ein völlig anderes Skill-Niveau war.
      Einer der Gründe, warum diese ursprünglichen Spiele für mich so faszinierend waren, war, dass es praktisch keine Skill-Obergrenze gab.
      Es wäre wirklich großartig gewesen, solche Matches auf Streaming-Plattformen sehen zu können.
  • Der Referenzlink zu dem Teil „Jemand hat kürzlich gefragt, ob der Quellcode von Descent 3 veröffentlicht wird“: https://news.ycombinator.com/item?id=40009248
    Wirklich großartig, danke.

  • Zu dem Abschnitt „Einige proprietäre Sound- und Video-Bibliotheken von Interplay wurden entfernt. Es geht um die Formate ACM und MVE. Falls jemand helfen möchte, einen Konverter zu schreiben, damit die alten Cutscenes funktionieren: Ich habe diesen Code. Es wird etwas Arbeit kosten, den Code mit Stubs zu versehen, damit er kompiliert“: Zur Info, FFMPEG scheint diese Formate zu unterstützen.

  • Ich frage mich, was nötig war, um im Hintergrund die Zustimmung zu bekommen. Kannst du den Entscheidungsprozess ein wenig erklären? Das ist eine gute Sache, aber heutzutage viel zu selten.

    • Ich hatte den Code die ganze Zeit über weiter bei mir und arbeitete vor etwa 15 Jahren daran, ein paar alte Bugs zu beheben.
      Schon damals war davon die Rede, den Code zu veröffentlichen, aber ich wollte zuerst Patches herausbringen und einen Ersatz für den MVE-Decoder finden.
      Vor ein paar Tagen habe ich hier in den Kommentaren zu einem anderen Beitrag den Eigentümer per Mail gefragt, ob ich den nicht veröffentlichbaren Code entfernen und einfach weitermachen dürfe; er antwortete: „Ja, mach ruhig.“
  • Auf der Wikipedia-Seite habe ich dieses Kleinod gefunden[0]:
    „Eine 2002 veröffentlichte Studie nutzte Descent 3, um die Flugaktivität von Schwärmern zu untersuchen. Mithilfe des Editor-Moduls des Spiels erstellten die Forscher eine virtuelle Umgebung, die aus einer flachen Ebene mit rechteckigen Säulen bestand, in der das Tier erfolgreich navigierte.“
    [0] https://en.wikipedia.org/wiki/Descent_3#Other_uses

    • Ziemlich verrückte Arbeit. Eine Szene wie aus Clockwork Orange: eine Motte in eine VR-Maschine eingespannt, dazu Pheromon-Sprüher und Elektroden.
      „In diesem Paper beschreiben wir den Entwurf eines neuartigen Insekten-Flugsimulators, der eine realistische und interaktive visuelle Umgebung mit mechanosensorischen und olfaktorischen Reizen kombiniert und zusammen mit modernen mehrkanaligen neurophysiologischen Aufzeichnungstechniken eingesetzt wird. Das System nutzt aktuell verfügbare Computertechnologie und MEMS-Fertigungstechniken und wird verwendet, um parallel die Aktivität mehrerer Neuronen des zentralen Nervensystems während eines realistischen Closed-Loop-Flugs des Schwärmers Manduca sexta zu untersuchen.“
      https://www.sciencedirect.com/science/article/abs/pii/S01650...
  • Ich habe gehört, dass viele Leute Descent mögen, und es sah auch großartig aus. Es wirkte ein bisschen wie eine Mischung aus X-Wing und Quake.
    Aber ich konnte es nicht länger als ein paar Minuten spielen, und in meiner langen Spielerkarriere war es vielleicht das erste Spiel, das ich so schnell aufgegeben habe. Es hat etwas Beunruhigendes an sich, als würde man mit Boxhandschuhen Magnete handhaben. Schon beim Anschauen von Gameplay-Videos habe ich dasselbe Gefühl.