Work and play are pretty much the same thing for some of us - and that's a good thing!
Erik Moeller, a developer in the Core Technology group with a focus on WebGL and hardware acceleration, also happens to be the creator of (in his words) “a fun little game” called Emberwind. Although it made its debut in the AppStore in August 2011, the latest version of Emberwind is an HTML5 game that - you guessed it! - you can play right in Opera. We sat down with Erik to learn more about his journey with Emberwind, as well as his thoughts on the future of gaming in the browser.
Erik, how did the Emberwind project at Opera come about?
I had already done it as a widget and had gotten a very positive response, so I was happy to see it reincarnated as a way of showcasing WebGL for devices and mobile.
What was involved in porting the game from C++ to HTML5?
There were a couple of challenges. We did most of the work with three summer interns, who were totally new to games and coding. At first I just had to do lots of explaining about how the game worked, and give them discrete parts to work on. But they learned fast – I was pretty impressed by how they were able to pick everything up. None of them was expecting to work on a game during their Opera internship, but they all said what a great time they had, and I think they did a really good job.
What are the advantages to using HTML5 for gaming in your mind?
It's really no different from other platforms: as a developer you have to aim for what's going to be there in 18 months, and take advantage of what's new. With HTML5, the main changes I see are going to be in audio and extensions to WebGL and canvas.
I see it as part of a broader evolution within gaming itself. From boxes to downloads to MMOs, today everyone's already using the browser, so it's only natural to be able to tweet a link and have the game be just a click away.
What is the biggest challenge for a player of Emberwind?
I think it has a lot of depth, so there is something for everyone. My kids who are 4 and 6 years old can play it and just do the basics, but as you become more proficient and progress there are heaps of special moves – cannonballing, jumping off walls – just lots of cool things you can do.
Can players create custom levels?
It is a JSON file so if someone really wanted to they could build their own level. The format is on the blog if anyone's interested.
(To see the full source code and other info on Emberwind, click here.
Since you're a creative person, what feature would you add to Opera if you could invent one?
I would love to have a simple file-sharing UI so that you and anyone on your local network could drag and drop files into it instead of using an FTP site or something more complicated.