Academic Research / Game Reviews / Tech Tools

A Short Game Lineage: From Threes to 2048

Screen Shot 2014-03-13 at 11.46.18 PM

Threes, on Android and iPhone

A friend downloads this game called Threes a couple weeks ago. It’s currently $2 on iPhone and Android. My friend called it the Tetris of our day, and, I have to admit, it is easy to understand, challenging, and fun. Before getting the chance to write about it, an interesting lineage of clones appeared.

Cloned. The basic mechanic that has been reproduced is the adding of (matching) numbers within rows and columns, depending on direction of swipe. Soon after, a game, which could’ve been named “Twos,” called 1024 emerges with a similar art-style.

Githubbed. Then comes the game, 2048, which occurs as a Javascript remake on github. I wrote a post on github about the social network for programmers to collaborate on projects, and this is a fantastic example of what happens.

There are three notable branches of the 2048 puzzle on github:

  1. the initial port:
  2. the same game, but with an animation makeover:
  3. the same game with AI assistance:
Screen Shot 2014-03-14 at 11.48.52 AM

1024!, tagline: “No need to pay for ThreesGames.”

Right after 1024, the 2048 game, with the animation makeover, becomes a viral hit. When I saw it, I thought, “well, it looks like someone made a free web version of Threes.”

I did a bit more research to find the author of the viral game on Hacker News (four days ago).

Hey, author here! I’m pretty overwhelmed that this made it to the top of HN without me even thinking of posting it here 🙂

I made this game as a fun weekend project, inspired by another game called 1024 (!/id823499224) and a spinoff called 2048 ( I did mine to add animations to the latter, which was a bit hard to play without them.

I discovered Threes only today, and I had no idea it looked so similar. I searched a bit and it appears as if 1024 is also inspired by Threes, so my game is probably the last of a long chain of clones 😛

The code is also open-source. You can find it here:

Feel free to ask me anything, and thanks to everyone for the attention! 🙂

By the way, my highscore is somewhere around 6000. Admittedly, I’m quite bad at playing my own game 😛

EDIT: Make sure not to get addicted!

EDIT 2: The game now has swipe gestures and vim keys support (added by @rayhaanj)!

In case it’s still confusing, I made a quick diagram to show the lineage of clones:

Screen Shot 2014-03-14 at 1.10.21 PM

What I gather to be the clone lineage of Threes.

The difference between gabriele’s and ov3y’s is hard to detect at first, but if you look at the top, there are two additional buttons for “Get Hint” and “Auto-run/Stop.” You can basically watch ov3y’s AI beat the game before your eyes.

Screen Shot 2014-03-13 at 11.54.43 PM

Screen Shot 2014-03-13 at 11.55.44 PM

You can view the source here:

The algorithm is iterative deepening depth first alpha-beta search. The evaluation function tries to keep the rows and columns monotonic (either all decreasing or increasing) while aligning same-valued tiles and minimizing the number of tiles on the grid. For more detail on how it works, check out my answer on stackoverflow.

You can play the game here:

Created by Gabriele Cirulli. Based on 1024 by Veewo Studio and conceptually similar to Threes by Asher Vollmer.

AI solver by Matt Overlan

Concluding thoughts:

  • It’s great that Threes creates such a new experience that’s simple, challenging, and fun.
  • In context, it seems quite common, but still feels a bit messed up to copy someones game and then give it away for free with the tagline of: “why pay for it, when you can get it for free?” Pretty smart move though, from a $$ point of view.
  • Github is cool.

EDIT: Here’s the Lab Bunnies version of 2048:

EDIT: Here’s the best spinoff:

Screen Shot 2014-04-03 at 2.56.04 PM

One thought on “A Short Game Lineage: From Threes to 2048

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s