How to play: Use your arrow keys to move the tiles. When two tiles with the same symbol touch, they merge into one!

Take as long as you need -- the game does not e** unless the grid becomes completely full. Try to build up to a Rosetta tile!

Tile Descriptions

If you would like to see all the "tiles" used in the game, and a description of the images used for each, see the tile descriptions on a separate page (page contains mild spoilers).

Updates and Caching

See this page for a description of the caching system, including how to play Q04B offline and some things to try if the game does not load or run properly.


DANGER: Use these links carefully!

New Game: Start a new game (does not reset achievement badges) (confirmation required)

Reset Badges: Does not start a new game, but clears the achievements (the row of small tiles across the bottom)

Reset High Score: The score in your current game will become the high score.

or Return to Game (without resetting anything)


Current game state:


Press this button: Select to select the text, then you can Copy and Paste it into a text editor.

Use this feature to transfer your game to another browser, or to save it prior to erasing cookies and/or "application data".

Enter text to import:

Press this button: Import and if your text is in the proper format, it will replace the current game, high score, earned badges, boosts, and augmentations. Then Return to Game to play your imported game.

Console Log

Press this button: Show Console to reveal a text listing of of your Q04B activity, including automatic saved games. If you wish, you can recover an older game by copying a line and using the "Import" section above to go back to that older game.

NOTE: When the amount of text reaches 100,000 characters, older lines will be deleted.

WARNING: You'll lose the console log if you tell your browser to erase cookies and/or "application data"!

Return to Game


Original Artwork by Randall Munroe

, with a few of the later tiles by xkcd fans Latent22, waveney, and SilentTimer, and icons by Robert Munafo.

Gameplay based on ''2048'' by Gabriele Cirulli. in turn based on ''1024'' by Veewo Studio, which was inspired by Threes by Asher Vollmer.

Programming by: Gabriele Cirulli (2048 gameplay), TimPetricola (best score storage), chrisprice (custom code for swipe handling on mobile), elektryk (made swipes work on Windows Phone), mgarciaisaia (support for Android 2.3), {rayhaanj, Mechazawa, grant, remram44 and ghoullier} (other contributions to Cirulli), Matt Overlan (heuristics and minimax decision algorithm), and Robert Munafo (conversion to 5x7 grid, image tiles, color, achievement badges, import/export, refactoring to merge with Overlan AI, and improved static evaluation function).

Other Contributions by: azule (CSS for horizontal layouts); Chuck McQuilkin (for iOS app example)

Revision History

20140417 Convert the tiles from colored-filled with numbers (leftover from 2048) to images derived from xkcd 1190 "Time" 20140418 Instantiate the game object into a named variable; add Grid::islands Game now starts with one Cueball and one Megan. Add smaller icons for narrow views (e.g. small phones); move instructions and credits onto this page; add revision history Add "fruit list" (so-named after the similar display in Pac-Man), a row of darkened tiles (really, transparent over a filled container <div>) which displays the 14 highest tiles you have achieved, all-time. They serve as achievement badges and as a hint as to what order the images go in, which might help you choose moves. 20140419 Add Grid::smoothness and Grid::tileMatchAvailable 20140420 Tonight the mrob.com servers stop updating, and some users might be stuck with the version that was uploaded at about 1600 UTC today. 20140424 Fruit list now shows bright tiles if you have at least one of that tile. This is meant to increase user awareness of the Partial Reinforcement Effect, a contributor to videogame addictiveness and one of the biggest hazards of all "Threes"/"1024"/"2048" clones. Add achievement notifications (big "YOU GOT YOUR FIRST xxx TILE!" message that flots up and fades away) 20140426 The GameManager::move method has been broken up into the core, now relocated to Grid::move, and the rest (mostly additions by me) that are now in GameManager::gm_move. 20140430 Add Ffoxy module (Import/Export) from code formerly isolated in this page (credits.html) to facilitate auto-export by the game. 20140505 Added and tested code for version 2 import/export 20140508 Boosts 00 (Wait for it.) and 01 (Flutterbee) are now live (as is level 2 export; level 2 import has been live for a few days) BUGS and TTD: * Pre-cache the full-size images (azule, NP1901) * SB-like console messages, suitable for lyrics * New game; reload; L; Wait for score > BestScore; X; reload; ->: Best score gets set: usedRaptor flag needs to be persistent * chromatic heresy option * molpy boosts: little chirpy; prickly; Lucky (random); Amtoo * molpy boost: snake * how to limit snake, and/or power-up boosts Things to study: * Make it give big tiles and find out what happens when raptor reaches Rosetta; then make raptor disable the "you won!" mode; then define a bunch of higher tiles. * A third, intermediate width for use on devices that aren't quite 588 pixels wide (480 is probably common). * Use Time frames as the background for the grid-container, behind a translucent white layer so they don't confuse play (might need another nested div level: each layer of nested div gives another rendering layer)


Expat License (aka "MIT License")
Copyright (c) 2014 Gabriele Cirulli and Robert Munafo Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Return to Game