After nearly 20 hours of working on the game, I've finally produced something that I am pretty happy with. If all goes well, I will post the link for the game on this blog in time for Monday's class.
After toying around with many ideas for a game, I found Raphaël to be pretty limited in terms of what it can do. Many of the ideas I had in mind involved some kind of Physics, and coming up with everything from scratch (i.e. collision detection, gravity, velocity, etc.) would be too much of an effort. As such, I went around looking for a Physics library that I could use. After much searching, I settled on Matter.js, a 2D physics engine. It has most of what I needed to start my game, except that learning how to use the library was quite a challenge. Thankfully, the documentation is decent and there were enough demos and example code that I could learn from. Even then, it still took me a good few hours to familiarize myself with the library.