It’s not every day that a reporter’s interview is derailed by an 85-year-old drunk woman who hits a power pole in Oakland, cuts power to a developer’s home office, and forces him to Mi-Fi on a Skype call while his laptop’s battery slowly dies.
But it’s also not often that someone invents an open-source game development platform that can make Minecraft-style games that will, with a little luck, soon be running on web browsers everywhere: laptops, Android phones, and iPhones.
Twenty-two days ago, Max Ogden was a bored developer whose latest startup, Gather, was not, shall we say, making a lot of hay. So he was looking for something new to occupy his time.
“I came back from Europe in the winter working on a bunch of little indoor projects — it’s been freezing here in the Bay area,” Ogden told me today. “Then I saw the Minecraft documentary right after Christmas.”
He had given the wildly popular sandbox builder to his 10- and 11-year-old nephews for Christmas, and they loved it, so he started to think about building something for it — a mod perhaps, or an extension of Minecraft. And was startled to find that Minecraft was totally closed source, with no API (though one is coming soon). Instead, he discovered that developers who want to mod Minecraft hack it, decompile the code, build their mods, and then release them … to be broken with every new version of the game.
“OpenGL has been around for a long time, but Chrome became the first browser just last month that lets you take over someone’s mouse pointer, which is totally needed for games,” Ogden said.
Having found his project, Ogden did nothing else for the past three weeks, staying up late, “going crazy,” and cranking out code. He found numerous little snippets of code that others had worked on that helped, speeding the process, and brought in a friend, James Halliday, to help solve some particularly tough problems.
“In about two days of working with James, it all came together,” Ogden said. “We had something that looked like a game, and we looked at each other and said: ‘Holy cow, that was quick.'”
The result that looked like a game was Voxel.js. It’s not precisely a game itself, but a game-building toolkit for modern browsers. You can try early examples of game environments built with it already, right in your (Chrome) browser, including one with a virtual drone simulator.
“Kyle Robinson, who runs hackathons for AR quadricopter drones, built a virtual drone simulator for it,” Odgen told me, marveling. “It has a command line, you can tell it to take off, spin, and it has a little camera to ‘see’ the terrain that shows up like an iPad in the game.”
Which is all very meta: watching a landscape of a virtual world via a virtual drone that you control in a game running inside a browser on your computer. It sounds impressive, until you hear that another acquaintance of Odgen is planning to run Voxel.js on a Raspberry Pi running Firefox OS (coming soon) on a real AR quadricopter videoing the actual landscape while also running the game and viewing a virtual landscape.
Just try to wrap your head around that.
All the code is open source, and Odgen is welcoming any and all hackers to make contributions, adding modules like water, better physics, or creatures. Seven already have. All of which could soon have the game-building environment running on iPhones as well as Android smartphones. While Android should be relatively easy as soon as Google updates mobile Chrome to support OpenGL more fully, iOS is another story. It turns out that Apple supports OpenGL in mobile Safari, but for iAds only.
“So you can run WebGL on iPhone … if you make your own browser,” he said.
All of which means that a Minecraft-like game built with Voxel.js could conceivably run in a browser on an iPhone. And on an Android smartphone. And in your web browser on your laptop. And, if you really, really, really must, on a tiny little $35 Raspberry Pi, flying high on a quadricopter above the drunken old ladies of Oakland.
Which, frankly, would be awesome.
VB's research team is studying web-personalization... Chime in here, and we’ll share the results.