
Episode #146
#146 Warum ist Doom so faszinierend für die Software-Entwicklung?
Doom - Das Spiel und warum es ein Engineering Meisterwerk ist Das Spiel Doom beschäftigt viele Software-Entwickler*innen auch noch 31 Jahren nach seiner Veröffentlichung im Jahre 1993. Die Frage “Can it run Doom?” ist allgegenwärtig. Es ist eine Art Sport geworden, das Spiel auf jede Art von Device zu portieren. Doom läuft inzwischen auf einem John Deere Trecker, einem Satelliten und einem digitalen Schwangerschaftstest. Doch was macht dieses Spiel so interessant? Warum wird genau dieses Spiel für die Portierung genutzt? Welche bahnbrechenden Implementierungsdetails haben John Carmack, John Romero und das Team verbaut? Das war meine Ausgangsfrage. Das Resultat? Ein tiefes Loch voller Wow und WTF-Momente. Und diese Podcast-Episode. Es geht um Zufallszahlengeneratoren, Grafik-Engines, Doom-Fun-Facts, Doom Forks und wie du deinen eigenen Doom-Port erstellen kannst. Bonus: Ist es eine Herausforderung ein Device zu finden, das Doom nicht laufen lassen kann? Unsere aktuellen Werbepartner findest du auf https://engineeringkiosk.dev/partners Das schnelle Feedback zur Episode: 👍 (top) 👎 (geht so) Feedback EngKiosk Community: https://engineeringkiosk.dev/join-discord Buy us a coffee: https://engineeringkiosk.dev/kaffee Email: stehtisch@engineeringkiosk.dev LinkedIn: https://www.linkedin.com/company/engineering-kiosk/ Mastodon: https://podcasts.social/@engkiosk Twitter: https://twitter.com/EngKiosk Gerne behandeln wir auch euer Audio Feedback in einer der nächsten Episoden, einfach die Audiodatei per Email an stehtisch@engineeringkiosk.dev . Links Doom: https://de.wikipedia.org/wiki/Doom Doom-Engine: https://de.wikipedia.org/wiki/Doom-Engine Doom SourceCode: https://github.com/id-Software/DOOM/tree/master Doom Zufallszahlen-Tabelle: https://github.com/id-Software/DOOM/blob/a77dfb96cb91780ca334d0d4cfd86957558007e0/linuxdoom-1.10/m_random.c#L31 Entfernung von zufälligkeit bei Doom: https://jmtd.net/log/deterministic_doom/ LMP / LUMP-Files: https://doomwiki.org/wiki/LMP Doom Replay Editor: https://test.doomworld.com/forum/topic/112543-how-to-use-xdre-tas-information/ Raycasting: https://de.wikipedia.org/wiki/Raycasting Playing Video Games One Frame at a Time - Ólafur Waage - NDC TechTown 2023: https://www.youtube.com/watch?v=Z1Nf8KcG4ro Running DOOM on a satellite: https://www.youtube.com/watch?v=zthssUIFG6c Tweet that Doom runs in Space: https://x.com/olafurw/status/1741071775356637413 Source Code of Dooms Port für OPS-SAT: https://github.com/olafurw/opssat-doom/ GameNGen: Google-Forscher simulieren "Doom" ohne Engine: https://www.heise.de/news/GameNGen-Google-Forscher-simulieren-Doom-ohne-Engine-9851001.html The Doom Bible: https://5years.doomworld.com/doombible/ Chocolate Doom: https://www.chocolate-doom.org/ Crispy Doom: https://fabiangreffrath.github.io/crispy-homepage/ ZDoom: https://zdoom.org/index GZDoom: https://github.com/ZDoom/gzdoom C++ Doom: https://github.com/patricia-gallardo/cpp-doom List of Doom ports: https://en.wikipedia.org/wiki/List_of_Doom_ports Von Legostein bis Schwangerschaftstest: „Doom“ läuft wirklich überall: https://t3n.de/news/doom-laueft-ueberall-sammlung-lego-zocken-fps-gaming-1320291/ Doom-Captcha: https://vivirenremoto.github.io/doomcaptcha/ Doom Engine Code Review: https://fabiensanglard.net/doomIphone/doomClassicRenderer.php How Much of a Genius-Level Move Was Using Binary Space Partitioning in Doom?: https://twobithistory.org/2019/11/06/doom-bsp.html Sub-Reddit “It runs Doom”: https://www.reddit.com/r/itrunsdoom/ Sub-Reddit “Doom”: https://www.reddit.com/r/Doom/ Buch “Game Engine Black Book: DOOM: v1.2” → https://www.amazon.de/Game-Engine-Black-Book-DOOM/dp/B0BMSP3GSS/ref=sr_1_1 Buch “Masters of Doom: How Two Guys Created an Empire and Transformed Pop Culture”: https://www.amazon.de/Masters-Doom-Created-Transformed-Culture/dp/0812972155 Approval Testing: https://approvaltests.com/ Doom Generic: https://github.com/ozkl/doomgeneric Doom auf einer Canon-Kamera: https://www.reddit.com/r/itrunsdoom/comments/mcgphm/managed_to_run_doom_on_camera/ Doom auf einem Thermomix-Clone: https://www.reddit.com/r/itrunsdoom/comments/by5x1n/oc_made_a_thermomix_clone_run_doom_with_a_friend/ Doom auf einem Laufband: https://www.reddit.com/r/itrunsdoom/comments/fnj43o/doom_on_a_nordictrack_treadmill/ Doom auf einem iPod: https://www.reddit.com/r/itrunsdoom/comments/egqyqj/doom_on_my_ipod/ Computer-System vom John Deere Traktor: https://www.reddit.com/r/itrunsdoom/comments/wociaz/the_hacker_known_as_sick_codes_has_successfully/ Doom auf einer Ikeas Trådfri-Lampe: https://t3n.de/news/ikea-tradfri-lampe-doom-zocken-1384849/ Doom auf einem digitalen Schwangerschaftstest: https://x.com/Foone/status/1302820468819288066 Doom auf einem Satelliten: https://x.com/olafurw/status/1741071775356637413 Roomba-Staubsauger erstellt Doom-Maps: https://richwhitehouse.com/index.php?postid=72 Can Grafana run Doom?: https://grafana.com/blog/2022/03/31/can-grafana-run-doom/ Sprungmarken (00:00:00) Die Faszination um das Spiel Doom (00:04:20) Werbung/Info (00:05:20) Was ist Doom? (00:09:21) Was ist Doom technisch? (00:12:15) Architektur: Trennung von Engine und Daten (00:14:58) Determinismus und der Zufall (00:21:07) Aufzeichnung der Benutzer-Eingaben und Multiplayer (00:30:19) Grafik-Engine: Visible Surface Determination, Raytracing und Binary Space Partitioning (00:45:30) Doom-Ports und die Weiterentwicklung des Spiels (00:53:12) Can it run Doom? Hosts Wolfgang Gassler ( https://mastodon.social/@woolf ) Andy Grunwald ( https://twitter.com/andygrunwald ) Feedback EngKiosk Community: https://engineeringkiosk.dev/join-discord Buy us a coffee: https://engineeringkiosk.dev/kaffee Email: stehtisch@engineeringkiosk.dev LinkedIn: https://www.linkedin.com/company/engineering-kiosk/ Mastodon: https://podcasts.social/@engkiosk Twitter: https://twitter.com/EngKiosk






