13.53DwithaGameEnginePlug‐In 217
it could very well be the other way around, as ShiVa and Unity (both already on
Wii) could be made available for cross-console development in the future.
Regarding developing and delivering 3D games for the web, those two tech-
nologies today provide by far the best performance and quality compared to the
other technologies studied in this chapter. They also provide essential tools that
provide ease-of-use, real-time feedback, editing, and tuning that are mandatory
for the productivity demanded by short schedules and tight budgets in web de-
velopment. But they also enable deployment of the game outside of the web as
mobile phone and tablet native applications, as well as PC/Mac standalone appli-
cations. (However, PC/Mac versions of these engines do not offer the same level
of quality as PC-specific engines.) Except for the market-limiting fact that on the
web the user has to install a plug-in, the cross-platform aspect of those technolo-
gies is sometimes the only choice that makes sense when publishing a game on
both the web and mobile devices in order to grow potential revenues without
multiplying the development cost by the number of target platforms. As the ven-
dors of those engines are focusing on ease-of-use and are very responsive to
game developer needs, the results are quite astonishing in quality in terms of
what non-highly-specialized developers can do in a few weeks.
To maximize flexibility and performance, Unity is taking advantage of the
JIT compiler technology of .NET (Mono for cross-platform support) and provid-
ing support for three scripting languages: JavaScript, C#, and a dialect of Python.
ShiVa is using a fast version of Lua. Scripts are compiled to native code and,
therefore, run quite fast. Unity scripts can use the underlying .NET libraries,
which support databases, regular expressions, XML, file access and networking.
ShiVa provides compatibility with JavaScript (bidirectional interaction), PHP,
ASP, Java, etc., using XML (send, receive, and simple object access protocol).
Integration with Facebook is also possible, opening the door to the half-
billion customers in that social network. This is done though an integration with
Flash,
2
taking advantage of the fact that Flash is on 97 percent of the platforms
and available as supported content by most websites.
As a tip: don’t miss the Unity statistics page (see Figure 13.9) that provides
up-to-date information about what hardware platforms are being used. This pro-
vides a good indication of the range of performance and types of hardware used
to play 3D games in a browser. (Note that these statistics show that most web
game players have very limited GPUs and would not be able to run advanced
engines from Epic or Crytek.)
2
For example, see http://code.google.com/p/aquiris-u3dobject/.