After about 3 months of evening coding, the game that I’ve been working on is now live.

RoboZZle is an online puzzle game that challenges you to program a robot to pick up all stars on a game board. The game mechanics are simple, yet allow for a wide variety of challenges that call for very different solution approaches.

Here is an example of a solved RoboZZle puzzle, with the arrow edited-in to show the path of the robot:

robozzle_puzzle

 

Since designing RoboZZle puzzles is as much fun as solving them, the game includes a tool to make puzzles yourself. After you create a puzzle, you submit it, and other players will get an opportunity to try to solve it.

In this screenshot, I am just about done designing a challenging puzzle:

robozzle_designer

 

Players rate the difficulty of each puzzle, as well as vote whether they liked it or not. When looking for the next puzzle to solve, players can use the ratings to find cool puzzles with the difficulty that suits their current mood.

This screenshot shows the main RoboZZle page at http://robozzle.com:

robozzle_main 

 

Players can lookup their ranking, as well as statistics on all players and puzzles on the statistics pages.

robozzle_stats 

 

In a Web 2.0 fashion, RoboZZle is designed to be a user-driven, social experience. Please check it out, install Silverlight if you need to (it is safe to install), and let me know how you like the game.

Tags:

28 Comments to “My hobby project: a social puzzle game developed in Silverlight”

  1. Joe White says:

    The link to install Silverlight takes me to a page that says:

    “The site that you visited was built for an earlier, beta version of Silverlight – not the current one. Please contact the site owner to let them know that they must upgrade to the latest release of Silverlight 2.”

  2. Thanks for letting me know, Joe! The issue should be fixed now.

  3. Tomer says:

    Simply AMAZING!

    You’ve certainly inspired me. I always thought of programming a similar game, in order to teach children the concept of programming.

  4. avatare says:

    The game is pretty awesome really enjoying it.

  5. @avatare: Glad you like the game!

    I just solved your puzzle. You put quite a bit of distraction in it. ;-) I had a “duh” moment when I realized how to do it. Nice one.

  6. Argh my productivity! Noooo!

    I left you a puzzle under the user Stingray, enjoy.

  7. Barry,
    Congrats on solving nearly all puzzles, and on the first spot on the scoreboard. :-)

    And I just solved yours. It’s very nice.

    Igor

    PS.: I created an RSS feed for new puzzles(http://feeds2.feedburner.com/RobozzlePuzzles). In case you want to keep up with new ones. ;-)

  8. The last 2 are causing me problems, one because it looks so random and one because you’re too tricky. Seeing stats on the number of instructions used to solve the puzzles would be neat. Many don’t need all the space allowed, probably mine included!

    Subscribed to the RSS feed.

  9. Make sure that you read the hint for “Explore the world”… I’m not sure how noticable the hints are.

    And, I haven’t solved “Space Invader” so far, even though I already spent a couple hours on it.

    Igor

  10. Also, thanks for the suggestion about stats on the number of instructions. Actually, I would like to display the minimum number of instructions needed per level.

    Then, you get another dimension for the competition. :-)

    It’s high up on my list of planned features.

    Igor

  11. A filter which shows just your unsolved puzzles would be great, didn’t even see the space invader one there as it only shows in the “new” list.

  12. Tomer says:

    Does your program validates that each puzzle is solvable? Or are there unsolvable puzzles submitted?
    It certainly should anyway.

  13. @Tomer: When submitting puzzles, the player has to also solve it. Originally, I wouldn’t store the solution in the database, but now I do.

    And, I finally solved “Space Invader”, which was the last remaining puzzle that I didn’t have a solution for.

  14. mandark says:

    I like a lot this game :-)
    But i miss a feature :
    to rename / edit the comment for a puzzle :
    cause i misnamed one of mine (Diagonale) which is not a Dianonale at all finaly :-P

  15. Thanks, mandark. For now, I handle things like this with direct edits to the DB.

    If you want something renamed / edited / deleted, either post here or email “dev” at my domain (robozzle.com).

    In this case, the name seems fine, so I’d say let’s just leave it. That way, we won’t confuse other players.

    By the way, nice puzzles! I don’t immediately know how to do “Diagonale”… I’ll have to think about it. :-)

  16. Right, now that I’m back on top of the score board I thouht I’d point out a little post I wrote with some thoughts on RoboZZle, you can find it here:

    http://www.genericerror.com/bl.....ogram.aspx

  17. Awesome game!

    It would be great if you also got a ranking or a score based on how good your solution was (e.g. number of movements).

  18. @Felipe: Yes, minimum number of movements is another interesting metric that could add variety to the game. Thanks for the suggestion.

  19. evko says:

    Igor, thank you for nice game!

    I unexpected what this project created with evening coding, respect!

  20. Mirta Roma says:

    Hello Igor! I love your nerdy-game and its RSS implementation! Bright idea! :*

    Mirta (BlackMamby on RoboZZle)

  21. timmy says:

    Hello Igor

    Awesome game, very addictive :)

    I would like to make 2 suggestions of new features. Disregard them if you think that they will ruin the game by “helping” to much.

    First, adding a history view to see what moves you have made so far in the puzzle. This would help to spot repetetive program behaviour which would help to better understand the solutions.

    Second, a visual queue would be helpful to better understand what moves are put on hold every time a recursion is done.

    I would also like to say that the experimental “change color” function is fun, however
    I think that this adds to much complexity to the game. Imagine a recursive call that keeps changing the exit condition by recoloring tiles?!?!

    That´s it, Back to the puzzles :)

    Regards
    timmy

  22. Timmy, your first two suggestions would be addressed (at least in part) by a call stack visualization. This is one of the most frequently requested features. In principle, it is simple to implement, but figuring out good UI is a little tricky. Chances are that I’ll get it done pretty soon.

    And yes, I agree that the paint-tile feature adds a lot of complexity to the game. That’s the main reason why I created a separate section (‘Experimental’) for these puzzles. Chances are that these puzzles will remain in a separate category (perhaps called ‘Extended’ in the future), so that I don’t have to include these game mechanics in the tutorial, making it more complex.

    Thanks for your feedback, and let me know if you think of anything else while playing the game,
    Igor

  23. […] My hobby project: a social puzzle game developed in Silverlight […]

  24. […] the RSS feed to receive my future posts.Powered by WP Greet BoxIt’s now been a month since I launched RoboZZle, so it is a good time to reflect on how things went so far. It has been a great […]

  25. Sunil Phani Manne says:

    This is a very good game. Very addictive. Thanks a lot for the game!!

  26. b makowsky says:

    Excellent article it is actually. We’ve been waiting for this info.

Leave a Reply

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>