Sunday, October 2nd 2011

In Development: Full-On, High Performance 3D Gaming Right In Your Web Browser

Mozilla are developing a full-on 3D game engine for their Firefox browser. It looks like having a viable high performance game engine built right into the browser could allow first person shooter type games to reach a much wider audience and possibly even raise the bar for integrated graphics - we're already seeing this with the upcoming Sandy Bridge E processors. The project is called Paladin, which is developing the Gladius 3D gaming engine. To help test it, a basic 3D game, RescueFox has been prototyped, although that’s not going to be developed further, but forking is welcomed. We’ll let the Mozilla development blog take it away from here.

Paladin is a Mozilla project to push 3D gaming on the Web. As a part of our efforts, we’re building a game engine called Gladius. We’ll blog proper introductions to both of these projects in the upcoming weeks. We’ve built RescueFox, a first prototype game, as a way to validate the Gladius game engine work we’re doing and find issues in the Gecko and Web platforms as well. Note that we do not intend this as a prototype for a larger-scale game.


Interstellar Travel

Don’t you hate it when you’re traveling at light speed, and your pet space fox escapes to an asteroid belt?

I know it drives me nuts. Fortunately, you have an invisible fox detector to figure out where she is, and you can use a tractor beam that pulls you from asteroid to asteroid to the fox herself. And you’ve got about 90 seconds until she runs out of air.

The game works in current versions of Firefox, and cursory testing suggests that works in Chrome on MacOS, albeit more slowly and without sound.

If you’re interested in learning more about RescueFox, Paladin, and Gladius, or in contacting us, have a look at the (still-in-progress!) Paladin wiki page.


The Value of the Prototype

RescueFox was developed to make sure that the Gladius gaming engine was really going to be suitable to build games against. CJ Cliffe started by doing lots of work initially directly against CubicVR.js, a great 3D engine that Gladius depends on. It’s the same 3D engine used to build the No Comply and Flight of the Navigator demos. Alan Kligman and Bobby Richter started porting chunks of it to the higher-level Gladius APIs, and I started working with some of the input APIs, the timer, and finding visual assets to use.

This is where it started to get interesting. As we progressed, the game coding started to make clear to us that some of the factoring of the existing APIs was actually making the game more complex to build rather than easier.

After more work, a super simple prototype engine that Bobby whipped up, and more discussion, we came to the conclusion that we needed to do some refactoring on Gladius. This was great, because it meant that we figured it out much sooner than we otherwise would have.

We still needed a game prototype as a way to communicate more broadly the part of the Web gaming space we want our engine and the larger project to explore, so we mostly stuck with the lower-level APIs and did just enough work to make it basically playable.

Note that we think we’ve learned most of what we can from RescueFox and don’t intend to drive it forward any further at this point (though that shouldn’t stop anyone who feels inclined to fork it). But we’ll be prototyping another microgame soon once the Gladius refactoring is a bit further along, and we’ll be very interested in having folks help out there…


Credits

RescueFox was very much a group effort. Thanks ever so much to….

- James Burke (modularizing Gladius with require.js)
- CJ Cliffe (game mechanics, design, coding, modeling, physics, and CubicVR.js)
- David Humphrey (design, Gladius sound API, music selection)
- Alan Kligman (game mechanics, design, coding, engine design)
- Dan Mosedale (coding, model selection, game mechanics, project mgmt)
- NASA (spacesuit model & textures)
- Perfect Blind (background music: “Three Spires” and “Ethernion II”)
- Bobby Richter (game mechanics, design, modeling, coding, engine design)
- ro.me team (fox model and textures)
- Alon Zakai (physics & ammo.js)

Apologies to anyone we’ve inadvertently omitted!
Source: mozillalabs.com
Add your own comment

16 Comments on In Development: Full-On, High Performance 3D Gaming Right In Your Web Browser

#2
qubit
Overclocked quantum bit
by: LAN_deRf_HA
That game sucked.
Remember, it was just designed to validate the game engine. Anyway, it's open source, so can be developed into a full game if anyone is up to the challenge.
Posted on Reply
#4
Jizzler
Several attempts to bring 3D to browsers over the last decade were greeted with meh. I think this will be no different, though I'm not as sure as I have been before due to the current internet landscape.
Posted on Reply
#5
Jegergrim
Hopefully mozilla accomplishes their goals, since 3D gaming could be a crucial thing in schools, since everyone is changing to tablets/are gretting notebooks and even the blackboards are being changed into smartboards. And with the ability to demonstrate games/complicated things in good 3d visuality it could help children understand better and faster. I remember back in the day, where we had 2 hours a week in school to further develop some of our cognitive skills.
Posted on Reply
#6
KieranD
For reference Quake live has a browser plug in.
I heard adobe wanted to make Flash have proper 3D graphics.
Posted on Reply
#7
qubit
Overclocked quantum bit
by: KieranD
For reference Quake live has a browser plug in.
I heard adobe wanted to make Flash have proper 3D graphics.
Yes, I remember that. However, I don't think it's a full-on 3D game engine customizable for any game. Don't quote me though, lol.
Posted on Reply
#8
KieranD
Yeah your right its just an updated quake engine for that game. I dont really think Mozilla should concentrate on making a 3D engine as they should maybe concentrate on other web browser technologies, its not their area of expertise. Overall i can maybe see some indy developers making use of something like this or 3D Flash.
Posted on Reply
#9
[H]@RD5TUFF
by: qubit
Remember, it was just designed to validate the game engine. Anyway, it's open source, so can be developed into a full game if anyone is up to the challenge.
I am sure zanga will make use of it likely for an FPS.
Posted on Reply
#10
wahdangun
i think it was impossible to make a really good 3D game via browser right now, because it will need massive bandwith just to stream game data from their server to our computer and since linux and windows have different kind of driver it will make developing game for it a little challenging.
Posted on Reply
#11
Spaceman Spiff
If you guys want to see something like this in action for yourself done very well, check out interstellarmarines.com

It's an Indie game that's been in development for some time but they have early builds with demo stuff on the site that you can play just in your browser (Running Man, Bullseye). And it's actually done incredibly well. It uses Unity Web Player. I've had some fun with it, but then again I may be biased since I have already preordered back in '09 just to support. :)
Posted on Reply
#12
uuuaaaaaa
quake live is 3d (basically quake 3 arena graphics) and runs on your browser using openGL. You need to install a plugin to get it running.
Posted on Reply
#13
FordGT90Concept
"I go fast!1!11!1!"
Gaming in browsers is generally pretty poor compared to windowed and even worse compared to fullscreen. Basically, you got a lot of browser overhead that requires serious security considerations on top of the security considerations in the game. Not to mention, all the other riff-raff that is not game related. Oh, and forget it ever catching on if not all major browsers support it. In short, it's far fetched and nothing Silverlight can't already do...
http://www.silverlightshow.net/items/Perspective-3D-in-Silverlight-3.aspx
http://bubblemark.com/3d/silverlight1.1.htm
http://www.andybeaulieu.com/Home/tabid/67/EntryID/216/Default.aspx

...or Java for that matter (e.g. Minecraft).
Posted on Reply
#14
NC37
The web is constantly moving towards a more visual experience. If you look at the net now compared to the net a decade ago, it is drastically different in terms of how sites even looked. Simplistic went to tables, then now were at flash. HTML5 and beyond is growing. These will only get better as lower end machines get boosts in their graphical abilities. Sure it can advance on CPU software rendering but people will demand more. CPUs just cannot match GPUs. Someone will always make something that will look flashier. Having baselines able to display them is a positive move. Like them or not, this is what APUs can help foster. Even if Intel ends up taking the lead on this front, it'll be these early pioneer days which will be crucial.
Posted on Reply
#15
eidairaman1
still not liking streaming games, better to have code on computer than not, internet bandwidth is still not fast enough to withstand such high demands
Posted on Reply
#16
Bjorn_Of_Iceland
Some guy shooting lazers out of his boobs, and a deer in space. Looks promising.
Posted on Reply
Add your own comment