224 13.3DinaWebBrowser
Another issue with HTML5 is that there are a lot of hacks involved for cross-
browser compatibility. It is not clear if this issue will be resolved anytime soon,
so there is a need for libraries and other tools to isolate the developer from these
issues so 3D game development won’t be as painful on native HTML5. Flash,
Unity, and ShiVa are doing a good job at isolating the developer from those
browser compatibility issues.
WebGL is a cutting-edge technology with many things to be discovered be-
fore it can safely be used to develop 3D games for the web. The lack of tools for
game developers is probably the most problematic point because this makes it
impractical and certainly not cost effective. Many WebGL-supporting initiatives
are under way (and more are coming along every month), such as GLGE, Spi-
derGL, CopperLicht, the Seneca College Canvas 3D (C3DL) project, and the
Sirikata project. From these efforts and those as yet unforeseen, new and compel-
ling content will be developed.
13.8Conclusion
The conclusion to this chapter is not the one I had hoped for. But the research is
clear: there is no ideal solution to what technology to use today to write 3D
games for the web.
Unity and ShiVa are a primary choice based on their performance, success
stories, and professional tools. But they still require the installation of a plug-in,
which may be a nonstarter because the client paying for the development of the
game may dictate that either Flash or no plug-in at all is to be used.
This is why Flash, especially if Adobe decides to add game-related features,
will always be viable in the near future. But 3D acceleration is not enough be-
cause there are many more features required by the game engine (including phys-
ics and artificial intelligence) that would have to be provided and optimized for
Flash, and Adobe may have no interest in developing these.
HTML5 definitely has a bright future. 3D has lots of usages besides games
that will be covered by WebGL, and the no-plug-in story will be of interest mov-
ing forward. But this is still in theory, and it will depend on how Internet Explor-
er maintains market share and whether they provide WebGL (right now, there is
no sign of this support). So that means WebGL will require a plug-in installation
on Internet Explorer, which defeats the purpose.
Google Native Client is perhaps the one technology I had not considered at
first, but it seems to be the most promising. It will provide optimum performance
and will require a plug-in in many cases, but that plug-in will be required by so