Simon Parkin kindly asked me to answer a few questions on Web 3D for Edge Online. You can read the article here and the full interview below. Hope you find it interesting.
What are the core web 3D technologies currently available for gaming on the web?
For rendering hardware accelerated 3D graphics inside the browser there are currently two technologies that have significant audience penetration and developer base.
- Unity Web Player browser plugin, created by Unity Technologies
- WebGL, implemented in Google Chrome, Mozilla Firefox 4 and in development releases of Safari and Opera. Created by the Khronos consortium, made up of companies such as AMD, Intel, Nvidia and Sun Microsystems.
What are the pros and cons of each?
- Best 3D experience on the web, with sophisticated DirectX and OpenGL support.
- Also includes advanced physics, sound and streaming.
- Multiplatform authoring, not only targets the browser but also deploys as stand alone app for desktop (Windows and Mac) and mobile (iOS and Android).
- Proven track record of games for global brands like EA and Disney and indie teams.
- Requires plugin install, which might limit your audience.
- Although it’s based in many Open Source projects, Unity is a proprietary, closed source technology.
- No Linux support for the Web Player.
- Browser native, WebGL doesn’t need any additional install.
- Open source, the WebGL working group has development support from all the major browser manufacturers except Microsoft.
- Based on OpenGL ES 2.0, a subset of the OpenGL also used on smart phones and tablets.
- Not supported by Microsoft’s Internet Explorer.
- Being such a new technology, it lacks professional libraries, tools and development environments.
What is Web 3D currently capable of?
With hardware accelerated graphics, the visual limits are imposed by the hardware itself and theoretically there shouldn’t be much difference inside or outside the browser. Having said this, there are certain limitations imposed by the streaming nature of web content and also a much bigger audience that increases fragmentation among many types of computers.
What does it struggle with?
Since content has to be streamed, content needs to be optimised and compressed not only for run time performance but also to minimise download times.
In the Web we also have a more general audience, with an average lower spec machine than the usual gamer audience. Content needs to cater for a wide spectrum of configurations.
Web 3D seems to be closing the gap with PC and console 3D rapidly. How is this being achieved?
For the developer there’s now hardware acceleration with direct access to the GPU, faster scripting and powerful tools. But users also have much better machines, with pretty decent GPUs and faster broadband.
What are the primary difficulties with producing 3D graphics for games on the web?
Content needs to be produced taking into account different factors mentioned before. Also, game developers need to learn how the web works and how users interact with the web and make games accessible to the average web user. On the financial side, monetization techniques are different on the Web sometimes requiring a deeper stats analysis and the ability to adjust the game accordingly.
What will the primary developments in web 3D be in the next 12-24 months?
- WebGL in Opera and Safari upcoming releases.
- WebGL in mobile browsers and web-enabled TVs.
- Flash 11, the upcoming Flash Player version code named Molehill supporting hardware accelerated 3D graphics.
- Unity deployment for Flash 11 will allow developers to use advanced tools to produce content to a wider audience.
- Google Native Client, a browser technology that allows the secure execution of native code without any additional install. Browsers that support Native Client will run Unity content on all platforms, including Linux, without installing a plugin.
In what ways do you think this will affect production of games on the web?
The generalisation of Web 3D technologies will allow developers to create better games, with richer visuals and deeper gameplay. This will attract higher budgets to build bigger and more ambitious projects.
To reach wider audiences, games will need to adapt to the Web, become accessible to the average Web user and develop alternative forms of monetization. The advertising industry will also take advantage and will create or license their own content.
Finally, 3D will be used for more than games, in areas like visualisation, education, simulation and creative apps. 3D will become a more familiar technology for users who never played games before, and in the same way it’s happening with smart phones, will create a wider and more varied game playing audience.
Can I just check: is Papervision3D now defunct? If so, could you just let me know the reason for this?
I assumed you were interested in hardware accelerated 3D, so I didn’t mention non accelerated Flash 3D like PV3D, which isn’t really suitable for games.
I moved away from Flash in late 2009, and now work with Unity and WebGL. I look forward to Flash 11 Molehill, but probably will use Unity for that too.
Once you use a professional 3D development toolset like Unity, Unreal UDK or CryEngine you can’t go back to doing everything in code any more. These engines also license technology from third parties like Autodesk Beast for the lighting, PhysX for physics and Substance for textures to create a state of the art workflow and high-end results.
Open Source 3D engines for Flash are now in a completely different league and can’t compete with professional solutions. In this league it makes little sense to develop PV3D.