Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Kuboble.com – Minimalistic sliding pieces puzzle game (kuboble.com)
437 points by kuboble on Feb 8, 2023 | hide | past | favorite | 155 comments
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




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.


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?


* 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.


The light source parent meant is rendered into your 2d sprites. The colored stones for example have a shine in the bottom right.


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.


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.


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.


> * there is no light source. It's few simple 2d images.

suggestion: if you turn the images upside down (or turn 180 degrees), the light will come from top.

it's a fun game, thanks for sharing !

[EDIT] one minor remark, there seems to be a small graphical glitch: eg. on level one, the 3 squares on the right side (not the top and bottom one) appear to have wrong perspective.


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!


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.


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.


Keyboard control with optional highlight of a current piece is available at https://kuboble.com/beta/

it works with mouse or Tab for piece selection. arrows for moves, and backspace for undo


+1 for the keyboard. That would make it more addicting and immediately what I wanted.


If you play more you'll realize there are levels with more than 2 stones.


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.


Even without Canvas HTML with SVG is great - you have lots of easy to add effects and built-in IO events. There is now a Web Animations API which is also easy and pleasant to use.


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!


I'm sorry. I will add a color-blind friendly palette.


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.


Oh, different shapes would be even better!


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


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.


good call. A triangle and square in the middle of each circle would eliminate the need for color all together.


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!


Looks like you've reverted the changes at some point today. Which is a definite productity win for me!


I have made it configurable in the settings


I also had this experience, thank you for fixing it so quickly. The game is fun!


Yea, even better: distinct iconography.

A circle and a triangle, for example.


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.


I think square, circle, octagon would make the most sense. Or maybe diamond (rotated square) instead of octagon. That way adjacent stone would always touch.


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!


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.


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!


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).


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.


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.


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!


Seconded! If you make it easy/fun to share I (personally) would totally do so :)


I shared it by copy pasting a link to my friends. It really doesn't need to be any easier.


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!


Oh, yeah - I think it sucks my battery charge too, that would make sense


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.


Did you solve it? I didn't.

Buy you can skip to the next level ;)


It isn't solvable, I am willing to put money on it. Not proven rigorously, but mentally one can set up the balls in the final positions and run the puzzle in reverse. the rules change as they can only move orthogonal to a wall or ball they can "push" off, then you can see they can't end up in any configuration which is reachable in the start state, running the normal rules. Keen to hear if if I am wrong OP, but with me andy friend both having 30 and 15 plus minutes respectively, I would imagine we have gone through every possible configuration by now


The level 38 is my personal favorite.

I have seen so many of my friends otherwise good at puzzles struggle with it.

It's the first puzzle that requires two relatively non obvious tricks to solve. The first is bringing two pieces in the middle corridor, the second is to use back and forth movement to pass a piece. Both tricks need to be precise and deliberate. It's the first level that is very tough to solve by random walk.


=== Spoiler ===

I managed that one not too bad. The trick is putting the marker nearest the bottom against the bottom wall (playing it in high contrast mode that's the black one). Then shooting the other one around in a C-shape to get back into it's spot.

Now 36 I can't get in 13 moves and I'm stumped!


That doesn't seem like the solution. Are you sure you're talking about level 38? It's starting to seem impossible to me, too, even with your spoiler :(

Apart from that I really like this game- it's simple but challenging and looks good, too. I've played other similar ones but this one just nails it for me.

The only thing I would add would be a reset button - having to spam the undo button to get back to the start position is mildly annoying


This is the setup you are looking for, to be honest I can't quite remember the optimal setup to get there but that's a more straightforward problem when you are convinced you can solve it.

https://pasteboard.co/E9w43hwrvRwU.jpg

From there:

White right White up White left Black up


We know it takes 17 moves, so the setup for the solution is complicated. I can't solve it either, and the spoiler doesn't tell me anything I hadn't already inferred...


---- explicit spoiler ------

Green: up

orange: left - up - right

green: down - left - up - right - up - right

orange: down

green: down - right

orange: up - left - down

green: left


How do you go green up first when it starts with the orange above it?


for whatever reason, it looks like the mobile and the desktop versions have their X and Y axis swapped, so one may need to swap the instructions

DOWN <-> RIGHT

UP <-> LEFT

so try this

Green: left

orange: up - left - down

green: right - up - left - down - left - down

orange: right

green: right - down

orange: left - up - right

green: up


That's amazing, thanks.


Click on the top right button, then on bottom left.


Oh, of course - thanks. I never thought of that :/


Stuck on 36 too! 14 moves no matter how much I think about it!


It's actually rather simple, just a bit of thinking outside of the box. Always good to predict where your positions in the endgame must be in order to comply with blocking pathway to disable further movement:

Orange -> up, right

Green -> up

Orange -> left, down, right, up

Green -> left, up, right

Orange -> down, left, up


It frustrated me so much that in the end I gave up and wrote some python code to solve it.


That’s super cool! Would you mind sharing your solver?


It's really close to "Ricochet Robot" in its principle. https://boardgamegeek.com/boardgame/51/ricochet-robots Really fun game


I came to say the same thing ^^ Check: https://galactic.run/ for a web implementation :)


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/


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.


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.


Love it, but I’m stuck on level 13.

The orange target is in a “hallway” but not at the end so it looks like the only way to put orange there is to have blue at the end of the hallway so orange doesn’t slide all the way to the end. But then blue is stuck and I can’t get it to their target!

Edit: never mind, figured it out! Of course this has to happen right as I ask for help.


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.


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


Thank you!

Retry is there if you click "Level" button in the top right.


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.


I for one appreciate the wooden board floating through space theme.



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.)


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.


Thanks for killing my productivity! Very nice game.


Very enjoyable game! Well done, I'm hooked. Is there a meaning behind the name?


Not really.

It's something based on my name Kuba. Should sound like a game name, be short and have a free .com domain.


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)


Congrats, like it, simplistic - will see how my kids do at it after school


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.


it's enough to slide the ball piece_width / 2 in the direction of travel and the move will auto-complete.


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.


Cool game, I like it! Anyone else stuck on level 6? :)



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.


Levels are aligned differently on horizontal / vertical screens.


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...


Pretty. Keyboard shortcuts would be a nice addition.


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).


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


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.


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.


Makes sense!


I love it! Thank you for making it and sharing it. And kudos for pulling it off.

I'm interested in the process of creating the puzzles. What are the conceptual steps you go through to create them? Do you use some algorithmic process or it's all handcrafted?


The process evolved and I have eventually settled with something like this:

*Step 1: Level Generation*

Let's say I decide to generate 3-ball levels at 4x4 grid

I do `generate_all_boards(width: 4, height: 4,max_obstacles: 6)` and it will spit out all unique boards 4x4 with at most 6 tiles occupied by an obstacle with regards to all possible isoporphisms (rotations and mirrors)

    4 4
    ....
    ....
    ....
    ....
    4 4
    X...
    ....
    ....
    ....
    4 4
    .X..
    ....
    ....
    ....
    4 4
    ....
    .X..
    ....
    ....

  (...)

  4 4
  XX.X
  ...X
  ....
  .X.X


Now on each board I decide the starting position (usually 3 balls in a row in a corner and some other choices if not possible)

  4 4
  ABC.
  ....
  ....
  ....
  4 4
  X...
  ....
  ....
  ABC.

  4 4
  XX.X
  A..X
  B...
  CX.X


Then for each level I start generating with BFS all possible positions reachable from this state. I have several complex heuristics to decide which of those positions makes the most interesting level.

After trying a LOT of heuristics I have made two main conclusions:

- on board there is very often one main trick and any of the interesting final positions have solution based on the same trick and trying to make more levels from one geometry is in all cases I tried a logic duplication.

- the maximum movecount is good enough of a metric

so I take the maximum movecount position, whith some other tie-breakers I don't remember.

e.g.

  FINAL POSITION: score: 
  Movecount: 13 
  A B C .
  a . c .
  . . . b
  . . . .
Rinse and repeat and I have aproximately 40k levels in the current database.

* Step 2 : Level Curation*

I have created a version of the game with all those 40k levels split by groups of geometry, number of balls and number of obstacles, and a button "random level in current group". And I started playing those random levels over and over and over. I added a small button "Rate this level" so that whenever I got a level I thought was interesting or some new motive has appeared I rated it as "Super".

In the end all the "Super" levels made it into final game.


Very insightful, thanks for sharing.


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?


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.


Interesting game, very good minimalist design. I'll try to play. Self-documenting. No description needed.


Awesome game! Really like the simple interface :)

On a sidenote, anybody know how to solve level 29 in 11 moves? I got 12 but can't seem to figure out 11 move solution.

Update: Got it now!

@kuboble : Have you thought about having solutions/hints in case people are stuck?


Yes. I'm not 100% sure it's the right thing, but I have deliberately decided against hints.

If you can't solve a level there is no penalty. You can skip up to 9 skipped levels and come back later to those which you find hard.


I see, also, what about a way to save the current state in a portable manner?

Usecase Scenario: If I clear my browser session, then I lose any progress I made and will have to start from beginning (since I cant jump to arbitrary level)


There isn't right now. It's something I will probably add now that people actually play the game


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.


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.


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?



Stuck on level 12, have found solutions with 10 and 9 moves but not 8. Hmmm


orange down

green right

orange right

green down

green left

green down

orange left

green up


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.


Level 62 is killing me ;)

Any help is appreciated.


Hint: reduce it to level 38 :)


Level 60: 14 moves (unable to find 13), level 62: no solution, level 64: 14 moves (unable to find 13), level 65: 14 moves (unable to find 13). This is the point at which further play ceases to be interesting and becomes annoying. Please provide some help/tips.


I am personally rather against giving away solutions. The whole point is to solve the thing yourself. And as a hacker yourself you can probably write a solver if you really get frustrated and can't move forward. And as my previous comment suggest - you can easily reduce level 62 to a previous 2-ball level which you have solved apparently.

I am considering adding more easy levels though.


Could you provide some additional hints/tips/solutions for level 60 and level 62 ? BTW: How many levels are implemented in total ? More than 200 ? If so, then such a difficulty at level 60 is little to high, IMHO (of course, when it comes to finding the optimal solution).


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.


I know everyone is saying it, but it's brilliant!

Dead simple gameplay but challenging puzzles!


Thank you so much!

That's the exact experience I was dreaming to achieve


stuck for 20 minutes on lvl 6 for the optimal solution, 10/10 would recommend


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!



The colors are really hard for me to see, but otherwise it is a cool idea.


I don't see how to pass level 13, it doesn't seem possible


Thinking in the reverse direction helped me.


Never-mind, I actually did it by just accidentally dragging them out of frustration - it is possible!


I am completely stuck on Level 37, anyone have a hint?


Green right up left Orange down right up Green down right up

That’s on track to solve in 14. Don’t know how to get to 13


Similarly! This is still the only level I can't pass at 5 stars. I finished 38 in 10 minutes, and here I have already spent 5 hours.


Orange -> down, left, up, right, down, left

Green -> down, left

Orange -> up, right, down, left

Green -> up


Amazingly simple. Thank you!


It is pretty fun. I've reached lv10 so far. Good job !


Stumped by level 20. Didn't expect to get so sucked in!


Nice game, and excellent story! Thanks for sharing!


That was fun! Congrats and thanks for sharing :)


My colour blindness says "never again"


I have made a very quick-fix for colorblindness at https://kuboble.com/beta/


Thanks a lot! Now it's perfectly visible!


Awesome. What are your thoughts on web assembly?


It's simple and easy to play, well done!


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.


This is really fun! Thanks for sharing.


Thank you I really like this game


Thank you! It means a lot to me


Congrats, will be playing it today.


wow stuck on level 33.


In case you were looking for solution: https://streamable.com/grfael


Interestingly enough, that video shows a level that is similar but not identical to the one I could not (and thus far cannot) win:

https://drive.google.com/file/d/1_rZNJDQX_mx45iyaXdmS2gWi2Dw...

Apart from it being a mirror image (and I guess rotated), the starting positions differ.

I suspect it is, in fact, not solvable.


What if you do this (w.r.t screenshot image):

* Green up

* Orange right

* Green down

* Green left

* Green up

* Green right

* Orange up

* Orange left

* Green left

* Orange up

* Green right

* Orange right


well hot damn.


No instructions. No idea what the objective is. Gave up after 60 seconds.


This is great!


Cool game


Nice one!


good job!


total people hired? total spent?

what unexpected things occurred hiring people?

great job, played for longer than expected :)


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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: