Unfortunately, I (and likely many others on HN) am pretty sign-up adverse, and since this game seems like it should be perfectly playable 100% client-side, I think this is going to really hurt adoption.
One big annoyance with the power-ups is that the failure condition is checked before you can use them. It's particularly painful since they all replace the current piece, so they seem tailor-made to get rid of a nasty piece that would cause you to lose... but then they have to be used before you get to that piece that would cause you to lose!
Anyway, both times I played I got in the 40s without any power-ups used, then saw that the next piece would cause me to lose but none of the powers could save me. Probably the ideal fix is just to not trigger a loss while you still have powers?
It might improve the flow to first letting them play a challenge (does not have to be daily challenge, e.g., just the demo tetris-like game from the starting page) and then introduce the account sign up afterward.
- The yellow box with hints overflows (and is cut off) in the middle of the second paragraph
- The site layout appears to be optimized for mobile (portrait) screens. But the actual interactive elements look to small for touch targets. For desktops (if that is a target), consider using the horizontal space more (e.g., for the box with hints or the leaderboard(s))
- The tooltips on the actions at the top of the lines games board were not in English (appear to be maybe Spanish/Portuguese). Seems like a missing translation (my language preferences are en;de).
- the lines game itself was fine, the idea is okay but I don't think I want to play more than 2-3 rounds of it (which is okay for a daily challenge-ish game). An improvement might be to highlight (with a light background on the board) what combinations of piece layouts are possible after placing the first block (e.g., the straight piece only has 4 possible layouts after the first block and one after the second).
Yellow box: You were totally right. The copy was a bit too long for certain browser/font configurations. I'm shortening the text so it fits perfectly without breaking the layout.
Layout/Targets: Spot on. The game was built strictly as for mobile to be played with one hand. Playing it on a big monitor right now is probably a bit of a torture! ;)
Tooltips: Nice catch! I had hardcoded the title attributes in Spanish and completely forgot to pass them through the translation dictionary. Fixed and deployed!
Highlighting piece projections: This is actually a really nice UX idea! I originally left it out because part of the core challenge is forcing the player to mentally visualize the rotations and placements, but I completely see how it would reduce the cognitive load.
Really appreciate the honest review!
Maybe put the instructions you listed here on the site. I tried before reading the comments and got nowhere.
(Edit:I just noticed the instructions on the page bottom… move them up)
For me the symmetric pieces and the ability to just draw on any square on the grid to highlight it (even those that aren’t part of the shape you have to draw) was at first confusing (some Tetris pieces are symmetrical and you can’t flip)
it took some getting used too but it is oddly satisfying.
That’s my feed back. Well done.
about your suggestions:
1. Instructions: You're absolutely right. I'll think of a way to make them more visible for new players. Great catch!
2. Flipping pieces (Mirroring): I have to respectfully disagree on this one. It would fundamentally change the essence of the game, which is exactly about making that small mental effort to rotate the piece in your mind before placing it. I believe it's better as it is now.
3. Drawing pieces: Limiting the selection so you can't highlight a square that isn't part of the piece you're drawing is a fantastic idea. I'll look into how to implement that.
Thank you so much for all your suggestions!
To me, this was the least fun part. Since there’s no penalty for entering squares incorrectly, I just tried the shape, and if it wasn’t accepted, I figured “oops, I must have flipped it.”
But I agree it would be a major change. If you ever share the source code, I would want to try doing this myself for my own use, to see what it feels like.
Edit: never mind! Already done! https://hnarcade.com/games/games/linex
It took me a surprisingly long time to break out of the tetris gravity mindset and start attaching pieces to the bottom of existing blobs, rather than on the lowest possible position on the board!
Some feedback/thoughts:
1. I don't think the current approach to difficulty is fun, its just feels limiting without any interaction or ways to turn it into an advantage. Some other ideas would be to have non-tetris pieces that are more difficult to place (but might be very good if you find agood placement), or temporary board obstacles that you can work around until they are gone/removed. Or pieces that do something else when placed like become obstacles until adjacent pieces are cleared. There are many ways to find a more fun difficulty approach :)
2. As others have pointed out it's frustrating to lose when you have "powers" left
3. The difficulty progression vs leaderboards are not clear to me. Am I only competing against players in the same difficulty? Can I choose a lower difficulty? (I would rather get the difficulty from competition than the fixed blocks on board)
4. Getting "holes" in normal tetris feels a lot less punishing than in your game. Here it almost feels unrecoverable at times. I don't have suggestion, and maybe it's not even a problem. Just wanted to mention it.
5. The powers feel a bit "meh". They are useful sure, but seem pretty similar in a way.
Your comments are very interesting and insightful.
1. Difficulty: You're right—making obstacles dynamic or even destructible is a powerful idea and could be a lot of fun. I’m definitely taking note of that.
2. Powers & Losing: This makes total sense. Other users have mentioned this as well, and it’s a very reasonable point. I’ll look for the best way to implement a reminder or alert.
3. Leaderboards & Competition: This is a great point, and I should make it clearer on my end. You only play one daily game, but your records are compared in two ways:
a. Global: Your score is automatically compared against the rest of the world.
b. Personalized Competition: You can choose specific competitors to follow. This is similar to followers on X; you follow whoever you want, and they are added to your personal board (called 'My competition today'). Your game is then automatically compared just with them.
Imagine you want to compete with your family. You can create a board just for them by adding their profiles using the 'Add competitors here' option. Your daily game will then show up specifically against theirs in 'My competition today.' I think this feature has huge potential, even if many people haven't discovered it yet.
4. Holes: Try using the 'One Cell' power; it's designed to solve exactly that problem! ;)
5. Powers: A power that 'clears' or 'cleans' parts of the board sounds very interesting...
Thank you again for your feedback, it was very useful!
This comment above about difficulty made me wonder if there are more interesting things to do with the unclear-able blocks that would both let you ramp the difficulty and achieve more of your vision. A few off the cuff ideas:
* enemy blocks that are clearable if you make a row and a column through them * enemy blocks that require to be surrounded by n deep blocks to resolve * enemy blocks that automatically pop into single cell holes * enemy blocks that grow by infecting neighboring blocks over time or the more other rows you clear * enemy blocks that require multiple row clears to resolve
the thought is having a few types with each enemy block needing a different strategy to resolve would give you more levers on how to control difficulty and give you more variation to the strategy and more agency to defeat them. powerups is kinda a deus-ex-machina currently. you dont feel earned satisfaction when you clear an enemy block.
The idea of giving blocked cells more functionality is excellent, especially being able to clear those 'enemy blocks' by crossing both a row and a column over them simultaneously. It's brilliant. I'm going to think more about it and see if it fits the core essence of the game.
I also like the idea of having different types of blocks with various functionalities. Very well thought out.
I wasn't familiar with the expression 'deus ex machina,' that's interesting! ;)
Regarding the swipe-to-draw mechanic, I really believe that drawing the piece cell-by-cell on the board has a few intentional advantages:
1. It gives the player a sense of absolute control over the game and their placements.
2. It provides a sequence of 'micro-pleasures' or tactile feedback with each tap. It acts as a series of tiny micro-goals you achieve as you slowly build the piece.
3. It intentionally slows down the gameplay. Since this is a strategy puzzle, slowing the pace down is ideal because thinking mid-to-long term is absolutely crucial.
As for tapping the red piece to pre-rotate it... well, that’s exactly where the added difficulty lies! It’s a specific mental challenge that few games force you into. You have to make that little extra cognitive effort to visualize the piece on the board. I like to think it definitely helps improve your spatial awareness over time! ;)
If you don't mind me asking, how are you doing piece generation? Is it random%7, drawing from a bag, or something else?
If I were to explain it the technical way: I use a custom Linear Congruential Generator (LCG) seeded by the current date (YYYYMMDD) to ensure deterministic gameplay—everyone gets the exact same piece sequence every day. I don't use flat probabilities; instead, I run the LCG output through a weighted roulette that changes based on the day of the week (e.g., higher probability for 'I' pieces on Mondays, higher for 'S' and 'Z' pieces on Sundays). Lastly, there's a system to mitigate consecutive identical pieces.
In simpler terms: I use a formula based on the current date to generate a different sequence of pieces every day, guaranteeing it's exactly the same for all users on that specific day. Then, I adjust this sequence using a probability matrix so that on Mondays you get more of the easy pieces (like the line or square), and on Sundays you get more of the hard ones (like S or Z).
This is the probability matrix:
const pieceProbabilities = { 1: [0.20, 0.18, 0.16, 0.14, 0.14, 0.09, 0.09], // Monday 2: [0.18, 0.17, 0.15, 0.14, 0.14, 0.11, 0.11], // Tuesday 3: [0.16, 0.15, 0.15, 0.14, 0.14, 0.13, 0.13], // Wednesday 4: [0.14, 0.14, 0.14, 0.14, 0.14, 0.15, 0.15], // Thursday 5: [0.12, 0.12, 0.12, 0.15, 0.15, 0.17, 0.17], // Friday 6: [0.10, 0.12, 0.12, 0.15, 0.15, 0.18, 0.18], // Saturday 7: [0.09, 0.10, 0.13, 0.15, 0.15, 0.19, 0.19] // Sunday };
I hope this explains it well!
I'd love to be able to play by dragging. On mobile it would be really nice if I could draw the shapes with my finger