2022 - Non-Euclidean Doom: what happens to a game when pi is not 3.14159…

MCH2022
24 Jul 202219:13

Summary

TLDRIn this talk, the speaker explores the impact of altering the value of pi in the classic game 'Doom,' resulting in non-Euclidean gameplay. They discuss the game's history, its initial release in 1993, and its open-source nature. The speaker humorously details how incorrect values of pi were used in the game's source code, leading to peculiar gameplay experiences when modified. They also touch on the game's technical requirements in 1993 and the networking issues it caused. The presentation concludes with a live demonstration of 'Doom' with various pi values, showcasing the game's adaptability and the strange,扭曲 worlds that result.

Takeaways

  • 🎮 The presentation discusses the classic game 'Doom', a first-person shooter released in 1993, and its development history.
  • 👨‍💻 John Carmack, a key figure in the game's development, made a significant mistake in the networking stack which led to unintentional denial of service attacks.
  • 🔄 Doom was open-sourced in 1997 under a non-profit license and then under GPL in 1999, leading to various ports, including 'Chocolate Doom' which aims to be true to the original game.
  • 📦 The game was initially shareware, allowing users to try before purchasing the full version.
  • 🖥️ The minimum requirements for running Doom in 1993 were quite modest, including a 386 processor and 4MB of RAM with no 3D acceleration.
  • 🕸️ Doom's networking issues led to network administrators at universities banning or restricting the game due to its impact on network stability.
  • 👾 The game has been ported to numerous platforms, including a badge, showcasing its widespread appeal and adaptability.
  • 📜 An incorrect approximation of pi (π) was hardcoded in the game's source code, which was a mistake admitted by John Carmack himself.
  • 🧩 The game utilizes lookup tables for trigonometric functions due to the limitations of the hardware at the time, emphasizing the need for fast computations.
  • 🔢 Experimenting with different values of pi in the game's source code resulted in various visual and gameplay effects, highlighting the importance of pi in rendering and geometry.
  • 🌐 The presentation concludes with a discussion on other projects related to Doom, such as 'Ray Tracing Doom' and 'JPEG Injection', showcasing the game's lasting impact and the creativity of its community.

Q & A

  • What is the game 'Doom' about and when was it released?

    -Doom is a classic first-person shooter game where space marines fight against invading demons from hell. It was released in 1993.

  • Who was one of the main people behind the development of Doom?

    -John Carmack was one of the main developers behind Doom.

  • When was Doom open-sourced and under which license?

    -Doom was initially open-sourced in 1997 under a non-profit license and then under the GPL license in 1999.

  • What is Chocolate Doom and why is it significant?

    -Chocolate Doom is a port of the original Doom game that aims to be very true to the original game's experience.

  • What were the minimum system requirements for playing Doom in 1993?

    -The minimum requirements for Doom in 1993 were a 386 processor with four megabytes of RAM, running at a 320 by 200 resolution with no 3D acceleration, and using IPX for networking instead of TCP.

  • What was the issue with the networking stack that John Carmack wrote for Doom?

    -John Carmack made a mistake in the networking stack by underestimating the impact of a few packets on network performance, which inadvertently caused denial of service attacks and led to network administrators banning or restricting Doom in universities.

  • Why was the value of pi incorrect in the original source code of Doom?

    -The incorrect value of pi in the original source code of Doom was due to John Carmack incorrectly recalling the 10th digit of pi.

  • What is the significance of lookup tables in the context of Doom's development?

    -Lookup tables were used in Doom to speed up trigonometric calculations, which was necessary given the lack of 3D acceleration and the need for fast rendering on the hardware available in 1993.

  • What happens when the value of pi is changed in Doom's source code?

    -Changing the value of pi in Doom's source code affects the game's rendering and gameplay, creating non-Euclidean spaces and altering the game's geometry in various ways, depending on the value assigned to pi.

  • What is the largest playable value of pi that can be used in Doom, according to the script?

    -The script does not specify the largest playable value of pi in Doom, but it mentions that the value used by John Carmack in the original game was marginally larger than the incorrect value and still playable.

  • What other interesting projects related to Doom were mentioned in the script?

    -The script mentions projects such as Ray Tracing Doom, which improves the game's graphics with ray tracing, and a JPEG injection project that demonstrates code injection via a renamed JPEG file.

Outlines

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Mindmap

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Keywords

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Highlights

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Transcripts

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now
Rate This

5.0 / 5 (0 votes)

Related Tags
Doom ClassicGame MechanicsPi ModificationSource CodeNon-Euclidean GeometryHacking ConferenceSoftware HistoryTrigonometry in GamesC ProgrammingGame PortingCultural Impact