Evaluation of 3D Mobile Games Development
Evaluation of 3D Mobile Games Development
DOI 10.1007/s00779-006-0129-9
O R I G I N A L A RT I C L E
Received: 1 July 2006 / Accepted: 1 September 2006 / Published online: 8 November 2006
Springer-Verlag London Limited 2006
123
20 Pers Ubiquit Comput (2008) 12:19–25
gamers [3] to define its audience demographic and evident that 3D animation will be the initial driver of
these definitions are undoubtedly influencing industry sales, as it undoubtedly produces a better experience
expectations about the mobile gamer. than 2D, but that gaming experience will prove to be
Hardcore gamers: the key in ensuring repeat purchases. It is a similar
argument as to whether customers wanted colour or
• Purchase and play many games.
monochrome handsets—whilst monochrome can pro-
• Enjoy longer play sessions and regularly play games
duce the same functional experience once a user has
for long periods.
used a colour terminal they are unlikely to change
• Are excited by the challenge presented in the game.
back. Given the large demographic of the mobile
• Will tolerate high levels of functionality in the user
phone user base it is highly unlikely that one or two
interface and often enjoy mastering the complexity.
game genres will dominate as they do in the console
• Often play games as a lifestyle preference or
market but that 3D has a major part to play in maxi-
priority.
mising the user experience.
Casual gamers: Having put the case for the importance of 3D it is
useful to examine games that have appeared in the
• Buy fewer games, buy popular games, or play
market. It can be seen that until relatively recently
games recommended to them.
many of the games delivered on the mobile phones
• Enjoy shorter play sessions—play in short bursts.
have been restricted to 2D games, 3D-look-a-like
• Prefer having fun, or immersing themselves in an
games (not true 3D i.e. isometric) or games with very
atmospheric experience.
poor 3D effects. This is because implementing fully
• Generally require a simple user interface (e.g.
3D-featured titles on mobile phones is a difficult task
puzzle games).
both in terms of the physical constraints such as small
• Consider game playing as another time-passing
screen sizes, limited processing power, small memory
entertainment like TV or films.
footprints, and critical power consumption, in addition
It is often assumed within the games industry that to a lack of dedicated software support. However,
casual gamers form the majority of mobile gamers al- improvements are being made all the time as can be
though this may be an over simplification as the nature clearly seen in Fig. 1, which shows how mobile 3D
of the mobile environment is a major contributor to the games have evolved over the last few years with sig-
formation of more casual gaming habits. There is a nificant reductions in image pixilation and improved
strong argument that the games industry must establish image texturing.
new definitions specifically for mobile. In an interview The aim of this paper is to consider the general
for the Game Daily Biz in February 2006, Jason Ford, requirements for 3D game development on mobile
General Manager for Sprint Entertainment, defined phones and how the constraints of the mobile phone
two specific types of hardcore mobile gamer: platform effects these requirements. Further, we will
‘‘First there are the ‘cardcore’ mobile gamers. These highlight the improvements in software and hardware
are people who play casual games in a hardcore fash- support for 3D games and illustrate through perfor-
ion. The type that might spend hours and hours trying mance testing the consequences of some of these
to get a bejewelled high score but don’t own a gaming improvements.
console’’
‘‘Second is the ‘hard-offs’. These are your more
typical hardcore gamers, who are playing off their 2 General requirements for 3D games
normal platform. They’re the type more likely to check
out the mobile version of a hit console title, because It is commonly accepted that computer games are
they know and like the brand’’ amongst the most resource intensive computer appli-
Additionally, at the 2006 CES panel discussion ‘fu- cations that can be developed; 3D-based games in
ture of mobile games’, IDG’s CEO, Dan Orum, stated particular often push both the limits of the hardware
that: and skills of the programmer to their maximum. A 3D
‘‘We’re seeing an emergence of the ‘social gamer’, computer game requires lots of calculations to perform
they’re like the typical ‘hardcore gamer’, but with so- functions such as object rendering,1 application of
cial lives’’ lighting, shading and reflection effects and collision
The question then is will these mobile casual/social
gamers actually care about 3D? From the current 1
Rendering is the process of generating an image from a 3D
evidence from the traditional games industry it is model by means of a software program.
123
Pers Ubiquit Comput (2008) 12:19–25 21
detection, etc. For these tasks to be accomplished in 1. Rotation and translation of the vertices of the
real time systems have evolved utilising powerful game object’s polygons to reflect its orientation
graphics processors, high bus bandwidths and large and position relative to the camera.
memory space to achieve smooth and effective 3D 2. The vertices must then be projected onto the
object manipulation. camera’s XY plane.
High performance graphics processors facilitate high 3. Each polygon is clipped to remove any regions that
rates of pixels per second, vertexes per polygon and lie outside the camera view, and any polygons that
triangles per second while rendering 3D objects. Whilst lie entirely outside this view are discarded.
a high bus system bandwidth has a huge impact on the 4. The resulting polygons are mapped onto the
vertex per polygon count and fill rates, the higher the screen.
bus bandwidth, the faster object rendering will be
This sequence of tasks is known as the rendering
performed and the less data sent from the CPU to the
pipeline and in all four stages of the rendering pipeline
graphics engine (either in software or hardware),
a programmer encounters variations of the funda-
thereby alleviating potential bottlenecks [4].
mental problem, which is the need to maintain
To allow game developers to obtain the maximum
numerical precision without sacrificing speed. Precision
benefit from all these hardware features an efficient
and speed are important factors in making a game
interface between the applications and that particular
world attractive for players. If precision is lost in any of
hardware needs to exist. There are many development
the steps of the pipeline, objects will seem to change
environments available, with two of the most common
shape at random from one display frame to the next,
being OpenGL2 and DirectX, 3 but they all aim to
undermining the illusion of solidity. On the other hand,
produce a development environment that eases pro-
if the processor takes too long over executing any of
gramming and maximizes the use of the hardware.
the steps of the pipeline, the frame rate will fall off,
undermining the illusion of smooth movement. Main-
taining precision without sacrificing speed is difficult on
3 Phone constraints affecting 3D game development
mobile phones, because the data types and arithmetic
operations that make it easiest to maintain precision
It is important to note that both software and hardware
are also the ones that tend to produce the slowest-
development for 3D games has evolved over a number
executing code [5]. In this section we will explore some
of years; they have not formed part of the mobile de-
of the constraints that particularly affect this rendering
vice development as its principal function up until now
process.
has been as a communications device. To display a 3D
game object on a mobile phone screen requires [5]: 3.1 Mobile phone processors
2
Most mobile phones at the present time run at rela-
OpenGL (open graphics library) is a standard specification
defining a cross-language cross-platform API for writing appli-
tively slow clock speeds, normally between 100 and
cations that produce 3D computer graphics. 500 MHz [4]. They also lack dedicated graphics pro-
3
DirectX is a collection of APIs for handling tasks related to cessors, which means that all speed improvements for
game programming on the Microsoft Windows operating system. the rendering pipeline must generally be obtained
123
22 Pers Ubiquit Comput (2008) 12:19–25
through software [5]. However, data sent from the were available, no common engines were used and any
processor to these software routines could easily be- developments made were based on personal imple-
come bottlenecked because of the low bus bandwidth mentations of graphics APIs. This limitation has been
available on mobile phones. This will affect the vertex rectified with the introduction of OpenGL ES and
per polygon count and frames per second rates and M3G. Their relationship to the various operating sys-
developers have to be aware of this limitation while tems in the mobile arena is shown in Fig. 2.
programming their games by not overloading the data OpenGL ES is a lightweight well-defined subset of
path [5]. desktop OpenGL, which is optimized by removing
some classes and APIs that are expensive for the mo-
3.2 Fixed point arithmetic bile platform, and introducing smaller data types and
support for fixed-point arithmetic [9]. There are three
In general most mobile phone processors do not sup- versions for OpenGL ES currently available. The first
port floating-point arithmetic because of their exces- is v1.0 which was introduced in July 2003 by the
sive power consumption and utilise fixed point Khronos Group and which emphasizes software ren-
arithmetic. If floating-point data types are used on dering and basic hardware acceleration for mobile 3D
mobile applications they will perform extremely slowly graphics. The Khronos Group is the global association
since they are implemented in software emulation that strives to stimulate the growth of OpenGL ES and
routines [4]. other graphics technologies for mobile devices.
To get the fastest possible 3D game code it should In mid 2004, Khronos released its newer version of
only use, in order of preference: the API, OpenGL ES v1.1, which emphasizes hardware
acceleration. Later in 2005 Khronos introduced the
• Integer shift operations (<< and >>)
latest version, OpenGL ES version 2.0, which provides
• Integer add, subtract and Boolean operations (&,
the ability to create shaders and write to vertexes using
| and ^)
OpenGL ES Shader Language, OpenSL ES [9].
• Integer multiplication (*)
OpenGL ES v1.0 is currently the only version sup-
In other words, in speed-critical code we must rep- ported by manufacturers. Early in 2004 Nokia was the
resent all quantities (coordinates, angles, and so on) by first to release a mobile phone implementing OpenGL
integers, favour shift operations over multiplications, ES, the Nokia 6630. Now, all Symbian- (v8.0 and above)
and avoid division completely. This strategy will give and BREW- (v1.1 and above) based phones implement
us the speed we want, but it will pose problems in this API, in addition to some Mobile Linux phones.
implementation. Further trigonometry functions, such However, there is an OpenGL ES implementation for
as cos and sin, should use pre-calculated look-up tables Windows CE-based Pocket PCs and smartphones.
[6, 7]. Microsoft has stripped off its DirectX 3D API (MDX,
DirectX Mobile) to suit devices running its newest
3.3 Screen resolution mobile operating system: Mobile Windows 5.0.
M3G is the first Java-specific standard for 3D
Obviously, mobile phones have screens that are tiny graphics on mobile phones. The API is an optional
compared to those on PCs and games must therefore package to be used with profiles like the mobile
be carefully designed to fit in the particular device’s information device profile (MIDP). It is based on
screen. Generally, if mobile games are to be commer- OpenGL ES in low-level and crafted for the J2ME
cially successful they must sell in very large numbers development platform. This implies that any device
which means that they should be capable of being run
on as many devices, with various screen sizes and col-
our capabilities, as possible. This is particularly difficult Java Apps
Native Apps
when developing 3D games since it is more complex to
M3G MIDP
export 3D game objects to different screen sizes than a
corresponding 2D object [7, 8]. Open GL ES Java Virtual Machine
Graphics
4 Software support for 3D mobile game development Hardware
Device Hardware
123
Pers Ubiquit Comput (2008) 12:19–25 23
embedding a J2ME interpreter, given that its profile is Other industry leaders like Bitboys, ATI and
aligned with OpenGL ES, will be able to present and Qualcomm are concentrating on developing hardware
render 3D graphics [10]. Although M3G is based on solutions to accelerate 3D graphics on mobile handsets
OpenGL ES, the API does not implement fixed-point in hardware rather than purely in software.
arithmetic. It uses floating-point arithmetic instead,
which causes loss in programming efficiency and extra
resource consumption. The first device to support M3G 6 3D performance testing
in software was Nokia 6630 and the first to accelerate it
in hardware was the W900 Walkman phone by Sony As was discussed previously, there is a huge variety of
Ericsson released in October 2005 [11]. mobile phones in the market with very different
capabilities and the majority of 3D enabled mobile
phones only support software acceleration. In this pa-
5 Hardware support for 3D mobile game development per we limit the discussion to those mobile phones that
have 3D graphics capabilities supported in software via
Unlike software APIs and operating systems, hardware OpenGL ES 1.0 API. This version is only considered
architecture for mobile phones is almost similar. The because the next version, OpenGL ES 1.1, is only
majority of mobile central processing units (CPU), and available on prototype handsets and as yet none are
hence processor instructions set, are based on the commercially available. In particular the tests will be
ARM technology. All Symbian OS, Microsoft Win- applied on the following Nokia Symbian-based Ser-
dows Mobile, Mobile Linux and Savaje4 support the ies60 smartphones: 3650, N-Gage, 6600, N-Gage QD,
ARM architecture [12]. 6630 and 6680.
There is currently a plethora of companies intro- The phones’ performance was tested for 3D per-
ducing optimized CPUs for the mobile platforms. In formance using the Futuremark SPMar04 Benchmark
the next subsection we shall mention only those pro- software (http://www.futuremark.com), rather than our
cessors that are dedicated for graphics acceleration in own internal tests, as it is widely available and thus the
general and 3D graphics in particular results can be readily verified. The benchmark is a
With the explosion in the demand for high-quality comprehensive OpenGL ES 3D test suite, as shown in
graphics presentation on cell phones, and the contin- Fig. 3, that measures graphics capabilities and includes
uous appeal for sophisticated multimedia services, 2D and 3D modules. The 3D test is an advanced
graphics hardware technology providers have lever- gaming scene that contains models, rendering, camera
aged their extensive experience and knowledge to de- movement, collision detection, texturing and blending
velop new solutions to meet users’ and companies’ and lasts for 110 s. The 2D section features 2D content
expectations and requirements. The PowerVR MBX bliting and image manipulation, and lasts 30 s. The
graphics processor by Imagination Technologies is results of the benchmark demonstrate details of each
developed to meet the growing needs of multimedia phone’s frame/second rate, texel/second dotting (in
applications on power-conscious mobile devices like millions) and triangle/second rendering features (in
smartphones. It implements OpenGL ES 1.0/1.1. thousands).
PowerVR MBX introduces benefits of low memory Despite the fact that tested phones belong to dif-
bandwidth, high image quality, low power demands, fill ferent versions of Symbian OS, and only those of ver-
rate of 300 million pixels/s, throughput of 3.7 million sion 8.0 come shipped with the OpenGL ES API,
triangles/s [12] and refresh rate up to 37 frames/s [12]. SPMark04 provides within its package an OpenGL ES
NVIDIA GoForce 3D 4800 handheld graphics implementation for all the other devices under test. A
processing units on the other hand delivers impressive DLL5 file containing OpenGL ES libraries is installed
3D graphics, multi-megapixel digital still images, video locally when the application is installed. Hence, the
capture and playback and extended battery life to ad- tests will run on all phones but will vary in performance
vanced handheld devices. The processor is capable of according to the hardware with which it integrates.
rendering 250 and 5 million triangles/s while a frame In addition to performance, we have conducted
rate of 30 frames/s [12]. The Sony Ericsson W900 battery-durability tests that allow us to make conclu-
Walkman phone, mentioned previously, is the first sions of how long the battery would last on each phone
phone to ship with NVIDIA GoForce 3D 4800 on
board. 5
A DLL is a file containing executable code and data bound to a
program at load time or run time. Several applications can share
4
Savaje is a relatively new fully featured native Java OS. the code and data in a dynamic link library simultaneously.
123
24 Pers Ubiquit Comput (2008) 12:19–25
123
Pers Ubiquit Comput (2008) 12:19–25 25
continue this improvement, mobile device makers may see this technology innovation start to filter down into
have to combine batteries with other technologies such the mobile phone models purchased by the average
as superconductors and fuel cells [13], which offer a person on the street. Once this occurs we are likely to
very promising potential for future mobile phones. see increasing development of mobile games that
In addition to optimizing power consumption, pro- incorporate 3D whatever the genre.
cessing units with faster clock cycles are likely to
appear in a short term. The fastest CPU available now Acknowledgments The authors wish to acknowledge the sup-
port of Nokia in providing hardware and software to the Mobile
on mobile phone is Intel PXA272 with a clock cycle of Radicals research group in Infolab21 at Lancaster University,
520 MHz [14]. It is shipped in O2 Xda IIi, which is a upon which much of this research was implemented and tested.
dual purpose mobile phone and personal digital assis-
tant (PDA). When compared to its predecessor Xda, it
offers an increase of half an hour in the talk-time and References
20 h in the stand-by time [14]. This leap proves that it is
possible to reach faster clock cycles for processors on 1. Palmer M (2005) Mobile phone makers eye booming games
market. August 2005, http://www.news.ft.com
mobile phones while decreasing their power con- 2. Brightman J (2006) Mobile games market stagnating, May
sumption. 2006, http://www.buisinessweek.com
Mobile phones dedicated for gaming purposes, such 3. Bateman C, Boon R (2005) 21st century game design.
as the Nokia N-Gage series, are expected to incorpo- Charles River Media, Massachusetts
4. Astle D, Durnil D (2004) OpenGL ES game development,
rate in their hardware architecture graphics processing Thomson Course Technology, ISBN: 1592003702
units like the ones previously described to manage the 5. Forum Nokia (2003) Introduction to 3-D graphics on series
excessive calculation of 3D games. However, this does 60 platform. Version 1.0, 23 September 2003, http://
not necessarily mean that there will be two processors www.forum.nokia.com
6. Coulton P, Rashid O, Edwards R, Thompson, R (2005)
present in the mobile phone. In the short term, only Creating entertainment applications for cellular phones,
one processor will be available and it will be respon- ACM Comput Entertain, Vol 3, Issue 3
sible of both functional control and graphics rendering. 7. Chehimi F, Coulton P, Edwards R (2006) C++ optimisations
Once graphics processors are introduced alongside the for mobile applications. In: Proceedings of the tenth IEEE
international symposium on consumer electronics, St
central more clock cycle resources will be freed, Petersburg, Russia, 29 June–1 July 2006
resulting in better performance and user experience 8. Chehimi F, Coulton P, Edwards R (2005) Evolution of 3D
but this will require advances in chip technology to games on mobile phones. In: Proceedings of IEEE fourth
handle the resultant heat burden. international conference on mobile business, Sydney, Aus-
tralia, pp 173–179, July 2005
In terms of software, OpenGL ES is expected to be 9. The Khronos Group (2001) The OpenGL graphics system: a
the standard API for 3D graphics on almost all mobile specification, Version 1.3, 14 August 2001, http://www.khro-
phones. It is highly likely that all mobile processor nos.org
manufacturers will provide hardware support for the 10. Mahmoud Q (2004) Getting started with the mobile 3D
graphics API for J2ME. 21 September 2004, http://
standard. This is because the consolidating force in PC www.developers.sun.com/techtopics/mobility/apis/articles/
games was OpenGL and most analysts are predicting 3dgraphics/
that history will repeat itself with OpenGL ES for 11. What’s this hype about hardware acceleration? (2005) Sony
mobile phones. Ericsson, News and Events, 14 December 2005, http://
www.developer.sonyericsson.com
12. Chehimi F, Coulton P, Edwards R (2006) Advances in 3D
graphics for Smartphones. In: Proceedings of international
8 Conclusions conference on information and communication technologies:
from theory to applications, Damascus, Syria, 24–28, April
2006
Mobile games are expected to be one of the most 13. Kanellos M (2004) Time for an assault on batteries? CNET
commercially successful applications on mobile News.com, http://www.news.com, 26 November, 2004
phones. With the relentless progress being made in 14. Xda Comparison Tool (2005) 12 January 2005 http://
both hardware and software on mobile phones we shall www.my-xda.com/comp.html
123