Here are the features included in the finished product:
- 5 Puzzles, each featuring multiple solutions and detailed feedback on incorrect solutions
- 3 unlockable Challenges, some with solutions, and some without
- Detailed instructions on how to play the game
- Support for iPad and iPod Touch (Theoretically)
- Includes the following topics: Connected Graphs, Vertex Degrees, Cycles, and Bipartite Graph
Some challenges I faced along the way:
- Writing algorithms to check solutions was especially hard. Since I wanted to allow for multiple solutions, I couldn't just compare answers to stock solutions. Instead, I wrote algorithms to test whether graphs were connected or bipartite, and then used these functions to provide feedback in the game. The bipartite algorithm in particular was challenging, and I had to go through multiple iterations before I was confident that my it worked the way I wanted it to.
- I had limited space in the game to explain topics and puzzles clearly, and it was especially challenging choosing the right words to make my message easy to understand. I had my family and friends playtest the game and give feedback, which I then used to improve upon my explanations.
- Although I coded methodically, I did not comment sufficiently until the very end, which made my code very convoluted. Going forward, I want to make commenting second nature, so that I don't end up with a jumbled mess in the later stages.
Here is the link for the game! I made it using codeheart.js, so to play the game simply open the play.html file in any web browser.
Good luck to the rest of you; I'm looking forward to trying everyone's games!