selectnull 2 months ago

Just like few others here, I wanted keyboard shortcuts so I just hacked it quickly. Will break if DOM classes change, but author should implement something better.

Cool game.

```

const rotate = (direction) => { const directions = {counterclockwise: 0, clockwise: 1}; const buttons = Array.from(document.querySelector('.mt-16.flex.items-center.justify-between.w-72.h-12.px-2').querySelectorAll('div')).filter(el => el.className === ''); buttons[directions[direction]].click(); }

document.addEventListener('keydown', (ev) => { switch (ev.key) { case 'ArrowLeft': rotate('counterclockwise'); break; case 'ArrowRight': rotate('clockwise'); break; } });

```

  • fuegoio 2 months ago

    Thanks a lot! I just added the keyboard shortcuts :)

  • pphysch 2 months ago

    It is neat that the modern browser, for all its flaws, is so easily hackable

beeforpork 2 months ago

Nice game! Thanks!

Some proposals to improve usability:

The game should notice a stalemate and tell you that you lost (no matter how you rotate: no more progress is possible).

The game should accept a hit of 'Return' to start the new game (it currently seems to insist of mouse interaction).

The game should have a 'fast' mode with less animation so that I can play faster. A single move takes too long! I am impatient! :-)

  • fuegoio 2 months ago

    Thanks a lot! Will add all these good ideas :)

eganist 2 months ago

You have a pause in there where the tiles take a moment. Please let us use that pause to rotate a second time before the tiles fall so we can also get the pieces to move across the board rather than just slide parallel.

  • NackerHughes 2 months ago

    I think both modes would make for interesting gameplay - one where you can rotate 180 degrees, and one where you're restricted to 90 degrees at a time (kind of like those Game & Watch games with 'Game A' and 'Game B').

    Very fun take on the old 2048 concept, but I'd better stop playing now otherwise I'll be on it all morning!

    My only suggestion is to add control by cursor keys in addition to mouse.

  • xmprt 2 months ago

    I think the restrictions make the game more interesting. However the pause is a bit annoying. If you make a move before the animation finished then it should either speed up the animation or skip it.

  • eastbound 2 months ago

    And if you spin very rapidly, centrifugal force applies.

    • eganist 2 months ago

      I'd be down as heck for a 2D physx/femfx-accelerated 2048.

      I have no idea what it would look like, but it'd open the pool for strat on solving the puzzles I think. May need to play around a bit with the shapes and materials to make it more interesting though.

  • chii 2 months ago

    but if you allow that, what's the difference really between this game and the original 2048?

    • nextaccountic 2 months ago

      Well the original 2048 has new tiles popping up constantly, this one doesn't. But indeed, with 180 degrees rotation this one would just be an easier 2048

      • eganist 2 months ago

        Different input, but functionally you're right.

justinator 2 months ago

That was fun! But I was able to solve the puzzle by continually rotating the same direction.

I bet this was tried, but what's play like with the same game mechanics of this version, but with the original game play, where each move gives you a new block?

  • eyelidlessness 2 months ago

    > But I was able to solve the puzzle by continually rotating the same direction.

    I’m not gonna ruin the original game’s mechanics for anyone who hasn’t already had them ruined, but I will say I recently tried exactly this strategy in the original and it gets you surprisingly far. But it’s definitely not a winning strategy.

    • agileAlligator 2 months ago

      I've spent unhealthy amounts of time playing 2048, and so far the best strategy I have come up with is never swipe up unless absolutely necessary and even then swiping up will likely cause the game to end in the next few moves (unless you get lucky and resolve the stuck block in some way)

    • phkahler 2 months ago

      In 2048 I find alternating between right and down swipes goes really far. Or any other 2 adjacent directions. I know I made it to 8192 at least once and perhaps 16384 - not by just alternating swipes of course.

  • scoot 2 months ago

    2048 was similarly flawed (cycle up, right, down, left to win), so I doubt a new block on each turn will solve the issue any more than it did for the original.

    • ironchest 2 months ago

      I just tried this a few times, I don't win. I get to 256, even tried on different implementations.

    • eps 2 months ago

      Threes, which is what 2048 was ripped from, is not solvable this way.

  • fuegoio 2 months ago

    Mhh it could be tried yes! It is a small idea I need to improve! Normally, you would not have the best solution if you rotate in the same direction, but yes it's not really fun to win even doing that :/ Thanks!

  • cheschire 2 months ago

    Sure that solves the puzzle in 27 moves. So try to solve it in less moves.

    • justinator 2 months ago

      It doesn't feel very engaging - it just becomes a game of golf.

      • justinator 2 months ago

        Or more like a lock combination. I wasn't aware the blocks weren't random.

donatj 2 months ago

Are there any keyboard shortcuts to this I'm not finding? Really needs keyboard shortcuts.

  • fuegoio 2 months ago

    Just added them! Thanks for the feedback!

eyelidlessness 2 months ago

Thanks, I love and hate it!

I’ve been obsessively playing another 2048 variant which was a recent Show HN[1], and has confounded me since. Yours has a much gentler learning curve and obviously isn’t designed to be unbeatable. Rotating the whole board will probably continue confounding me in entirely different ways.

1: https://www.adversarial2048.com/

  • metadat 2 months ago

    Fiendishly masochistic, thanks for sharing.

dalmo3 2 months ago

I don't get it. The numbers add up to 128. Then what?

  • dalmo3 2 months ago

    Okay, there's a victory screen now, which didn't show the first time I played.

    • nextaccountic 2 months ago

      it should be called 128 then, or at least add some blocks when 1028 is formed to eventually get to 1024

      2048 is called that way because you need a 2048 block to win

  • notRobot 2 months ago

    To get to 128 with the least number of moves.

armchairhacker 2 months ago

Suggestion: make it so that arrow keys (left, right) rotate the board.

  • KMnO4 2 months ago

    Even more abstract suggestion: rotate the board with the device accelerometer.

    • fuegoio 2 months ago

      Ahah it could be a settings thanks for the idea!

  • fuegoio 2 months ago

    Just did it, thanks a lot!

  • fuegoio 2 months ago

    Will add for sure thanks!

valbaca 2 months ago

Neat!! but please, please support left-and-right keys and better mobile (swipe left and swipe right)

eps 2 months ago

Excellent.

Is each board guaranteed to be solvable?

For playing on mobile - it's be nice to be able to rotate by swiping vertically down the empty space on the left or on the right of the board.

djbusby 2 months ago

You have been hugged to death. I'm getting 503s and other errors from Netlify. Congratulations!

Edit: now intermittent errors

noduerme 2 months ago

I feel like a more interesting piece of code would be one that generated random (but solvable) puzzles and showed what the minimum number of moves was to solve them.

Humphrey 2 months ago

I initially tried to rotate my phone. It look me a while to notice the buttons. Good 5 mins of fun!

btutal 2 months ago

I couldn't do less than 12 but definitely fun to play!

nwsm 2 months ago

Ouch, I wasn't expecting to get in a stalemate position by turn 15

t_a_v_i_s 2 months ago

Fun! My best score is 13. Do you plan on randomizing the start?