Ben: Game Development Using HTML5
March 9, 2016 | edX team
Recently, Ben, an edX learner enrolled in the W3C HTML 5 course and shared his story about how he used HTML5 skills to code a game. We love learning how edX courses impact our learners’ lives and how MOOCs open up a world of possibilities.
I first learned HTML in 1996, and I’ve done web development off and on since then, always being self-taught. But, I’ve slowly fallen behind as things have changed over the years, especially with all the new features available in HTML5. I took W3C’s this course as an opportunity to catch up on what I’ve missed.
I enjoyed the first part, HTML5 Part 1, of the HTML5 courses from W3Cx, but I never had much time to play around with the examples or to write my own. When HTML5 Part 2: Advanced Techniques for Designing HTML5 Apps came around in December 2015, I had plenty of free time, and decided this course was a good place to spend it.
I have a little experience working with game code, so when I saw a discussion forum thread asking whether the (wonderful) original game Winter Bells could be completely converted into a Web game only using HTML5 and other Web standards, my interest was piqued, but I didn’t think anything would come of it.
When the course instructor Michel Buffa asked for an example of an infinitely scrolling background and no one responded for a couple of days, I went ahead and adapted one of the sprite examples from the course into a simple proof of concept. It just uses an HTML5 pattern translated by a different value on each frame so it appears to be moving.
I thought that would be the end of it, but it seems Prof. Buffa had bigger plans.
He adapted the game framework from the course and added a background and falling snow, and some ideas on where to go from there. So I decided to run with it. Over the course of a couple weeks, we developed it into a playable game, and we’ve been improving it since then. I found some nice free art assets we could use, and fellow students Bill Graham and “clmasse” offered up some excellent music that adds a lot to the feel of the game.
You can play the game here.
There are so many MOOCs out there nowadays, covering a wide range of subjects. It can be tempting to sign up for everything that interests you. My advice would be to take fewer courses, but focus deeply on the ones you do take. Doing so this past fall allowed me to spend much more time on each course, which lead to projects like Skyward Bound.
The game’s code needs some clean up. It’s essentially a series of proofs of concept that ended up turning into a playable game. So currently, I’m working on refactoring it to make it easier to work with (and to learn from). After that, I’ll focus on gameplay, to make the game more interesting and fun.