1223: Dwarf Fortress

Explain xkcd: It's 'cause you're dumb.
Revision as of 12:20, 10 June 2013 by St.nerol (talk | contribs) (Explanation)
Jump to: navigation, search
Dwarf Fortress
I may be the kind of person who wastes a year implementing a Turing-complete computer in Dwarf Fortress, but that makes you the kind of person who wastes ten more getting that computer to run Minecraft.
Title text: I may be the kind of person who wastes a year implementing a Turing-complete computer in Dwarf Fortress, but that makes you the kind of person who wastes ten more getting that computer to run Minecraft.

Explanation

Ambox notice.png This explanation may be incomplete or incorrect:
Please include the reason why this explanation is incomplete, like this: {{incomplete|reason}}

If you can address this issue, please edit the page! Thanks.

This comic is a reaction to the recent reveal of a U.S. electronic surveillance program called PRISM, run by the NSA. (You can read a Guardian article about it.) PRISM, leaked by a former NSA official, incited some controversy since it collects private data (e-mails, chats, file transfers, etc.).

Dwarf Fortress is a freeware strategy game in which the player builds a civilization by giving orders to a group of dwarves. Cueball compares the omniscience of a Dwarf Fortress player to government surveillance.

"Big Brother" means "a tyrannical government body that constantly monitors all its citizens." The term comes from the classic dystopian novel Nineteen Eighty-Four by George Orwell.

Turing Machine is a hypothetical device that manipulates symbols on a strip of tape according to a table of rules. Despite its simplicity, a Turing machine can be adapted to simulate the logic of any computer algorithm, and is particularly useful in explaining the functions of a CPU inside a computer. A Turing-complete machine is any machine which can be proven to be able to simulate a Turing machine and therefore any computer algorithm - doing the proving this way is much easier than proving it can run anything directly. (Note: A PC is not a Turing-complete machine because its memory is limited. Any machine built in Dwarf Fortress would still run inside that PC [would it?] and therefore be even more limited. But you CAN build a proof-of-concept machine by building a limited one and showing how to extend its memory.)

Transcript

[Cueball at a computer.]
Cueball: If the corporate surveillance state monitors and controls every aspect of my life...
Big Brother: We do.
Cueball: And I play Dwarf Fortress all day...
Big Brother: You do.
Cueball: Then you're effectively Dwarf Fortress players watching your dwarves play Dwarf Fortress.
Big Brother: ...Oh god.
Big Brother realizes he's trapped in the most tedious possible hell.


comment.png add a comment! ⋅ comment.png add a topic (use sparingly)! ⋅ Icons-mini-action refresh blue.gif refresh comments!

Discussion

Turing-complete computers were built in Dwarf Fortress [1] and Minecraft [2] Sebastian --178.26.118.249 05:48, 10 June 2013 (UTC)

"getting that computer to run Minecraft" means getting the Dwarf Fortress turing machine to run minecraft. Which would probably be impossible, because the computer Dwarf Fortress is running on will not be able to run the turing machine fast enough or with enough memory. -- Hkmaly (talk) 09:12, 10 June 2013 (UTC)
Speed may be considered irrelevent (as exemplared by A Bunch of Rocks). Memory upper-limits applies to every real-world example (possibly including the Universe itself, thus anything that is not self-contained but capable of sharing data with the external Universe, in order to overcome this limitation). However, usually we can fudge this if this expected usage will get nowhere near the effective memory capacity.
The real problem in Dwarf Fortress is that there is a hard-coded maximum fortress size. It cannot be extended infinitely like the minesweeper example or Magic the Gathering, which is inherantly infinite assuming you keep supplying the legally generated creature tokens. 96.238.211.171 04:40, 12 June 2013 (UTC)
However, apart from the speed of running (and the fact that the quantifiable 'Fort-contained' memory theoretically available may not be sufficient to hold the state of any reasonably Minecraft-like playing environment), I'm wondering about the interface. Playing Minecraft-within-Fortress would require some interesting setting up. Having myself made a Tetris-within-Fortress (sort of, never got around to rotating tetronimos, although translation of the falling pieces and line-anihilationsof those that had settled all worked as planned), I suppose you could start with a matrix display made of remotely controlled bridges (from water-activated pressure-plates), a bit like I used to 'externally' represent the data held within the "block matrix" pump'n'pool 'processor' for my Tetris example.
Something that somewhat evaded me (or, rather, forced me to slow the game progression down well below its normal pace) was a control mechanism. Clicking and setting levers to be pulled, or locking and unlocking doors to allow creature-activated pressure-plates to be run over, depends on knowing that all dwarves (or animals, or hostiles being sent scurrying in circles in a dungeon loop as each tempting exit is automatically closed off and the next one round the track temporarily opened) continue to respond to your requests. It did very much seem like the Bunch Of Rocks situation, indeed. ;) 178.98.124.195 13:07, 10 June 2013 (UTC)
I thought the point of the mouse-over text was that running Minecraft on a turing-complete computer in Dwarf Fortress would be utterly pointless, impractical, and a waste of time, and that's IF it's even theoretically possible. The point of this comparison in my mind is a comment on just how pointless and impractical the task of complete population surveillance is. I mean, surely there's an easier way to get what you want? Excrubulent (talk) 01:24, 12 June 2013 (UTC)

Shouldn't it be "I do" and "Then you're effectively a Dwarf Fortress player watching your dwarves play Dwarf Fortress" because "Big Brother" is singular? DiEvAl (talk) 09:22, 10 June 2013 (UTC)

Not necessarily, because "Big Brother" is the nickname for the nebulous amoral mass of people who make up the surveillance arm of the government. Yes, in Orwell's book, this was actually represented by a singular man to the public (who, possible spoilers, may or may not still be alive). But the nickname could refer to a lot of people as a whole. See also the "corporate we", where people in a corporation refer to the company and ambiguous nonspecific people in the company as "we". Not related to the "royal we". --Tustin2121 (talk) 14:04, 10 June 2013 (UTC)
Meta spoiler alert- Big Brother may never have existed at all. Or his nemesis Goldstein.Seebert (talk) 22:34, 16 June 2014 (UTC)
You sure it's not related? Isn't "royal we" referring to the country and ambiguous nonspecific people in the country in very similar way? -- Hkmaly (talk) 11:21, 27 December 2013 (UTC)

Then you're effectively Dwarf Fortress players watching your dwarves make comics about Dwarf Fortress players watching their dwarves play Dwarf Fotrress. DiEvAl (talk) 09:26, 10 June 2013 (UTC)

Question: Who is the 'you' in "that makes you the kind of person who wastes ten more getting that computer to run Minecraft"? The reader of the comic? Big Brother? I'm very confused how it is that if "A" is the kind of person who implements a Turing-complete computer in Dwarf Fortress, that it follows that "B" is the kind of person who wastes ten years getting it to run Minecraft. 69.21.142.178 15:23, 11 June 2013 (UTC)

I think the 'you' is Big Brother. Like I said above, the task of surveilling a population is so daunting that it's like doing the DF-computer-MC thing. It's never going to be practical. Excrubulent (talk) 01:27, 12 June 2013 (UTC)

You missed spacechem off that list of Turing complete games. 141.101.98.229 (talk) (please sign your comments with ~~~~)

From the referenced site, Pokemon yellow isn't turing complete as a game (unlike, say, DF / MC) - rather it has bugs which make it vulnerable to buffer overrun exploits allowing the attacker to write arbitrary GameBoy code. So while a great hack, that site tells us that the GameBoy CPU's machine code is Turing Complete, not Pokemon Yellow itself. 141.101.98.241 (talk) (please sign your comments with ~~~~)

I think you're missing something here: Minecraft isn't just any other game with sufficient flexibility to build computers in-game: Minecraft is heavily influenced by DF, and any hardcore DF fan would consider it vastly inferior when compared with DF. So I think the additional twist behind the ALT text is that ten times more time would be wasted on something far less prestigious. Cheers! --197.234.243.247 12:49, 24 September 2015 (UTC)