#146 Warum ist Doom so faszinierend für die Software-Entwicklung?
Engineering Kiosk - Podcast autorstwa Wolfgang Gassler, Andy Grunwald - Wtorki
Kategorie:
Doom - Das Spiel und warum es ein Engineering Meisterwerk istDas 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?Das schnelle Feedback zur Episode:👍 (top) 👎 (geht so)FeedbackEngKiosk Community: https://engineeringkiosk.dev/join-discord Buy us a coffee: https://engineeringkiosk.dev/kaffeeEmail: [email protected]: https://www.linkedin.com/company/engineering-kiosk/Mastodon: https://podcasts.social/@engkioskTwitter: https://twitter.com/EngKioskGerne behandeln wir auch euer Audio Feedback in einer der nächsten Episoden, einfach die Audiodatei per Email an [email protected]: https://de.wikipedia.org/wiki/DoomDoom-Engine: https://de.wikipedia.org/wiki/Doom-EngineDoom SourceCode: https://github.com/id-Software/DOOM/tree/masterDoom Zufallszahlen-Tabelle: https://github.com/id-Software/DOOM/blob/a77dfb96cb91780ca334d0d4cfd86957558007e0/linuxdoom-1.10/m_random.c#L31Entfernung von zufälligkeit bei Doom: https://jmtd.net/log/deterministic_doom/LMP / LUMP-Files: https://doomwiki.org/wiki/LMPDoom Replay Editor: https://test.doomworld.com/forum/topic/112543-how-to-use-xdre-tas-information/Raycasting: https://de.wikipedia.org/wiki/RaycastingPlaying Video Games One Frame at a Time - Ólafur Waage - NDC TechTown 2023: https://www.youtube.com/watch?v=Z1Nf8KcG4roRunning DOOM on a satellite: https://www.youtube.com/watch?v=zthssUIFG6cTweet that Doom runs in Space: https://x.com/olafurw/status/1741071775356637413Source 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.htmlThe 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/indexGZDoom: https://github.com/ZDoom/gzdoomC++ Doom: https://github.com/patricia-gallardo/cpp-doomList of Doom ports: https://en.wikipedia.org/wiki/List_of_Doom_portsVon 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.phpHow Much of a Genius-Level Move Was Using Binary Space Partitioning in Doom?: https://twobithistory.org/2019/11/06/doom-bsp.htmlSub-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_1Buch “Masters of Doom: How Two Guys Created an Empire and Transformed Pop Culture”: https://www.amazon.de/Masters-Doom-Created-Transformed-Culture/dp/0812972155Approval Testing: https://approvaltests.com/Doom Generic: https://github.com/ozkl/doomgenericDoom 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/1302820468819288066Doom auf einem Satelliten: https://x.com/olafurw/status/1741071775356637413Roomba-Staubsauger erstellt Doom-Maps: https://richwhitehouse.com/index.php?postid=72Can 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?HostsWolfgang Gassler (https://mastodon.social/@woolf)Andy Grunwald (https://twitter.com/andygrunwald)FeedbackEngKiosk Community: https://engineeringkiosk.dev/join-discord Buy us a coffee: https://engineeringkiosk.dev/kaffeeEmail: [email protected]: https://www.linkedin.com/company/engineering-kiosk/Mastodon: https://podcasts.social/@engkioskTwitter: https://twitter.com/EngKiosk