3 Punkte von GN⁺ 2024-05-18 | 1 Kommentare | Auf WhatsApp teilen

Nicht-euklidisches Doom: Was passiert mit einem Spiel, wenn Pi nicht 3,14159 ist

  • Vortragender: Luke Gotszling
  • Videolänge: 19 Minuten
  • Veranstaltung: MCH2022
  • Datum: 2022-07-23 ~ 2022-07-24

Die Bedeutung des Pi-Werts

  • Der Wert von Pi (π) ist eine feste Konstante und spielt in der Grafikprogrammierung eine wichtige Rolle beim visuellen Rendering.
  • Trigonometrie und andere mathematische Verfahren sind ebenfalls essenziell für das visuelle Rendering.
  • Es wurde entdeckt, dass der im Quellcode des Spiels Doom verwendete Pi-Wert falsch war.

Auswirkungen einer Änderung des Pi-Werts

  • Es wird untersucht, was im Spiel passiert, wenn der Pi-Wert auf einen noch falscheren Wert geändert wird.
  • Auch die Auswirkungen werden betrachtet, wenn andere trigonometrische Funktionen und Konstanten auf falsche Werte geändert werden.
  • Analysiert wird, wie solche Änderungen unser Verständnis und unsere Fähigkeit beeinflussen, eine virtuelle Welt zu erkunden.

Möglichkeiten der nicht-euklidischen Geometrie

  • Es wird untersucht, ob die Anwendung nicht-euklidischer Geometrie interessante Möglichkeiten im Spiel eröffnet.
  • Außerdem werden einige Tricks kurz erklärt, mit denen das Spiel für die damalige Hardware so optimiert wurde, dass es gut lief.

Kompilieren einer Spielversion mit fehlerhafter Mathematik

  • Es werden Links zu anderen Spielen mit falschem Pi-Wert und zu öffentlichen Quellcode-Repositories bereitgestellt.
  • Außerdem wird erklärt, wie das Publikum selbst eine Spielversion mit fehlerhafter Mathematik kompilieren kann.

Meinung von GN⁺

  • Bedeutung mathematischer Konzepte: Dieser Vortrag zeigt gut, wie wichtig mathematische Konzepte für Softwareentwicklung und Grafikprogrammierung sind. Insbesondere hat die Genauigkeit von Konstanten wie Pi großen Einfluss auf die visuellen Elemente eines Spiels.
  • Reiz nicht-euklidischer Geometrie: Die Anwendung nicht-euklidischer Geometrie auf Spiele kann neue Gameplay-Möglichkeiten eröffnen. Das kann Spieleentwicklern neue Ideen liefern.
  • Optimierungstricks: Zu lernen, wie Spiele auf der damaligen Hardware optimiert wurden, kann auch für moderne Softwareoptimierung nützlich sein. Das hilft, verschiedene Ansätze zur Leistungssteigerung besser zu verstehen.
  • Bildungswert: Der Prozess, ein Spiel mit absichtlich falschen mathematischen Werten zu kompilieren, hat großen pädagogischen Wert. Er bietet Programmierern die Möglichkeit, die Bedeutung mathematischer Konzepte experimentell zu lernen.
  • Technische Herausforderung: Solche Experimente stellen eine technische Herausforderung dar und helfen Programmierern, ihre Problemlösungsfähigkeiten zu verbessern. Das ist besonders nützlich, um Bugs in komplexen Systemen zu finden und zu beheben.

1 Kommentare

 
GN⁺ 2024-05-18
Hacker-News-Diskussion

Zusammenfassung ausgewählter Hacker-News-Kommentare

  • Beispiel aus Duke Nukem 3D

    • Das Level „Lunatic Fringe“ in Duke Nukem 3D nutzte die „build“-Engine, um einen kreisförmigen Korridor umzusetzen, der sich zweimal dreht, ohne sich zu kreuzen.
    • Diese Technik war damals innovativ und sorgte im Multiplayer-Modus für zusätzlichen Spaß.
    • Sie wurde auch verwendet, um das Rätsel zu lösen, bei dem drei Häuser mit drei Versorgungsleitungen ohne Kreuzungen verbunden werden müssen.
  • Poul Andersons Roman „Operation Chaos“

    • Der Roman spielt in einer Parallelwelt, in der Magie real existiert und sich zusammen mit der Wissenschaft rasant weiterentwickelt.
    • Das Kind des Protagonisten wird in die Hölle entführt, und über den Hinweis, dass die Raumzeitgeometrie der Hölle nichteuklidisch ist, finden Wissenschaftler heraus, wie man die Hölle sicher besuchen und wieder verlassen kann.
  • Der Rat, im Code nach 84.600 zu suchen

    • So wie John Carmack sich an die 10. Nachkommastelle von Pi falsch erinnerte, findet man in Codebasen oft falsch eingetragene Sekunden pro Tag, wenn man nach 84.600 sucht.
    • Die Lehre daraus ist, besser Standardbibliotheken zu verwenden, statt Konstanten direkt einzutippen.
  • Probleme bei Grafik und Bewegung

    • Grafik und Bewegung geraten ins Glitchen und machen das Spiel schließlich unspielbar.
    • Es ist treffender, das nicht als „nichteuklidisches Doom“ zu bezeichnen, sondern als das Ergebnis davon, an den Naturkonstanten des Universums herumzuschrauben.
  • Änderungen am Source Code von Konsolen-Emulatoren

    • Es kann Spaß machen, den Source Code seines Lieblings-Konsolen-Emulators zu nehmen und zufällige Gleitkommafehler einzubauen oder die Bedeutung von Branch-Instruktionen umzukehren.
    • Je älter das Spiel ist, desto wahrscheinlicher funktioniert es trotzdem noch, und man kann seltsame Erfahrungen machen.
  • Doom ist keine Simulation

    • Doom ist keine Simulation; das Ändern von Konstanten bedeutet daher nur, einige Routinen kaputtzumachen.
    • Die meisten Änderungen machen das Spiel unspielbar.
  • Der Maximalwert von Pi

    • Es wird gefragt, wie hoch der maximale Wert von Pi sein kann.
    • Bei Pi = 4 tritt wahrscheinlich ein Segmentation Fault auf; daher dürfte der maximal noch spielbare Wert nur wenig über dem tatsächlichen Pi liegen.
  • Pi in der nichteuklidischen Geometrie

    • Auch in der nichteuklidischen Geometrie bleibt Pi weiterhin Pi.
    • Kennzeichnend für nichteuklidische Geometrie ist, dass die Schnittkrümmung nicht 0 ist.
    • Man kann den Umfang kleiner Kreise messen, um den Unterschied zu euklidischen Kreisen zu erkennen.
  • Wunsch nach mehr Erklärung der Spielmechanik

    • Es gibt die Meinung, dass das Video die Spielmechanik und die Auswirkungen einer Veränderung von Pi ausführlicher hätte erklären sollen.
  • Sofortige Übelkeit

    • Einige Werte (e und pi/2) lösen sofortige Übelkeit aus.