Main Page

Explain xkcd: It's 'cause you're dumb.
Revision as of 23:48, 8 December 2013 by Davidy22 (Talk | contribs)

Jump to: navigation, search

Welcome to the explain xkcd wiki!
We have an explanation for all 1 xkcd comics, and only 20 (1%) are incomplete. Help us finish them!

Latest comic

Go to this comic explanation

Return to the play area
Title text: Return to the play area


Ambox notice.png This explanation may be incomplete or incorrect: It's possible not all of the game's secrets have been unearthed yet.

The "comic" is actually a browser game made to celebrate the release of Randall's new book, Thing Explainer, on the date of this comic's release.

The game features Cueball riding on a hoverboard. The only controls are the arrow keys. The player can jump repeatedly mid-jump to reach increasing heights. The player begins in a line-drawing maze with 17 gold coins located throughout and a "deposit" station. The ostensible goal of the game is to collect as many coins as possible and return them to the deposit in the fastest possible time, which returns a text message describing the result. Players consumed with obtaining the best possible time result for collecting the coins may not realize there is anything more to the game.

Beyond the maze on either side (just far enough that players who remain within the maze will not see) are tall walls seemingly designed to contain the player. However, the walls have a finite height and, combined with the ability to multi-jump, the player can leave the purported "play area" either to the sides or above the initial maze. This returns a flashing red error message "return to play area".

Outside the play area is an entire world to explore including are numerous points of interest and Easter eggs similar in style to comic 1110: Click and Drag. The larger game world is physically bounded in the left and the right direction, but is technically unbounded upwards and downwards, however, past a certain point there appears to be nothing interesting in the up or down direction. It could be possible that some unexplored hole leads deeper into the map than has been found so far, it is also possible that jumping for a considerable amount of time would allow the player to reach some additional content above the map. There are 152 more coins outside the initial "play area" for a total of 169 in the entire game.

Technical aspects

As previously noted, the comic bears considerable resemblance to 1110: Click and Drag. The comic is made in much the same way, with 'drawn' images "glued" together to form a large "map", with the illusion of infinite bounds made possible through space saving techniques where blank tiles are not stored and are instead painted white. The boundary between blank squares and 'drawn' squares is made clear as any white space in the normal images has a very slight grey tint. Thus, seams between images and blank spaces can be discerned.

The tiles for the map are stored as simple PNG files in the naming scheme: X:Y+s.png. An example can be seen here: Each file is 513x513 pixels in size, one pixel is reserved as overlap to ensure seamless joining of images. So far, through experimentation, tiles in the range 928 to 1108 X and -1112 to -928 Y have been discovered, internally, the position of the player is divided by 512 and rounded down to give the position of the tile.

The collision map is encoded in the darkness of the black. Using an image manipulation program, one can easily find the secret pathways even in the zoomed out maps provided below by enhancing the contrast of the dark areas.

The game was made by Max Goodman who has previously worked on 1416: Pixels. The source code for the game can be found here.


one incomplete compilation of the entire game area (note the missing pinnacle of the Washington Monument

Starting area - (x: 512187, y: -549668)

West / Left

  • Washington Monument - (x: 509864, y: -549746)
    • Invisible entrance through the Monument, indicated by arrow sign
    • Secret entrance into the inside of the Monument, right side, about halfway up - (x: 509815, y: -552614)
  • Girl in a hamster ball - (x: 505790, y: -549905)
  • Yet another dig at the Lion King and the lands touched by shadow - (x: 504998, y: -550676)
  • An X-Wing at a gas station, with coin accessible from the left - (x: 503253, y: -551129)
    • Go straight up from the cockpit for a coin
  • A well with a girl at the bottom of it (and one of the yellow game coins), claiming to not be a ghost - (x: 501998, y: -551030)
  • Landing re-entry capsule with parachutes - (x: 500040, y: -552369)
  • Local Mom discovering This One Weird Bug - (x: 497994, y: -551334)
  • Someone flying a kite, with a coin beside the kite.
  • Volcano -
    • With suicidal quadcopters taking footage of it over a coin - (x: 486640, y: -554838)
  • Lava pools -
  • A dark grey ocean that isn't noticeable until you fall in
  • LOTR Eagles - (x: 489661 y: -556811)
  • Elon Musk's Volcano Lair - (x: 484167, y: -549462)
    • entrance hidden under volcano lava, dive down at Artex, following the wall with ze goggles to find it - (x: 483791, y: -551292)
    • you can also go blind, the path zigzags with 3 turns. To escape, jump repeatedly while moving one direction for 5+ seconds, the other way 5+ seconds, and back again. Don't stop jumping.
  • Artex + Gandalf - (x: 483715, y: -554354)
  • Basketball hoop, with coin
  • Giant floating rock island in the sky (x: 507163, y: -567537)
  • Hat underground
  • A hole which traps(?) the player unless noclip mode is used

East / Right

  • People holding anchor lines to the Tantive IV (Star Wars: A New Hope), being attacked by an Imperial Star Destroyer - (the people: x: 518954, y: -549056)
  • Desert with dunes - (x: 520000, y: -549114)
  • Ocean Yelper (giving only 2.5/5 stars) - x: 522015, y: -549015
  • Talking Rogue Wave - (x: 523460, y: -549013)
  • Wedding - (x: 531558, y: -549386)
  • Graveyard - (x: 534140, y: -549546)
  • Remains of Ozymandias' Statue - (x: 535927, y: -549666)
  • Huge pyramid - (x: 538167, y: -550906)
  • Blackhat's hat on a stick - (x: 549997, y: -549777)
  • Whitehat's head in the grass? - (x: 559826, y: -549847)
  • Giant bird nest - (x: 567123, y; -550417)
  • Beret Guy riding a torpedo - (x: 522754, y: -554342)

Imperial Star Destroyer

High up in the air there's a huge spaceship.

  • Coordinates:
    • top left at (513072, -560660)
    • bottom left at (513080, -559470)
    • top at (552154, -569022)
    • top right at (556557, -567711)
    • bottom right at (558244, -556542)
  • Entrances (from bottom left clockwise):
    • Tunnel at (513080, -559680)
    • Tunnel at (513166, -560434)
    • Shaft at (516560, -560912)
    • Shaft at (519200, -561108)
    • Shaft at (525255, -561527)
    • Shaft at (527990, -561844)
    • Shaft at (533087, -562298)
    • Shaft at (539637, -563233)
    • Tunnel at (540958, -563721)
    • Shaft at (543789, -564670)
    • Stairwell down at (547438, -565058)
    • Tunnel at (552319, -566184)
    • Tunnel to an isolated small room at (557774, -562042)
    • Shaft at (556350, -556720)
    • Glitchfloor at (547890, -556779)
    • Shaft at (543850, -557500)
    • Main ramp at (537260, -557969)
    • Tunnel at (531840, -558547)
    • Parachutists' ramp at (526624, -558664)
    • Ramp at (525300, -558747)
    • Shaft at (520440, -559100)
    • Shaft at (516825, -559300)
  • Interesting objects and places inside:
    • Steven Universe and the Crystal Gems - (x: 551664, y: -567383)
    • A nearly complete depiction of Level 1 of Prince of Persia, an ancient Jump & Run game - (x: 551532, y: -563512)
    • Emperor Palpatine Park and Gazebo - (x: 546819, y: -559584)
    • Dancers (possibly spinning counter-clockwise) dancing to piano music - (x: 547536, y: -563301)
    • Octopus guarding two coins - (x: 531646, y: -559663)
    • A sign saying "Caution GlitchFloor" (falling straight down through it nets you a coin someway down) - (x: 547898, y: -556784)
    • A huge light bulb - (x: 555405, y: -557769)
    • The Emperor birdwatching - (x: 554777, y: -567346)
    • Ponytail jousting on an ostrich- (x: 552048, y: -568045)
    • A party on the ceiling (negative gravity?) - (x: 550350, y: -564354)
    • A huge ant - (x: 552309, y: -560208)
    • Tube slide - (x: 541813, y: -563721)
    • A reservoir (?) with hidden passages - (x: 541300, y: -560330)
    • A huge spark gap (?) - (x: 541900, y: -558110)
    • Torpedo launcher room - (x: 529627, y: -558481)
    • A Tetris block falling - (x: 529414, y: -529220)
    • Lightsaber Piñata party - (x: 515353, y: -560329)
    • Swimming pool - (x: 517346, y: -559831)
    • Children's swimming pool - (x: 514500, y: -560436)
    • A crocodile - (x: 553623, -568091)
    • Spiral tunnel - (x: 543320, y: -558314)
    • A car - (x: 537750, y: -557937)



The keyboard controls are as follows:

  • Go Left - Left arrow key, a or h
  • Go Right - Right arrow key, d or l
  • Go Up (jump or hover) - Up arrow key, w, or k
  • Go Down (if gravity disabled) - Down arrow key, s, or j

This control scheme covers the three commonly used directional key sets: WASD a set of keys commonly used by modern games; HJKL a set of movement keys used by vi and applications which attempt to mimic vi key controls (vim); and the arrow keys, the most generic set of keys which is usually accepted by most applications which take movement as input, these were commonly used in older games.

On devices which have a touch screen and tilt sensor (portable devices like mobile phones and tablets) the controls are as follows:

  • Go Left - Roll the device anticlockwise
  • Go Right - Roll the device clockwise
  • Go Up (jump or hover) - Tap the screen

After inspecting the source code, there appears to be no way to move down on a portable device, this is only relevant if gravity is disabled.

Cheats and Exploits

Aside from the obvious ability to move out of bounds in the game, there are some more obscure hidden features which can't be enabled through normal gameplay, the ones found so far are as follows:

Modes are activated by opening the Javascript Console (F12 [Or Command-Alt-I in most browsers under Mac OS X] to open Developer Tools, then Console tab) and writing corresponding commands:

  • Gandalf Mode: = true - jumps and runs further
  • Speedhack: explorer.opts.speed= *Value* - Speed hacking, with 1 = normal speed
  • Jump Hack: explorer.opts.jumpForce= -*Value* - Jump hacking, with -1 = normal jump (positive values cause the hoverboard guy to move down when jumping)
  • Mewtwo mode: window.mewtwo = true - disables gravity
  • Noclip mode: window.noclip = true - player is able to move around the map without collision. Combine with Gandalf and Mewtwo modes for free easy map traversal.
  • Goggles mode: window.ze.goggles() - displays a small window showing area around the player in a pixelated manner. The goggles indicate collision boundaries (where the player touches the world) in cyan lines. Black pixels that are passable (such as other characters or text) will be highlighted red (allowing secret passages to be discovered).
  • Position Tracking: window.explorer.pos - Returns the player location to the console. Can be used to track position and test to ensure you are still moving. Must be re-entered to compare positioning.
  • Position Setting: window.explorer.pos.x = *Value* or window.explorer.pos.y = *Value* - Can be used to manually set a position within the world. The start is at x: 512106, y: -549612. The left terrain bound is at x: 475210, y: -553711. The right terrain bound is at x: 567281, y: -549712. Mewtwo and Noclip modes are a must for exploring in this way.
  • All the above: window.explorer.opts - Contains all the game's parameters. You can directly mess with gravity, collision (disableCollision), jump force (jumpForce) and speed (maxSpeed), among others. Run Object.keys(window.explorer.opts) to list all available parameters you can tweak.
  • List all coins: window.explorer.objects - Array containing the position of the 169 coins of the game.
  • Disable tilt input: getEventListeners(window)['deviceorientation'][0].remove() - on Macs with motion sensor, disables tilt input which causes problems controlling the avatar

Getting All Coins: To instantly get all coins, input the below into the console window. Does not use standard formatting of [i] to avoid conflicts with

   for (var T = 0; T < explorer.objects.length; T++) {
       explorer.objects[T].got = true;

To teleport to the next coin every time you press the left or right arrow:

   var T = 0;
   document.onkeydown = function(event){
     if (event.keyCode == 37) { T = T-1 }
     else if (event.keyCode == 39) { T = T+1 }
     else { return }
     T = T % explorer.objects.length;
     var coin = explorer.objects[T];
     explorer.pos.x = coin.x1; explorer.pos.y = coin.y1;

For a quick tour of all the coins:

   var delayInMilliseconds = 1000; // 1 second delay between each teleport. feel free to change this.
   var index = 0;
       explorer.pos.x = x.x1;
       explorer.pos.y = x.y1; = true;
       explorer.frame(); // forces a redraw
     (index + 1) * delayInMilliseconds);

To see a list of coin coordinates you have not yet collected:

   var L = 0;
   for (var S = 0; S < explorer.objects.length; S++) {
       var I = explorer.objects[S];
       if ( {
       } else {
           console.log(I.x1.toString() + ", " + I.y1.toString());
   console.log("You've found " + L.toString() + " of 169 coins");

To display the distance and direction to the closest coin:

   function distance(x1, y1, x2, y2) {
       var dx = x1 - x2;
       var dy = y1 - y2;
       return Math.sqrt(dx * dx + dy * dy);
   function renderRadar() {
       var mindist = 10000000000;
       var closest;
       for (var S = 0; S < explorer.objects.length; S++) {
          var I = explorer.objects[S];
          if (! {
              var dist = distance(explorer.pos.x, explorer.pos.y, I.x1, I.y1);
              if (dist < mindist) {
                  mindist = dist;
                  closest = I;
       var indicator = "";
       if (closest.x1 < explorer.pos.x) {
           indicator += "left";
       if (closest.x1 > explorer.pos.x) {
           indicator += "right";
       if (closest.y1 < explorer.pos.y) {
           indicator += " up";
       if (closest.y1 > explorer.pos.y) {
           indicator += " down";
       document.getElementById("radar").innerHTML = "Distance: " + mindist.toFixed(1).toString() + "<br/>" + indicator;
   var d = document.createElement("div"); = "radar"; = "fixed"; = "0px"; = "0px"; = "150px"; = "35px"; = "1px solid red"; = "2"; = "green"; = "#8f8";
   setInterval(renderRadar, 1000);

To display your current coordinates:

  function renderRadar2() {
      document.getElementById("radar2").innerHTML = "x: " + explorer.pos.x.toFixed(1).toString() + "<br>y: " + explorer.pos.y.toFixed(1).toString()
  var d = document.createElement("div") = "radar2" = "fixed" = "150px" = "0px" = "150px" = "35px" = "1px solid red" = "2" = "green" = "#8f8"
  setInterval(renderRadar2, 1000)


By observing page code while playing, the game grabs and displays images based on location, and subsequently clears all non-visible images. The game uses what seems to be a position syntax to retrieve the intended images live, and returns an error if such an image does not exist, such as a blank area. This technically means things could be added to the world and updated live. If the player is moving sufficiently fast or if the internet connection is slow, this means that the player can get stuck in a black area that does not load in time.

This also means that the game does not have coded top or bottom limits, so any attempt to find the ceiling of the game will be futile unless the game is tweaked. The game does however have side limits.

When you deposit a certain number of coins, you will get one of the following messages:

  • 0 coins : You got 0 coins in (n) seconds/ You successfully avoided all the coins.
  • 1 coin : You got a single coin in (n) seconds/ It's a start.
  • 2-4 coins : You got (n) coins in (n) seconds/ Not bad!
  • 5-9 coins : You got (n) coins in (n) seconds/ Terrific!
  • 17 coins : You got 17 coins in (n) seconds/ You found all the coins! Great job!
  • 42 coins : You got 42 coins in (n) seconds/ No answers here.
  • 169 coins : You got 169 coins in (n) seconds/ Are you Gandalf?
  • All others: You got (n) coins in (n) seconds

Opening the console will display the text: what? hoverboard not enough for you!? in the log. Activating goggles mode will cause the text 'B-)' to appear in the log.

Leaving the play area will cause the red text 'RETURN TO THE PLAY AREA' to rapidly blink 3 times (150 msec duration), followed by a pause, and this will repeat 5 times for a total of 15 blinks. This will also reoccur if the player passes through the play area on their way back from exploring one side.

Explanations of jokes

Ambox notice.png This explanation may be incomplete or incorrect: Insert table here
Coordinates Text and explaination
x: 483735, y: -551990 "What news of the world above? Please tell me - what's hot and viral? What's trending on twitter?"


  • The alt text is only visible on the mobile version of the site, or when leaving the starting area. Further, when leaving the starting area, it shows different than normal alt text.
  • If the focus switches from the game to the page, the cueball can freeze in midair. The same thing can happen if the window border overlaps the play area.
  • The Washington monument has an invisible floor next to the visible bricks.


Ambox notice.png This explanation may be incomplete or incorrect: Something similar to 1110: Click and Drag

The game features Cueball on a hoverboard in a simple map. On the map are coins which Cueball has to collect. It appears Cueball can jump multiple times without needing to land, this means that Cueball is able to escape the designated "Play Area". This prompts a warning which soon disappears allowing Cueball to discover the world.




Is this out of date? Clicking here will fix that.

New here?

Last 7 days (Top 10)

Lots of people contribute to make this wiki a success. Many of the recent contributors, listed above, have just joined. You can do it too! Create your account here.

You can read a brief introduction about this wiki at explain xkcd. Feel free to sign up for an account and contribute to the wiki! We need explanations for comics, characters, themes, memes and everything in between. If it is referenced in an xkcd web comic, it should be here.

  • List of all comics contains a table of most recent xkcd comics and links to the rest, and the corresponding explanations. There are incomplete explanations listed here. Feel free to help out by expanding them!
  • We sell advertising space to pay for our server costs. To learn more, go here.


Don't be a jerk. There are a lot of comics that don't have set in stone explanations; feel free to put multiple interpretations in the wiki page for each comic.

If you want to talk about a specific comic, use its discussion page.

Please only submit material directly related to —and helping everyone better understand— xkcd... and of course only submit material that can legally be posted (and freely edited). Off-topic or other inappropriate content is subject to removal or modification at admin discretion, and users who repeatedly post such content will be blocked.

If you need assistance from an admin, post a message to the Admin requests board.

Personal tools


It seems you are using noscript, which is stopping our project wonderful ads from working. Explain xkcd uses ads to pay for bandwidth, and we manually approve all our advertisers, and our ads are restricted to unobtrusive images and slow animated GIFs. If you found this site helpful, please consider whitelisting us.

Want to advertise with us, or donate to us with Paypal?