[HN Gopher] Show HN: Kuboble.com - Minimalistic sliding pieces p...
___________________________________________________________________
Show HN: Kuboble.com - Minimalistic sliding pieces puzzle game
Hi, I wanted to share a simple game I wrote. It's a sliding
pieces puzzle like many others. I have focused a lot on making the
experience smooth and minimalistic and the levels being challenging
in a way a sudoku or chess puzzles could be. I had no prior
knowledge of game development and while it feels like someone
competent could build this game in a week I spent over two years
and hundreds of hours to bring this game to life. My journey went
through: - thinking it will be a PC game
- being overwhelmed by the amount of different game frameworks
- hiring an indie dev to bootstrap the game in Unity for me
- realize the small levels are actually cool and it might fit on a
phone - generating levels and playing through thousands of
them myself to curate a smaller list - realizing the Unity
wasn't a good choice - rewriting the game in html + js
drawing on canvas + React - hiring a bunch of fiverr
artists and testers to polish it up I think I am finally
satisfied with the result enough to be willing to share it with the
world. If you're a fan of minimalist sliding pieces puzzles I'd be
happy if you give it a try! the game has: - no ads - no tracking
of any kind - fully offline after first load
Author : kuboble
Score : 375 points
Date : 2023-02-08 09:44 UTC (13 hours ago)
(HTM) web link (kuboble.com)
(TXT) w3m dump (kuboble.com)
| agentwiggles wrote:
| Played the first 6 or 7 levels. I enjoyed this a lot, and I'm not
| usually much for puzzle games.
|
| One thing I like is that you let the user undo as many moves as
| they want, and also that I can retry a puzzle without any kind of
| feeling that I've failed somehow. I've noticed in a lot of these
| online puzzle type games like Wordle and its various
| clones/cousins that the player is often punished somehow for
| experimenting with the puzzle. This strikes a good balance, where
| I can fiddle around with the puzzle to my heart's content but
| still feel satisfied when I get one in the target number of
| moves.
|
| Nice work!
| kuboble wrote:
| Thank you.
|
| My idea is that the challenge here is not the time nor getting
| the puzzle right at first attempt, but as in math problems it's
| to find the best answer at all eventually.
|
| And if I can't solve some level I can come back to it later
| (hence the filters for partially completed levels).
| shanehoban wrote:
| I don't see how to pass level 13, it doesn't seem possible
| shanehoban wrote:
| Never-mind, I actually did it by just accidentally dragging
| them out of frustration - it is possible!
| ankitrgadiya wrote:
| Thinking in the reverse direction helped me.
| vpol wrote:
| Thanks for killing my productivity! Very nice game.
| huhtenberg wrote:
| Nice. Sokoban nostalgia says Hi :)
|
| Some nits and comments if I may.
|
| * Don't count moving stones as an actual move until the stone is
| released. I am on a PC and if I click-and-hold a stone and then
| move it back and forth, each move is counted even though I
| haven't released the mouse button yet. This is somewhat counter-
| intuitive and unexpected.
|
| * Put the light source at the top. You have it at the bottom and
| this results in a drop shadow above the stones, which looks more
| like an unintended blur or ghosting. Also shadows/highlights are
| a bit inconsistent - base tiles imply that the light source is at
| the bottom-bottom-left, but the stones are shaded as if it's at
| the bottom-right.
|
| * Perhaps reduce the size of stones a bit to add some breathing
| space around them when idle and when moving.
|
| * Add a keyboard nav? There are two stones, so something as
| literal as awsd for one and arrows for another would work. Or
| just the arrows with a 'space' to toggle the focus.
|
| * Starring criteria is unclear. Got one level with "optimal"
| rating, yet it gave 3 stars. This was the one where I had to undo
| several moves because I was mindlessly moving the stone back and
| forth without releasing it.
| soperj wrote:
| If you play more you'll realize there are levels with more than
| 2 stones.
| kuboble wrote:
| Thanks a lot! I haven't expected more than few people seeing
| it. I'm absolutely excited that people like it and give great
| feedback.
|
| * the move is applied automatically the moment the done does
| stone_width/2 in a free direction. It would be tough to
| implement what you suggest. Also I did implement move counter
| the way you recommend - that if you make a move that cancels
| previous move it reduces the count but the testers were
| unanimously confused by it so I reverted it.
|
| * there is no light source. It's few simple 2d images.
|
| * I actually like how tight the stones are - like in a goban
|
| * keyboard is on my todo if pepole intend to play on a pc
|
| * starring is 5 for optimal score and 1 less for each extra
| move. Are you sure you have observed that anomaly?
| huhtenberg wrote:
| * Then, once move is applied disallow moving the stone again
| without re-engaging it a new tap/click-hold? Or undo the last
| move silently if the following move is the reverse of the
| preceding one?
|
| * I meant "implied" light source. My point was that visually
| it's somewhat messy due to shadows being on top.
|
| Re: the starring thing - I can't reproduce, but 100% saw it.
| Was on the level 3.
| japanman425 wrote:
| Biggest tip of all is don't be demoralised by snarky remarks
| such as this
|
| > Sokoban nostalgia says Hi :)
|
| HN is full of people who have seen it been there done it and
| like to point it out in the pass agg format such as that.
|
| One of the most difficult barriers to starting a "cool"
| project for me is the "but X already exists" even worse when
| someone points it out to me in a snide manner.
|
| Absolutely love your game. Reminds me of the primitive yet
| challenging games you would find on random floppy disks at a
| jumble sale. Thank you for making it!
| huhtenberg wrote:
| There was nothing snarky about my comment.
|
| OP's game has a similar setup, mechanics and requires
| _very_ similar strategies to solve as another very well-
| known game that many people know. This is obvious.
|
| Mentioning it doesn't denigrate or belittle OP's creation
| in any way.
| kuboble wrote:
| Thank you.
|
| By the way. I didn't get the snarky vibe from the comment
| at all.
|
| Kuboble is born from Sokoban nostalgia :). I think this
| exact puzzle mechanic is a subset of many existing games.
|
| I would like to think that my original contribution is
| mostly the level selection.
|
| I'm grateful for anyone caring enough to post a critical
| comment.
| Bedon292 wrote:
| I am not really a frontend person, but I don't think it
| should be too bad to implement a move counter that doesn't
| happen until you release the stone. Something like an
| onmouseup / touchend event.
| julianwachholz wrote:
| The light source parent meant is rendered into your 2d
| sprites. The colored stones for example have a shine in the
| bottom right.
| pmontra wrote:
| Nice game.
|
| > the move is applied automatically the moment the done does
| stone_width/2 in a free direction
|
| Shouldn't a move be complete when the stone bumps into a wall
| and stops moving? I guess you already have the code to detect
| that event. You can hook the move counter there.
|
| Keyboard navigation is definitely due on a computer. Select a
| stone with mouse and move with arrows or awsd. We can play
| two handed. It's much better on a phone now because we can
| throw stones to walls with a finger.
| kuboble wrote:
| Hi, It's that the animation and bumping is executed already
| when the stone does a short way - on a larger board it
| looks like this:
| https://i.gyazo.com/bd780834e5546a4d8f84791b0f619ebb.mp4
|
| But I see how it can be confusing when the path to travel
| is 1*stone_width. I don't have a good idea how to preserve
| the behavior on a bigger board and making it less confusing
| on a smaller one.
| passion__desire wrote:
| Reminds me of this simple Pushing Machine game.
|
| Pushing Machine (Impossible, puzzle 1)
| https://www.youtube.com/watch?v=0lL5YQHHnog
|
| https://play.google.com/store/apps/details?id=com.reactor.pu...
| pigcat wrote:
| That was fun! Congrats and thanks for sharing :)
| el_snark wrote:
| No instructions. No idea what the objective is. Gave up after 60
| seconds.
| wink wrote:
| Looks good!
|
| I would assume it's for mobile first and it feels a little clunky
| having to move the stone with a mouse if there's only one
| direction. Not sure if it would work to just slightly sling it
| into the direction instead of having to drag it all the way, if
| you know what I mean. Double-clicking to make it move would work
| if it's blocked in all but one direction, but that's a weird edge
| case. Also on a 27" it's a tad big.
| kuboble wrote:
| it's enough to slide the ball piece_width / 2 in the direction
| of travel and the move will auto-complete.
| perryizgr8 wrote:
| Very enjoyable game! Well done, I'm hooked. Is there a meaning
| behind the name?
| kuboble wrote:
| Not really.
|
| It's something based on my name Kuba. Should sound like a game
| name, be short and have a free .com domain.
| snozolli wrote:
| Stumped by level 20. Didn't expect to get so sucked in!
| mteam88 wrote:
| Awesome. What are your thoughts on web assembly?
| hxhxhrra wrote:
| Maybe consider a different color palette. I have a red/green
| color blindness (like ~8% of the male population), and I can only
| barely differentiate the colors.
| kuboble wrote:
| That's a good point I haven't thought about. It's obvious
| mistake on my part. I will make the colors configurable
| perhaps. Interesting that none of the reviewers raised this
| point.
| GordonS wrote:
| I tried level 1, moved the two stones onto the squares... and
| nothing happened?
|
| Eventually I realised that the stones need to be placed on
| different coloured squares - I'm colour blind (red/green), and
| can't tell any difference at all between the stones. For the
| squares, I can tell one is a bit darker than the other. You might
| want to consider using more contrast, or a more colour-blind
| friendly colour palette.
|
| Reminds me of Sokoban, which I first played more than 30 years
| ago!
| snny wrote:
| I had the same experience with Level 1, except I'm not
| colorblind but I was using a grayscale filter on my phone for
| other reasons. Thank you for calling this out!
| kuboble wrote:
| I'm sorry. I will add a color-blind friendly palette.
| pmontra wrote:
| Or two different shapes, because there are too many different
| color blindnesses. Board games started marking counters many
| years ago. Sometimes their colors are so similar even for non
| color blind people. I couldn't get a black from dark blue
| counter two nights ago, the light at the table was not great.
| And yellow looked a pale gray.
|
| Examples for the game: the red stone could have a empty
| circle mark on the top it, the green one could have a circle
| with a dot inside. The destination squares would be marked
| with the empty circle and the dotted circle.
| GordonS wrote:
| Oh, different shapes would be even better!
| darkvertex wrote:
| Yea, even better: distinct iconography.
|
| A circle and a triangle, for example.
| Bedon292 wrote:
| This would be great. It looks like at the top end there
| might be a third stone. So square, triangle, circle. And
| where they go on the board marked with the same shape would
| be very intuitive even with no color at all.
| kuboble wrote:
| I have made a very quick-fix for colorblindness at
| https://kuboble.com/beta/
|
| I'll try to come up with something better in the long term
| RobotCaleb wrote:
| The rule of thumb for this sort of thing is to never rely
| on color alone to convey important information. Shapes and
| patterns and textures are much preferable to simple color
| variations.
| mritchie712 wrote:
| good call. A triangle and square in the middle of each
| circle would eliminate the need for color all together.
| jcynix wrote:
| Thanks, looks much better. Ideally we could choose the two
| colors from a set of four or five colors.
|
| Another option would be to use different forms, e.g. a
| round stone combined with a square one.
|
| Anyway, nice game!
| 777Blooms wrote:
| Stuck on level 12, have found solutions with 10 and 9 moves but
| not 8. Hmmm
| eutectic wrote:
| orange down
|
| green right
|
| orange right
|
| green down
|
| green left
|
| green down
|
| orange left
|
| green up
| Narew wrote:
| It's really close to "Ricochet Robot" in its principle.
| https://boardgamegeek.com/boardgame/51/ricochet-robots Really fun
| game
| kuboble wrote:
| Oh yes. It has basically identical mechanics.
|
| However - I only started really liking my game when I have
| realized that you don't need big complex boards to make
| interesting challenges.
| eemmpy wrote:
| Nice game. Also very similar to my Persuasion puzzle game
| (https://persuasiongame.codesimple.net/persuasion/) which I
| created a good few years ago, originally for Android and then
| ported to the browser.
|
| I like the simplicity of the Kuboble levels. I started like
| that but then got carried away adding switches and teleports
| etc. to the later levels.
|
| And similar to Kuboble, mine could do with some keyboard
| controls. I think both work better with touch screens.
| Techbrunch wrote:
| I came to say the same thing ^^ Check: https://galactic.run/
| for a web implementation :)
| kevincox wrote:
| I love this game and made a web-based solver that can also be
| used as a game board in a pinch.
|
| https://ricochetrobots.kevincox.ca/
| samgtx wrote:
| Great game. I have played a similar game to death on android
| called Flow Free. I binge the new packs as they come out. The
| first game/set of puzzles was free and I have purchased and
| completed every new pack to optimal/5 stars. They're a few
| dollars each. They release big packs of puzzles with new layouts
| and also a daily and weekly group of puzzles. Very addicting. I
| actually wrote them a few years ago asking for more packs to buy.
| If you haven't seen it before maybe take a look because I think
| you could do very well with this game you have built.
| bambax wrote:
| Nice game, and excellent story! Thanks for sharing!
| chienandalou wrote:
| FYI: while the game is running one core of my 5600X is always at
| 80% load (current Firefox on Fedora Linux), although nothing's
| really happening. It looks as if there's a busy loop in the
| background burning CPU cycles.
|
| Apart from that, nice game, well done!
| greenpeas wrote:
| Really fun game, congrats! And good job sticking to it for so
| long, and getting it out there!
|
| I'm curious whether you wrote an automatic solver to find the
| optimal number of moves per level? And does the number of moves
| in an optimal solution correlate with difficulty? Or are there
| easy levels with long optimal solutions?
| kuboble wrote:
| Length of the solution correlates with difficulty just not
| perfectly. It's easy to come up with artificial boards with
| high move count that are easy (e.g. Hanoi towers or long winded
| corridors)
|
| With three pieces difficulty gets much harder past 16 moves
| optimal.
|
| It was a long process but in the end I wrote program to
| generate all different board shapes, for each of those shapes I
| generated some basic starting position (all pieces next to each
| other) and then generated all positions reachable from starting
| position.
|
| Then I tried different heuristics as to which level is the most
| interesting and ended up with just taking the one with the
| longest solution.
|
| It generated approximately 100k levels and I started playing
| them randomly and marking those I liked to final game.
| Waterluvian wrote:
| I enjoyed this so much that I began sharing the link with
| friends. Well done.
|
| Your journey is my journey, many times. I've tried so many
| different game engines and such. What I've learned that works for
| me and scratches my creator itch perfectly is:
|
| - Make small games. And I mean SMALL. Like what you've done
|
| - Write them for the web to trivialize sharing them with the
| world
|
| - Use very basic HTML + JS/TS and maybe add React if you've got a
| lot of UI. And Canvas is great.
|
| - Look into Pixi.js as an abstraction on the canvas API that
| gives you a ton of great features and huge performance for free
| (free WebGL if supported). I love Pixi because it just tries to
| be a renderer. It isn't a game loop or sounds or IO or physics.
|
| - Explore the game you're developing, but don't succumb to scope
| creep. Know when to decide "that's a really cool idea, maybe I'll
| save it for my next game." I have too many games that are large
| in scope but totally incomplete.
|
| - Never be deterred by "this is already been done" or "nobody
| will want to play this." The journey is the point. Sharing it
| with us is just a bonus.
| Redsquare wrote:
| Congrats, like it, simplistic - will see how my kids do at it
| after school
| MariaElisabeth8 wrote:
| [dead]
| 40four wrote:
| Cool game, I like it! Anyone else stuck on level 6? :)
| [deleted]
| kowlo wrote:
| https://imgur.com/a/HAKSFZV
| 40four wrote:
| Haha thanks, I finally got it, but in too many moves. It's
| fun to go back and try to do puzzles more optimally. Also
| interesting to note , my number 6 was oriented in a different
| way.
| kuboble wrote:
| Levels are aligned differently on horizontal / vertical
| screens.
| riskycodes wrote:
| This is great!
| expiredToken wrote:
| It's simple and easy to play, well done!
| pachico wrote:
| My colour blindness says "never again"
| kuboble wrote:
| I have made a very quick-fix for colorblindness at
| https://kuboble.com/beta/
| pachico wrote:
| Thanks a lot! Now it's perfectly visible!
| ehaveman wrote:
| Fun except the colours are all but indistinguishable for colour
| blind people like myself.
|
| Be nice if games defaulted to a colour scheme that worked for
| everyone (Vs the trend of offering a "colour blind safe" mode)
| SamBam wrote:
| Very cool! Very elegant, I like the style, and I like how
| intuitive it is to play, and yet gets tricky in some of the later
| levels are.
|
| I'm currently on level 12 with perfect stars.
|
| To me the order of the levels doesn't quite always increase,
| sometimes a later level is easier. This could just be whatever
| path I happen to see first, though. If you're collecting data,
| though, you may be able to use it to re-order your levels.
|
| One small thing that could be nice: the sound of a "click" like a
| go piece when the pieces collide. A lot of go games have a
| pleasing click sound, and I think it would be good here. (If you
| wanted to be fancy it could even be a click when the pieces
| collide, and a hollow this when it hits the side of the board.)
| kuboble wrote:
| Thanks :)
|
| I had a click sound, but it turned out that on some devices
| playing the click via javascript works awfully bad (random
| delays) and it was more confusing than useful. I intend to work
| on it a bit once I add some customizations options and it will
| be possible to enable / disable sounds.
|
| The order of levels is by 1) number of balls, 2) board size, 3)
| optimal number of moves.
|
| Although not perfectly it's actually quite well correlated with
| difficulty - all levels above 100 are much more tough than any
| of the first 20 etc.
| caxco93 wrote:
| I Enjoyed the game a lot and so did my partner. Quick feedback
| for mobile would be to have the retry button next to the Undo
| one. If there is a space issue then maybe switch the undo one for
| a circular arrow. We found ourselves retrying most of the time
| and it was really cumbersome to open the level menu and hit retry
| after
| kuboble wrote:
| Thank you!
|
| Retry is there if you click "Level" button in the top right.
| mmww wrote:
| total people hired? total spent?
|
| what unexpected things occurred hiring people?
|
| great job, played for longer than expected :)
| kuboble wrote:
| I would say 3 people have contributed significantly.
|
| 1) Indie dev - build a first version of the game in Unity. She
| is responsible for the look&feel of the gameplay 2) Fiver
| person 1 - who made the very crude js version of the player
| which I refactored into final version. 3) Fiver person 2 - who
| helped me with the design of the game menu.
|
| Other than that I have hired some other designers on fiverr,
| whos designs I didn't end up using, several testers and
| reviewers.
|
| I also asked all friends and family to try it out and I have
| observed if they can figure out what the game is about without
| any hints.
|
| Nothing really unexpected happened in regards to working with
| people.
| matsemann wrote:
| I really like these kind of puzzle games. It's always so
| satisfying building up a kind of "intuition" on how to solve
| them, learn the patterns etc.
|
| Well done on "finishing" it. Your story is a typical one, myself
| being guilty of it: Going too grand in the beginning, and never
| getting anything viable out. Focusing on the core gameplay, even
| if "only js+canvas" with no fancy 3d graphics etc is the right
| start.
| insane_dreamer wrote:
| As a former sokoban player (I think I last played it on a Palm V
| but can't remember) I like it. I miss the little guy running
| around though :)
|
| nicely done
| trizoza wrote:
| Nice one!
| ismailmaj wrote:
| stuck for 20 minutes on lvl 6 for the optimal solution, 10/10
| would recommend
| nadinengland wrote:
| I keep coming back to it and can't get better than 8 on lvl 6.
| Would love to know how you've done it!
| kowlo wrote:
| https://imgur.com/a/HAKSFZV
| green-eclipse wrote:
| I love this! I'll be waiting at doctors offices a lot over the
| next few days and will be grinding hard on this. Thanks for
| sharing it.
|
| Playing on desktop vs mobile is interesting -- I noticed the
| board isn't just rotated 90 degrees, but rotated and mirrored.
| Just curious why you decided to do that? A quirk in the rendering
| or something? Thanks again.
| kuboble wrote:
| Swapping x/y coordinates was easier than rotating.
|
| Didn't put much thought into it to be fair. But it's true that
| the mirror can feel like a completely different problem.
| green-eclipse wrote:
| Makes sense!
| VBprogrammer wrote:
| With my colour vision deficiency the tokens on the first couple
| of levels practically look identical. In fact I had to guess by
| assuming what was harder arrangement.
|
| Could the colours be made more accessible or perhaps some other
| clue added?
| mytaterskin wrote:
| go to https://kuboble.com/beta/
| ranting-moth wrote:
| I know everyone is saying it, but it's brilliant!
|
| Dead simple gameplay but challenging puzzles!
| kuboble wrote:
| Thank you so much!
|
| That's the exact experience I was dreaming to achieve
| hairtuq wrote:
| I wrote a solver for Atomix (https://github.com/falk-
| hueffner/atomixer), a similar game. Technically, the only
| difference is that in Atomix the solution location is not
| predefined, although probably based on level design this game
| actually feels quite different. Since the solver just tries all
| solution location anyway, it would be quite simple to adapt it to
| this game.
| 4matt wrote:
| Very nice. Maybe hide the undo button when it's 0?
|
| Also, tiny error on desktop: start dragging a piece, move out the
| window, release, and then either piece will move on mouseover.
| marek_TR wrote:
| Interesting game, very good minimalist design. I'll try to play.
| Self-documenting. No description needed.
| robofanatic wrote:
| Cool game
| sltkr wrote:
| Fun! It seems like a simpler version of KAtomic
| (https://apps.kde.org/katomic/).
|
| By the way, PuzzleScript (https://www.puzzlescript.net/) is a
| great way to prototype or implement these kind of game ideas; see
| for example the "Neko Puzzle" example.
| jonnycomputer wrote:
| wow stuck on level 33.
| Anuiran wrote:
| The colors are really hard for me to see, but otherwise it is a
| cool idea.
| slig wrote:
| Congrats, will be playing it today.
| bitslayer wrote:
| Pretty. Keyboard shortcuts would be a nice addition.
| JKCalhoun wrote:
| Agree. Ideally then you would need a notion of "focus" -- which
| piece is selected (bonus if there is a key to toggle between
| which piece has focus).
| greggrahamer wrote:
| Nice work!
|
| I'm a fan of a new puzzle every day.
|
| Mix things up, some hard, some easier. Much in the way
| Wordle/Figure/Killer Crossword does it.
|
| You don't need to change your game, give a url that changes the
| puzzle every day.
|
| People who want to binge can do it, people who want one-a-day can
| do that.
| kuboble wrote:
| I have such a plan - but I didn't want to add thousand features
| in case nobody wants to play it.
|
| Right now on my todo list there are two majors 1) colorblind
| friendlyness 2) making the gui loop fully idle when nothing
| happens
|
| and I will want to add a level of the day soon afterwards if I
| see people are actually willing to play it.
|
| And the reason why I went with the "campaign" as default is
| that the difficulty of puzzles differ tremendously so the
| gradual progress is better than one the same puzzle a day for
| everyone.
| MrDrDr wrote:
| This is very good - got me spending more time playing than I
| intended to and I will definitely share - well done. Maybe
| consider the wordle - one game a day/ share your score with your
| friends on social media approach - so your users stay hungry and
| don't waste too much time playing it!
| opdahl wrote:
| Really fun game, was able to get the optimal solution of the
| first 37 levels, but level 38 really got me stumped! Been trying
| for maybe 10 minutes and can't even solve it no matter how many
| moves I do.
|
| What would also be a fun exercise to write like a solver script
| where you basically try to brute force every puzzle. I'm sure you
| can get the optimal solution very quickly at least in these 4x4
| grid games and only 2 balls.
| f5ve wrote:
| good job!
| xwdv wrote:
| If you're building puzzle games, I would suggest not starting
| with the game but instead create a program first that generates
| challenging puzzles, then build a game around the levels it
| generates.
| moffkalast wrote:
| Plays quite well, and having the total moves displayed as a goal
| is super helpful to figure out roughly how complex the solution
| ought to be. Got to level 15 so far and it seems reasonably well
| balanced. Getting the level difficulty scaling right is often
| quite tricky, having made a fair few games so far that's always
| been a pain, so very good job on that. May be worth adding one
| even simpler first level since some people here are apparently
| having trouble figuring out the mechanics at the very start.
|
| One other suggestion I'd make is regarding the art style, which
| seems a bit inconsistent. The space wallpaper doesn't really fit
| with the rest, I'd imagine a wooden table sort of texture might
| look better. Having the buttons in the same style as the game
| board tiles would tie the gui together more, etc.
| px43 wrote:
| I for one appreciate the wooden board floating through space
| theme.
| moffkalast wrote:
| It's more likely that one wood think.
|
| https://www.syfy.com/syfy-wire/can-you-build-a-satellite-
| mad...
___________________________________________________________________
(page generated 2023-02-08 23:00 UTC)