Improving the UX of Sokoban on a touchscreen using a simple solver.
Tap on an empty tile to move the player there -- if possible! -- without disturbing any crates.
Tap on a crate and then an empty tile to move the crate there -- again, if possible! -- without disturbing any _other_ crates.
All integrated with the infinite undo.
Now I can spend less time juggling arrow buttons on a touchscreen and more time thinking about the puzzle itself: which crate to move next, and where to put it.
I'm up to level 56. I think 42 was the most satisfying/memorable.
A little thing like an 'edit' button introduces cascading issues:
LÖVE (in combination with mobile restrictions) won't let me modify code files in place. I have to overlay my changes in a new location.
But now I can't pick up any upgrades to my app. Upgrades modify code files in place, but any overlay persists (otherwise you'd completely lose your changes after upgrading).
But hey I have a programmable editor here! I'll just create a new file called 'scratch' with a one-liner to blow away the overlay. (With my app user's hat on, I know in this case my changes are minor in a way that I don't with my app developer's hat on.)
(A few hours later.) Wait, now none of my changes are having any effect. And they're completely blown away when I go back to the code.
:face_palm: Oh it's that 'scratch' file still hanging around. So it needs to be a 2-liner. I have to make any changes I want to the file system -- and then delete 'scratch' to make this a one-time operation.
I could try to create a screen of helpers for this, along with a comment that says, "insert file system operations here" after which is a delete of 'scratch'.
In this way I find myself playing meta-Sokoban.. :eyeroll:
Tl;dr - the 'edit' button isn't really usable yet.
I really don't want to go down the road of building a compare and merge flow :eyeroll: