Show HN: I made a puzzle game with Three.js (thomasfriday.com)
A while ago I discovered three.js, a JavaScript library to manipulate 3D objects. It looked really interesting, but I had no real need for it...
To change that I recently challenged myself to make one 3D web game per month with three.js. And I just release game #2, a puzzle game called Cuboid, and you can try it here: https://www.thomasfriday.com/cuboid/
Please let me know if you have any questions or feedback. Thanks!
40 comments
[ 3.2 ms ] story [ 96.7 ms ] threadOverall, this is great!
On desktop, you could use keys other than the arrow keys (e.g. q/s for one direction and w/a for the other, since they're more diagonal, or even 1, 3, 7, 9 on the numpad). Edit: I had no trouble on desktop, for what it's worth.
Another option would be to change the view angle so that the directions more closely match the orientation of the arrow keys. It would throw off the nice isometric view a bit, but I assume it's real 3D, so this would be easy to change, right? :)
And I poked around your source, and it's nice to see how you've created the levels ( https://www.thomasfriday.com/cuboid/levels.js ).
I think it desperately needs an undo on death, and ideally should have player-triggerable undo/restart.
Given the rest of the game, I was a bit dismayed at the end seeing that it had basically been a scored playthrough. If I'd known the moves were being counted, I would have played better! This won't apply to everyone, but there is a subset of players (like me) who really like knowing what to optimize for, so having a hidden scoring system be sprung on the player at the end is a bit of a betrayal.
+1 on the arrow direction vs. movement direction mapping being a problem on keyboard. 95% of the time I was in a flow state and it wasn't an issue, but if I made a mistake I'd immediately lose faith in having the right mapping, start second-guessing myself, and make follow-up mistakes.
I was curious.
~455 moves
Another proof that what makes a game aren't photographic quality graphics.
Thanks for sharing.
I don't know why, but there's something satisfying in the way the cuboid rolls into its rightful place.
~353
Found a bug: https://ibb.co/WD6RF8f
https://www.thomasfriday.com/cuboid/levels.js
334 moves!
https://escapadegames.itch.io/roll-of-the-dice
Was this an inspiration?
i like that there is no time pressure. i can analyze the board and think before i move. in comparison your first game is frustrating. it makes sense of course, but it's way to fast for me, and not relaxing. this is a relaxing puzzle.
i would change the mechanic of the red squares. as it is they work just like no squares. as falling down kills you too. how about it kills you if you touch a red square and a white (or green) square together, or a red square and empty space? that means you could use a red square only if the block is safely placed over it.
then you could introduce multiple colors that do different things. say, yellow shifts your block by one square. blue rotates it, purple makes it jump to a another purple block, another doubles one or all dimensions of the block, making it faster to move or able to cross larger gaps, one color could add or remove squares, changing the layout of the board, or move the target. etc...
since your goal is to learn 3d, each of these could have a different kind of 3d effect.
(btw: i made it in 303 moves)
What's your strategy for designing levels? Is it all manual?