selectnull 2 years 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 years ago

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

  • pphysch 2 years ago

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

beeforpork 2 years 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 years ago

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

eganist 2 years 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 years 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 years 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 years ago

    And if you spin very rapidly, centrifugal force applies.

    • eganist 2 years 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 years ago

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

    • nextaccountic 2 years 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 years ago

        Different input, but functionally you're right.

justinator 2 years 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 years 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 years 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 years 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 years 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 years ago

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

    • eps 2 years ago

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

  • fuegoio 2 years 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 years ago

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

    • justinator 2 years ago

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

      • justinator 2 years ago

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

donatj 2 years ago

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

  • fuegoio 2 years ago

    Just added them! Thanks for the feedback!

eyelidlessness 2 years 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 years ago

    Fiendishly masochistic, thanks for sharing.

dalmo3 2 years ago

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

  • dalmo3 2 years ago

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

    • nextaccountic 2 years 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 years ago

    To get to 128 with the least number of moves.

armchairhacker 2 years ago

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

  • KMnO4 2 years ago

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

    • fuegoio 2 years ago

      Ahah it could be a settings thanks for the idea!

  • fuegoio 2 years ago

    Just did it, thanks a lot!

  • fuegoio 2 years ago

    Will add for sure thanks!

valbaca 2 years ago

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

eps 2 years 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 years ago

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

Edit: now intermittent errors

noduerme 2 years 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 years ago

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

btutal 2 years ago

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

nwsm 2 years ago

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

t_a_v_i_s 2 years ago

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