New app: Puzzle15, a 15 puzzle for the Bangle.js 2

Posted on
  • Hello everyone,

    I'd like to announce the first pre-release of my 15-puzzle implementation "Puzzle15" for the Bangle.js 2. You can find it in my app loader instance at

    https://dirkhillbrecht.github.io/BangleA­pps/#puzzle15

    It is not completely finished, but already useful (well, as useful as a 15-puzzle can be…). If you like, download it, try it, and give me feedback. I plan to issue a pull request into the official app loader within the next days.

    Best regards,
    Dirk

  • hey,
    i have tested it quickly, it is brilliant, i really like it, well done !

  • Hi Dirk - I love it too.

    A few things that I think would make it even better - just my personal taste mind - I think its really good already.

    1) Love the start up screen, really gives it an arcade feel. Maybe when the 15 , the word puzzle come up you could add a buzz, pause, buzz.

    2) The numbers in the 3x3 and 4x4 versions are readable but are squashed in the 25x25.

    3) Its not clear what the green square does at the top right, I've done by best to click on it, touch it, tap it - it just seems to be cosmetic ?

    4) As you have a 'Game Over' screen, I think you could remove the green and red tile and make a more central, simpler, larger puzzle using more of the screen space. The larger the tiles the easier it is to touch them and move them. Making them easier to move about makes for a more enjoyable experience.

    5) When a tile is missing on the outside there is no edge ? Maybe empty tile could be a ditthered yellowish colour as if you had revealed the bottom of the frame that the tiles fit into.

    6) When you get the Game over screen having 3 soft buttons makes it really hard to select one. I have logged this issue with Gordon over the messages app. I think it would be better to have a single ok button - which would take you back to the size selection screen when you can choose to play again or exit.

    7) Using BTN1 does not exit the app, the only way to abort a games is to do a full BTN1 long press. I think you just need a Bangle.setUI('clock') at the end of your code.

    8) Rather than showing the count of moves, you could have a bar at the bottom of the screen that ebbs away, creating a bit of pressue to solve the puzzle. 'You ran out of Time'. This might create more of a challenge and more chance to have another go to beat the clock. You could introduce this by recording the best time for each puzzle size. The next game gives them that many seconds +5 to solve it. Over time the puzzle gets harder and harder as you have less time.

    8) Last but not least. Did you know that it is possible to set the starting position up such that the puzzle can never be solved ? Just for fun you might make every 10th puzzle unsolvable but not tell the user this :)

  • Definitely needs a README file and 3 screenshots to show the different sizes for when you look at it in the app store.

  • Hi everyone,

    thanks for the feedback. I have now released v0.05 on my app loader which I see as "complete". I have not however, walked through @HughB suggestions so far, as I just became aware of them. A fast walk-through shows that some things are already included:

    • The 5x5 font size is already corrected.
    • The readme is vastly extended (even though without screenshots so far).
    • The "green square" at the top right is actually grey :-) and it should open the menu. The clicking coordinates seem to be quite inaccurate, you have mentioned that the "messages" app suffers from the same problem.
    • I don't like pressuring the player. 15 puzzle is a short-time leisure game. Try to solve it in less and less moves if you want a challenge. :-) 57 is the mean, no puzzle needs more than 80 minimum. But finding the best solution is an NP-hard problem. You have been warned…
    • I dont't like mocking the player, either. Puzzle15 generates solvable puzzles only. This could made be an option, however.

    I'll take a look at the other things. Expect a v0.06…

    Regards,
    Dirk

  • This looks great! Yes - please give us a PR so I can add this - it already looks pretty professional.

    Just thinking aloud here but I remember some of these where it was an image that got scrambled - I guess even that could be possible.

  • Hello @Gordon,

    thanks for your feedback. I just issued the pull request after rebasing Puzzle15 out of my own app loader branch and onto the official current master. Finally new apps! :-)

    Best regards and many thanks for creating this awesome Espruino ecosystem!
    Dirk

  • Thanks - it's merged now (on the development app loader) and I should update the main app loader with it this week!

  • The game you have developed is imposing! I liked the interface and functionality. At this stage of development, I have not been able to find any gross errors to point them out to you or give you advice. I can only say that I will look forward to the next version and further game updates. I even postponed jigsaw puzzles australia for a few nights, which is unusual for me. Puzzles have long been a kind of meditation for me. I did not expect that espruino as a platform would begin to develop so actively. I hope that this trend will continue. Good luck with future projects!

  • Thank you for your comment, @zasqwer . I have lots of experience in programming, but only little in such restricted environments like the Bangle.js. I also think that the code is not too bad, but I'd say this is only possible because the development environment of the Bangle.js is so good: It's really simple, well-documented and quite powerful at the same time. So, let's take it as a sign that the Espruino crew really does a great job!

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview
About

New app: Puzzle15, a 15 puzzle for the Bangle.js 2

Posted by Avatar for dirkhillbrecht @dirkhillbrecht

Actions