#146 Warum ist Doom so faszinierend für die Software-Entwicklung?

#146 Warum ist Doom so faszinierend für die Software-Entwicklung?

58 Minuten

Beschreibung

vor 2 Tagen

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?





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

Kommentare (0)

Lade Inhalte...

Abonnenten

15
15
:
: