A downloadable game

Download NowName your own price

Match identical tiles and try to reach 2048!


  • d-Pad or Crank: slide tiles in that direction
  • A (long press): start a new game


This is a port of Gabriele Cirulli’s 2048 for Playdate.

Rated 4.7 out of 5 stars
(6 total ratings)
Made withPlaydate
Code licenseMIT License
Average sessionA few minutes
LinksSource code


Download NowName your own price

Click download now to get access to the following files:

2048.1.0.4.zip 51 kB

Development log


Log in with itch.io to leave a comment.

Game is buggy, it kills me when I still have moves other than that its good.

Oh no, shoot. I had these bugs in the first version but these should be fixed now. Are you on the last version available here on itch? If so, could you give more details (a photo of your screen would help) when the bug happened? Thank you. 

would you consider adding the ability to undo a move? As a noob it’s quite unforgiving. Even if it might be considered cheating by a purist, it’s much easier to enjoy with the ability to undo.

thanks for considering! :)

Hey, thanks for the suggestion. This is something I thought about in the past. I’ll consider it for a future update. 

Hi. I love this game and great to see it on the Playdate. I'm getting a bug where the game over screen appears but I can continue the game behind. Sometimes it ends the game with possible moves left and although it's hard to see, I can still continue whilst the "Game Over" dialog is up and my score still goes up.

Hi. I’m sorry you experienced that. Would you be able to share a screenshot when that happens? It would help me a lot to track this. (You can just take a photo with your phone, I just want to see what the grid is like when that happens.)

Yeah, so I just played this game. And then the Game Over screen appears before I can finish the game. You can see in later pics that I can continue until I finally got to the true ending!

Thank you very much for these helpful screenshots. I'm keeping track on this on GitHub to try to figure it out. I'll let you know here as soon as I fix this.

Hey there! I've pushed a new version (1.0.3) that should fix this. 

The problem was due to how the game was initialised from a previous save. Tile’s values would be set as a String instead of a Number. Then in the end of the game, when the grid is full, the game would incorrectly compare String values (from tiles restored from a previous save) with Number values (from tiles created during the game after loading).

(1 edit)

Happy to have a 2048 on the Playdate! Two pieces of feedback:

  • Bug: my best score will update once I beat it during a game, but it always resets back to 1284 when I start a new game.
  • Suggestion: add sounds! Even some basic ones would provide some nice feedback.

Thanks for your feedback!

Regarding the first point, I think I may know why! I currently only save if you quit the game (by going back to the menu and selecting “Home”). I need to add a save as well if you just turn your Playdate off. I'll look into this quickly.

Regarding the second point, you’re absolutely right. I'll look into it as well.


I've pushed a fix for the save bug in version 1.0.2. I'll be looking into adding sounds in the upcoming weeks or so. Thanks again for your feedback!

Hey, I got a bug. Somehow it combined a 1024 block with a 128 block and gave me a 512 block.

Oh no! Thank you for reporting this. I'll look into it and push a fix as soon as possible.


I've just pushed a fix for this in version 1.0.1. Sorry for not catching this earlier! 

For the technical details: I used the `tag` field of a sprite set to its tile’s value to check for collisions. (If two tiles have the same tag, they should merge.) But little did I know that this value is limited to 255 (as an 8-bit integer). So any tile above that would get assigned a value modulo 256. I think in your case it might have been a 1024 block merged with a 256 block, which both would have had a 0 value tag. I've fixed this by using the log2 value of the tile instead of its full value, increasing the possible value up until 2^256 which… should be fine.

Thanks for being so responsive and informative! I've noticed there's no buildNumber in the pdxinfo, so to update via sideload, you need to uninstall and then reinstall the game.


Oh, TIL! I thought the `version` increase was enough to trigger the update. I'll definitely keep this in mind for the next update.