Editing 1223: Dwarf Fortress

Jump to: navigation, search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 16: Line 16:
 
[[Cueball]] has a discussion with Big Brother ("corporate surveillance state"), in which he mocks Big Brother's interest in the inconsequential activity of playing a video game (''Dwarf Fortress'' in particular) by drawing a parallel between Big Brother's omniscient surveillance of Cueball and Cueball's omniscient surveillance of the dwarves. Big Brother appears to be mortified when it realizes the accuracy of Cueball's comparison.
 
[[Cueball]] has a discussion with Big Brother ("corporate surveillance state"), in which he mocks Big Brother's interest in the inconsequential activity of playing a video game (''Dwarf Fortress'' in particular) by drawing a parallel between Big Brother's omniscient surveillance of Cueball and Cueball's omniscient surveillance of the dwarves. Big Brother appears to be mortified when it realizes the accuracy of Cueball's comparison.
  
Informally, a system exhibits ''Turing-completeness'' when it is theoretically capable of executing any algorithm. One of the simplest Turing-complete systems is the {{w|Turing machine}}, a device that manipulates symbols on a strip of tape according to a table of rules — it {{w|Church-Turing thesis|can be proven}} to have the same capabilities as any ordinary programming language. Other very simple systems include {{w|Rule 110}}, {{w|lambda calculus}}, {{w|Conway's game of life}}, and {{w|Brainfuck}}. The reason we don't work with these is because they're a real pain in the ass. Would you rather build a network of spaceships that collide with each other to simulate the successor function, or just write <tt>i := i + 1</tt>?
+
Informally, a system exhibits ''Turing-completeness'' when it is theoretically capable of executing any algorithm. One of the simplest Turing-complete systems is the {{w|Turing machine}}, a device that manipulates symbols on a strip of tape according to a table of rules — it {{w|Church-Turing thesis|can be proven}} to have the same capabilities as any ordinary programming language. Other very simple systems include {{w|Rule 110}}, {{w|lambda calculus}}, {{w|Conway's game of life}}, and {{w|Brainfuck}}. The reason we don't work with these is because they're a real pain in the butt. Would you rather build a network of spaceships that collide with each other to simulate the successor function, or just write <tt>i := i + 1</tt>?
  
 
A common CS nerd challenge is to prove the Turing-completeness of a system that wasn't intended to be that way &mdash; games in particular. The usual way to do this is to construct a Turing machine simulator within the system. It has been done for [http://mkv25.net/dfma/map-8269 Dwarf Fortress], [http://web.mat.bham.ac.uk/R.W.Kaye/minesw/infmsw.pdf (infinite) Minesweeper] (pdf), [http://www.toothycat.net/~hologram/Turing/HowItWorks.html Magic the Gathering], [http://www.youtube.com/watch?v=13GOFa1C4e4 Little Big Planet], [http://www.youtube.com/watch?v=1X21HQphy6I Minecraft] ([http://www.youtube.com/watch?v=7sNge0Ywz-M another Minecraft example])<sup>1</sup>, [http://aurellem.org/vba-clojure/html/total-control.html Pokémon Yellow] (through the elaborate use of many in-game glitches) and [http://cp4space.wordpress.com/2013/04/05/3d-chess-is-turing-complete/ 3D chess]. These kinds of proofs often involve formulating ridiculously complex creations just to simulate a little machine writing symbols on a tape!<sup>2</sup>
 
A common CS nerd challenge is to prove the Turing-completeness of a system that wasn't intended to be that way &mdash; games in particular. The usual way to do this is to construct a Turing machine simulator within the system. It has been done for [http://mkv25.net/dfma/map-8269 Dwarf Fortress], [http://web.mat.bham.ac.uk/R.W.Kaye/minesw/infmsw.pdf (infinite) Minesweeper] (pdf), [http://www.toothycat.net/~hologram/Turing/HowItWorks.html Magic the Gathering], [http://www.youtube.com/watch?v=13GOFa1C4e4 Little Big Planet], [http://www.youtube.com/watch?v=1X21HQphy6I Minecraft] ([http://www.youtube.com/watch?v=7sNge0Ywz-M another Minecraft example])<sup>1</sup>, [http://aurellem.org/vba-clojure/html/total-control.html Pokémon Yellow] (through the elaborate use of many in-game glitches) and [http://cp4space.wordpress.com/2013/04/05/3d-chess-is-turing-complete/ 3D chess]. These kinds of proofs often involve formulating ridiculously complex creations just to simulate a little machine writing symbols on a tape!<sup>2</sup>

Please note that all contributions to explain xkcd may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see explain xkcd:Copyrights for details). Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Cancel | Editing help (opens in new window)