Platform/AreWeFunYet
The purpose of this page is to track progress of the open Web platform toward being ready for gaming, track browser implementation status, and compare to competing technologies.
The goal is twofold: make sure we keep in mind what game developers need; and inform game developers of the recent and ongoing progress made by the open Web platform.
The scope of this page is only web-based gaming, so it is on purpose that the only competition we consider here is Flash and Silverlight. Perhaps we could throw into the mix Android/iOS application platforms as phone apps are typical candidates for being implemented using Web technologies; but the desktop and console platforms fall outside of the scope of this page.
Each section of this page is about a feature that's required to enable gaming.
Fast code
Web technology: JavaScript
Competition:
- ActionScript in Flash
- C# in Silverlight
JavaScript has been speed up by orders of magnitude over the past few years.
TODO: Can we add some kind of benchmark of JS vs AS vs C# ? Could that be meaningful?
Fast/3D Graphics
Web technology: WebGL.
WebGL is enabled by default in Firefox (4+), Chrome (9+), Opera (12+) on all desktop operating systems and Android. It is available but not enabled by default in Safari 5.1, and available for ads on iOS.
Competition:
- Stage3D in Flash 11
- XNA 3D in Silverlight 5
- Unity3D
The first two graphics APIs are very comparable since they stay very close to OpenGL ES 2.0 functionality (or Direct3D equivalent). WebGL has some extra flexibility and advanced features (more general shaders than Flash and Silverlight, bigger textures than Silverlight, etc). WebGL does not yet have compressed textures, however this is under discussion.
There shouldn't exist any meaningful speed differences between these 3D APIs per se. Speed differences would more likely be caused by language/compiler differences (JS vs AS, etc).
Audio
TODO: fill this section
- Mozilla has a Audio Data API; WebKit has a Audio API; provide links; discuss ongoing convergence efforts?
- Is our own Audio Data API really up to the task? 3D positional sound is a requirement.
- implementation status in browsers?
- equivalent in Flash, Silverlight?
FullScreen
TODO: fill this section
- link to the Fullscreen spec, mailing list, any useful resources
- implementation status in browsers?
- equivalent in Flash, Silverlight?
MouseLock
TODO: fill this section
- link to the MouseLock spec, mailing list, any useful resources
- implementation status in browsers?
- equivalent in Flash, Silverlight?
Joystick
TODO: fill this section
- link to the Joystick spec, mailing list, any useful resources
- implementation status in browsers?
- equivalent in Flash, Silverlight?
Local file storage
TODO: fill this section
- IndexedDB
- What do game developers really need?
- equivalent in Flash, Silverlight?
Game-oriented documentation
TODO: fill this section
- Tutorials
- Example games
- Articles in Gamedev.net, Gamasutra, etc.