Numboggle is a mobile game, similar to a boggle puzzle, where the goal is to find a sequence of numbers whose product or sum equals the level's target.
It was developed by me with the help of Luisa Rodrigues who gave the main idea, lots of support as well as many important suggestions and remarks.
It is currently available for Android, iOS and Windows 10 on the respective official stores.
Please contact me, using diogo.am.vasconcelos at gmail.com regarding app issues, feedback or feature requests.
This project started as an attempt to make a very simple mobile application, which could be quickly finished. The simplicity and small amount of content would avoid getting the development sucked into the “gravity pull” that big, complex and more demanding projects tend to have.
I choose to develop a simple game, based on an idea my girlfriend had for an educational game to improve mental calculation, in Unity 5 because I already had a lot of experience in it and Unity really enables fast development.
I was quite excited to start, because of the thrill of designing the algorithms to find all the available solutions in a level and also to procedurally generate levels. At the time, I knew little about data structures, about search/optimization algorithms and had little experience using recursive algorithms. I really enjoyed making my first algorithms prototypes and they did work, although looking back, they were very messy and inefficient and maybe not something to be really proud of.
Only after reading and studying about data structures and algorithms did I improve them, using sets and recursive backtracking deep-first search algorithms (although still very much using a brute-force approach). It was nice to see that I had already applied some of the ideas for set properties of a collection, recursive backtracking and deep-first search in my earlier prototypes. As so, and because they already worked well (in terms of finding the optimal solutions, not space and time complexity wise) I did not rewrite them and just made some improvements.
The algorithms can be check here.
Having a prototype for the game that worked was the easy part. The real challenge was making it not look horrible (maybe it still is but trust me, it was way worst), providing a nice user experience and shipping a finished product.
The final look was the result of a few overall design iterations, and although it was still far from looking amazing, I am quite satisfied with what I got in the end.
After making the final touches, adding ads, analytics and game social services (Google Play Games and Game Center), publishing to Android, iOS and Windows 10 was pretty much straight forward because I had developed in Unity 5, although being accepted in the respective stores still took a bit of work.