(www.playlinex.com)
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.
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!
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! ;)
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?
Edit: never mind! Already done! https://hnarcade.com/games/games/linex
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