Main Page

Explain xkcd: It's 'cause you're dumb.
Revision as of 00:38, 4 March 2013 by Davidy22 (Talk | contribs)

Jump to: navigation, search

Welcome to the explain xkcd wiki!

We have collaboratively explained 5 xkcd comics, and only 1603 (32060%) remain. Add yours while there's a chance!

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 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)
    • 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 - (x: 503253, y: -551129)
    • Go straight up from the cockpit for a coin
  • A well with a girl at the bottom of it, 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)
  • Volcano -
    • With suicidal quadcopters taking footage of it - (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)
  • Giant spaceship / 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

  • Desert -
  • 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)
  • 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)
  • Giant bird nest - (x: 567123, y; -550417)

Imperial Star Destroyer

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

  • Coordinates:
    • top left at (513072, -560660)
    • bottom left at (513086, -559470)
    • top at (552154, -569022)
    • top right at (556557, -567711)
    • bottom right at (558244, -556542)
  • Entrances:
    • Tunnel to a small room at (557774, -562042)
    • Shaft at (556350, -556720)
  • Interesting objects and places inside:
    • Steven Universe and the Crystal Gems (inside ship, go down a shaft from the surface.)
    • A nearly complete depiction of Level 1 of Prince of Persia, an ancient Jump & Run game
    • Emperor Palpatine Park and Gazebo - (x: 546819, y: -559584)
    • Dancers (possibly spinning counter-clockwise) dancing to piano music
    • 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)
    • Huge light bulb - (x: 555405, y: -557769)
    • The Emperor birdwatching - (x: 554777, y: -567346)



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 as 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?

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 complete table of all xkcd comics so far and the corresponding explanations. The red links (like this) are missing explanations. Feel free to help out by creating them! Here's how.


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, feel free to leave a message on their personal discussion page. The list of admins is here.

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?