
2048 in 3D - superlucy
http://joppi.github.io/2048-3D?utm_source=hn
======
nmeofthestate
If someone could implement "512 in 2D", that'd be great. I might actually win
a game.

~~~
thaumaturgy
I've beaten 2048 (i.e., developed a general algorithm that consistently wins).

Do you end up with game boards with more than one 128 tile, 64 tile, etc.?

The game has a natural tendency to spawn multiple high-value tiles, and
preventing it from doing that is the nut of the game.

Pick the bottom row and make that row your "accumulator". Pick a bottom
corner; this bottom corner will store your largest value. Now, keep your
bottom row sorted from low value tile to high value tile at all costs:

    
    
        4 8 16 128
    

Let's say the bottom two rows look like this:

    
    
        2 8  4  2
        4 8 16 128
    

You drop the 8 down:

    
    
        2     4  2
        4 16 16 128
    

Now, merge left or right? To the right of course, you want to keep that bottom
row sorted:

    
    
        2     4  2
           4 32 128
    

Now drop down (or continue merging to the right until you can drop a tile down
into the empty space in the bottom row):

    
    
          8  4  2
        2 4 32 128
    

This "locks" the bottom row into position, allowing you to freely move the
upper three rows left and right without disturbing the ordering of the bottom
row. Row-locking is more important than clearing the board.

Focus only on the bottom two rows for most of the game (until/unless most of
the board fills up). Accumulate values in the bottom row, and build matching
values in the row above it.

What if the game plays dirty and you end up with:

    
    
        4 32 128 2
    

Reverse the ordering of your bottom row. You now want to gradually shift that
"128" tile to the left, so build on the "4" and "32" tiles until you get
something like:

    
    
        64 64 128 4
    

Now shift left and left again:

    
    
        256 4
    

And drop new tiles into the bottom row:

    
    
        256 4 2 2
    

And your bottom row is ordered once again.

What if a higher value tile drops into the bottom row out of order?

    
    
        32 4 16 128
    

Ignore it. Build those "4" and "16" tiles:

    
    
        32 32 32 128
    

And then merge right and right again:

    
    
          32 64 128
    

And drop a new tile into the empty position:

    
    
        2 32 64 128
    

This is the situation you want to avoid:

    
    
        16 64 128 64
    

This is a natural result of the rules of the game, and this is where it
becomes difficult for the player to win, especially when those values start to
look more like:

    
    
        32 128 512 128
    

Now you suddenly have to do a lot of work in just three rows of space to
double one of those 128 values.

This approach makes the game pretty easy.

~~~
ajuc
I developed similar strategy, just in the top row (usually top 2 rows, because
it's hard to keep hivh value tiles just the first row).

The only problem is when you have no valid moves that keep the bottom row in
place and you need to move up. In such case mova back down as fast as
possible, and deal with that one "2" that was most probably spawned on the
wrong side of accumulator row later.

------
a3_nm
The animation when performing moves along the third dimension is not very
clear. When moving a square from the plane 1 to plane 3, maybe it would be
neater to fade it in from plane 1 to plane 2, then from plane 2 to plane 3,
rather than moving it sideways including through cells it isn't passing by.

~~~
pygy_
Another option would be to have them "jump".

Up if it moves to an adjacent plane, down if it goes from one extreme to the
other.

------
Paul_S
I was expecting some clever css and js to draw them in perspective.

~~~
danielweber
Clearly that's next.

~~~
winslow
I'm holding out for Oculus VR support.

------
farinasa
What hackernews has become:

I remade this simple game!

I was getting really fed up with the flappy bird stuff and was happy to see it
go. Now this? Don't get me wrong, love the game, but god damn can we say
beating a dead horse?

~~~
Udo
It's not like 2048 is taking over the front page. People iterate on an idea
that's fun for them, where's the harm in that? What have you done today that
you'd like to show us?

~~~
farinasa
I don't mean to insult anyone. I fully understand why people are doing it. But
I don't understand how these get repeatedly voted to the top. Can't we start a
megathread or something for these?

~~~
Killswitch
I'm starting to sound like a broken record saying this, which is kind of
sad... But here it goes again.

If you don't want to see something on the front page, don't upvote it. If it
makes the front page, then people wanted to see it on the front page, or liked
it enough to upvote it... The whole mentality that somehow you think that the
majority of HN agrees with you on being sick of seeing this stuff on the front
page is clearly wrong, because they're putting it on the front page.

If you see something that doesn't interest you, move onto the next.

Happy St. Patrick's Day.

~~~
farinasa
Isn't your post slightly hypocritical? And isn't talking about it better than
just ignoring it anyway? You did decide to say something after all.

~~~
Killswitch
Of course, lets fill up the thread with comments about how 5 of (as of this
comment) 92 people didn't want to see this on the front page, instead of
talking about the link itself.

------
deletes
This is the best version of the game.

\---

There needs to be a clear while line separating the boxes; after intense
staring I have difficulty separating the individual boxes.

A "solution": keep pressing right and E and up or down if you get stuck. Make
some manual moves if the board gets cluttered.

Do not use the strategy to cluster pieces into a corner.

\----

Solved it. [http://i.imgur.com/sb3VMCY.jpg](http://i.imgur.com/sb3VMCY.jpg)

And apart from the 2D variants it required some thinking. This is THE version
to iterate and improve. It has gameplay.

------
madcaptenor
This seems easier than the 2D version. I think it's because there are more
possible moves - six instead of four - so even if you play at random there's
more of a chance that some move is available.

~~~
digz
Agreed. Though I've only played the 3D version twice, my win rate is 50% and i
only see it increasing. The 2D version is a little more challenging.. I think
I win roughly 25% of the time as luck plays a bigger role (at least with my
strategy).

------
vittore
That actually made game much easier

~~~
deletes
Yet it can't be solved by mashing and requires some thought.

~~~
vittore
You can almost randomly press q, up, left and right sometimes until you get
1024 and then start thinking

~~~
deletes
Yes but not always. A pre-filled version would likely be made for commercial
release.

------
Scorpion
I feel like this version is subtly easier.

~~~
gamegoblin
It is significantly easier if you have the patience to reason about it for a
bit longer.

~~~
chx
Yeah, I won the first time I played it, it's actually quite easy and expected
to be so. I feel you could go very very far with it given the 27 slots.

------
jbaudanza
Derivative request: Can someone make a version that displays values in hex
instead of decimal?

~~~
jaredsohn
Just built 0x800; find it here:
[http://pages.cs.wisc.edu/~sohn/0x800/](http://pages.cs.wisc.edu/~sohn/0x800/).

Source:
[https://github.com/jaredsohn/0x800](https://github.com/jaredsohn/0x800).

(I was already working on a binary derivative at the time, but figuring out
the font sizes is a little tedious.)

~~~
jbaudanza
Thanks man. Do you take BTC tips? :)

~~~
jaredsohn
Do now. :) bitcoin:1NhTCJF9owKLxXhizSd57GiYWkBELFq2Jc

~~~
jbaudanza
sent!

------
tiger10guy
Someone should make a 4D version.

~~~
dbaupp
[http://huonw.github.io/2048-4D](http://huonw.github.io/2048-4D)

~~~
biggiemac
Fought hard for it but I beat this one too, on my 3rd try. Good work!

------
biggiemac
I'm coding up a version where the user enters the dimensions of an arbitrary
hyperprism and plays in it. The controls are going to be obnoxious though,
best idea I have so far is ab-cd for moves in small boxes, ef-gh for
metaboxes, ij-kl for metametaboxes, etc.. I'm also trying to make a smart AI
so I don't have to play said versions.

------
ivanca
Shameless plug! I created a mini game called Tetris++ where your ability to do
math quickly gets tested:
[http://cutcss.com/tetris++/](http://cutcss.com/tetris++/)

~~~
atmosx
change the colors, black and blue look the same to me (using flux here, it's
23:09...)

~~~
ivanca
Thanks for the comment. At least someone played it.

------
biggiemac
I've managed a 16384 with a score of 245892 - this version eats up so much
time per attempt that it's almost depressing when I lose on a careless
mistake..

------
2810
WTH! I am addicted to every 2048, 1048 and now this!

------
securityfreak
I think I renamed the game to 8192
[http://imgur.com/2to7bWm](http://imgur.com/2to7bWm)

------
primitivesuave
Awesome game, now somebody make an AI for it!

~~~
jffry
And then a multiplayer, followed by a browser benchmark!

------
nsxwolf
This is going too far. It's now as hard for me to visualize as the 3D chess on
Star Trek.

------
bdamm
Soon we will re-invent the ultimate "hard" simple game: Go

------
ecoqba
Keep it coming! This thing gets better and better

------
pothibo
Flagged.

~~~
clueless2048
...i feel really stupid. I understand the objective of the game and the basic
mechanics, but how do I know what the Q and E button do? I seems like some
type of jumping occurs on the row.

