Title: So You Want To Develop Games For Mobile Devices
1So You Want To Develop Games For Mobile Devices?
- Stuart Slater
- s.i.slater_at_wlv.ac.uk
SLIDE 5 Microsoft Reading July 2005
2Overview
Project Management
Technical Skills
You Must Consider
3Mobile DevicesOverview
4JAVA Powered Phones
5Mobile Phones - Java Powered
- Mainly SYMBIAN OS
- Most Popular Nokia Series 60
- Screen up to 176 220 pixels
Elder Scrolls Travels - ShadowKey (N-Gage,
Bethesda 2004 ) http//www.elderscrolls.com/home/h
ome.htm
6Common Java Devices
BT-Bluetooth M1 MIDP 1.0 3D
Java 3D API(JSR184) M2 MIDP 2.0
7MIDP in short
- MIDP Mobile Information Device profile part of
the software engine of the phone. - MIDP 2.0 replaces MIDP 1.0 and is backwardly
compatible, adds features such as - Improved Sound Support i.e. WAV
- Includes Game API
- Improved security and communication such as HTTPS
and Push architectures. - Support for new user interface options.
- More on MIDP - Java.sun.com/products/midp/index.js
p
8JAD AND JAR
- JAD is a description of the game i.e. Path
- JAR is the actual game files (archived).
- When majority of games are written a JAD and JAR
file are created that are then both needed by the
Target Device.
93D APIs
- Open GL ES
- Free to use and download
- Lighting,ViewPorts, Multitextures,Fog,Blending,
traingles etc. - Libraries etc need to be available on the phone
and this can have significant memory/cost
implications. - Tend to be part of a dedicated game engine
- J2ME 3d (JSR184)
- Will be native in newer phones and so games
require a much smaller download/memory demand. - 19 Handsets Currently Support JSR184.
Source March Feature DEVELOP MAGAZINE 2004.
Doug Goodwin.
10Developing For Nokia
- i.e. N-Gage, Nokia 6600,6680,N91
- www.forum.nokia.com
- Check your device and download the correct SDK.
- Requires an IDE such as Code warrior (available
from address above) or Eclipse (www.eclipse.org) - Can be programmed with java or Now C for
Symbian OS.
11Java Devices Continued
- Content Delivery
- FTP download, MMC (N-gage), Bluetooth, USB cable.
- Commercially
- Delivery method is a pay and download through a
provider such as Vodafone Live. - Quality Control document needed from provider
such as Babel Media. - Costs typically 5 per game, exception is MMC
based N-gage around 30.
12Microsoft Powered Phones PDAs
13Mobile Phones - Microsoft Powered
- Microsoft Smart Phone Devices-
- Smart Phone 2002, 2003, 2003 2nd Edition.
- 65k TFT display
- (176x220 pixels)
- SPV 500
14Mobile Devices Microsoft Powered PDAs
- Microsoft Pocket PC Devices-
- Pocket PC 2002, 2003, 2003 2nd Edition.
- Up to 640480 Screen (IPAQ 4700)
Ultima Underworld 1.0 by ZIO Interactive, Inc,
http//www.pocketgear.com/software_detail.asp?id4
042associateid8
15Pocket PC Devices
- Easily programmed with SDKs such as POCKET
PC2003 using C or embedded C. - Uses Visual Studio 2003/2005 development
environment. - Emulators included, plus ability to send directly
to target device.
16Palm OS Powered PDAs
17Mobile Devices Palm Powered
- Palm Operating System.
- Up to 64K Colours.
- Low Cost.
Dragons Bane, http//www.palmcreations.com/
18Mobile Devices Tap Wave ZODIAC
Palm Powered PDA 3.8inch screen 65K
Colours Bluetooth Downloadable games or SD Card
Format, 6 Hours Battery life.
www.tapwave.com
Source, www.t3.co.uk, December 2004.
19Mobile DevicesDedicated Games Hardware
20Mobile Devices - Nintendo DS
Nintendo DS (Dual Screen) Game boy advance sales
511 Million units. Dev Kits require licencing,
closest possible is to buy a GAMEBOY Colour SDK
and hardware interface for around 140. Emulators
available.
21Mobile Devices Sony PSP
1.8Gb DVD 480 x 272 screen 7.1 Audio
22Mobile Devices Sony PSP
- Key Tools
- Code Warrior IDE
- C/C Assembly
- Users must be
- licenced developers
- with Sony Computer
- Entertainment.
- www.metrowerks.com
23Miscellanous
- Gizmondo
- Game Park GP32.
- www.gamepark.com
24Mobile Device Software Development
25Tools 1 C
- Advantages
- Fast robust development language
- Easier migration for C, Visual Basic and Java
Programmers. - Very Reliable Emulators.
- Disadvantages
- Only Suitable for Microsoft powered devices.
- Limitations with 3D Games due to lack of support
for mobile graphics APIs such as DirectX.
26Tools 2 Java/J2ME
- Advantages
- Its JAVA so code reuse can be very high.
- Industry Standard for Mobile Phones so large
marketplace. - Proven track record with mobile phone gaming.
- Disadvantages
- Code needs compiling and testing on each target
Device. - Emulators can be very FLAKY.
27Tools 3 Diesel/C
- Advantages
- Cross platform Symbian, Microsoft Pocket PC and
Microsoft DirectX PC development of games. - Common use of C so easy migration in mainstream
industry. - Very Powerful for 3D Gaming.
- Disadvantages
- Expensive costs to licence typically 10K euros.
- Only covers Nokia series 60 devices such as
N-Gage.
http//www.3darts.fi/mobile/
28Tools 3 Diesel/C
The rendering pipeline of DieselEngine SDK is
capableof handling more than 100 000 polygons
per second in real-time on Nokia Series 60
devices.1
Easy Integration of 3D Models using supplied
exporters.
1http//www.3darts.fi/mobile/de.htm
29Diesel 3D Models
- Created in 3DStudio Max or MAYA, exporter plug in
comes with the Diesel SDK and allows the user to
export .dsc files
30Diesel
- Doesnt support Png uses color keying
- Use .SetAutoColorKey (sets transparent color
based on an images (0,0) coordinate. - SetColorKey(0) set black as transparent color
31Tools 4 GAPI (Game API)
- Very powerful API but requires an extremely high
level of programming knowledge, a major draw back
is its similarity to DirectDraw so 3D almost
impossible without additional libraries. - Needs user to really download other libraries to
get any real use from it. -
32This is a Mobile Device Not a PC
33- Mobile devices struggle with
- Processors that have clock speeds, that are not
comparable to similar PC processors.
- Cant do floating point and struggle with
division.
- Have phone based interrupts like sounds etc that
need careful management to get the best from a
game, i.e. when pressing buttons clicks can be
heard slows down your game.
SO PLAN AND THINK CAREFULLY OF WHAT IT IS YOU ARE
TRYING TO ACHIEVE.
34- But dont forget areas such as HCI else you will
end up with a PC application on a phone.
- Plus if you develop and an application that
crashes the game or phone then you could easily
upset your customer.
35Graphics and All That
36Beginner C
- Use Picture Box
- Build Action- (Content) (A very VB 6.0 approach)
- More advanced Users should use Images as Embedded
resources, then use the doPaint method to
display image (A very Java Approach)
37- PNGs approx 4K per image, typically 8
directions, 4 animations per direction 128K - BMP 12k per image.
- JPG is 2K per image.
- GIF IS 1k Per Image, limited in colours.
- The 3D Model is approx 31k FOR .x FILE 65kb FOR
TEXTURE.
38Formats
- JPEG Can take to to decompress
- BMP Memory Hungry
- PNG - Very popular in Java Phone Dev due to
balance between memory and speed of display. - GIF
39Smoke Mirrors
- Computer Games are about Smoke and Mirrors i.e.
- Layered textures,
- Billboarding
- Same level different graphics.
- AI that isnt really intelligent.
- Only drawing what the user can see.
- Games written primarily in 3D packages.
40Final Words
- It is much easier to get a game up and running
using a Microsoft Smart Phone or PDA using C. - Java is an option for specific devices but some
emulators are a little flaky. - Plan the project well before touching the
keyboard. - Choose a project that you can complete on time.
41Projects
- Academic Aims
- Critical evaluation is more about being critical
about what you have achieved against your aims
than how you enjoyed doing it. - Research isnt always internet sites but peer
reviewed material such as - Books, and not always how to books.
- Research papers, www.gdconf.com
42Useful Links
43Game Engines
- Free Download
- HIs MASCOT CAPSULE www.hicorp.co.jp
- (Symbian , PALM OS, SmartPhone)
- Superscape Swerve www.superscape.com
- (Symbian , PocketPC)
- Synergenix Morphun
- www.mophun.com
- (N-gage,Gizmondo,Symbian)
- In-Fusio Exen
- www.in-fusio.com)
- Symbian only
44Symbian Development
- www.flipcode.com/articles/article_mobilegfx01-pf.s
html - Article on developing a game engine from a real
developer including source code.
45HCI related for Microsoft Powered Devices
- http//msdn.microsoft.com/library/default.asp?url
/library/en-us/dnnetcomp/html/grfCraftingSmartphon
eUserInterfacesUsingNETCompactFramework.asp - Discusses the controls for the Pocket PC
including dynamic loading.
46Pocket PC Games Development
- www.pocketpcdn.com/sections/gapi.html
- An excellent source of tutorials on all aspects
of PocketPC games developments, libraries,
tutorials etc.
47Pocket PC Intermediate optimisation
- Developing Smartphone Games by Andy Sjostrom
MSDN - Offers an insight into optimsing games,
limitations of some devices, memory management.
48Programming With Cheese
- www.dcs.hull.ac.uk/admissions/resources/Smartphone
/index.html - An excellent introduction to aspects of game
development on smartphones uses a very much Java
approach and provides a very short learning curve
for JAVA developers.
49Open GL ES
50Diesel Development
- www.3darts.fi/mobile/dieselengine.htm - Diesel
engine home page. - www.pocketpcdn.com/articles/print_dieselengine1.ht
ml - Getting started with Diesel
51Books
- HARBOUR,J.S. (2001) Pocket PC Game Programming
Using the Windows CE Game API. USA Prima Tech.
ISBN 0761530576 - KEOGH,J.(2003) J2ME The complete reference. USA
McGrawHill/Osbourne. ISBN 0-07-222710-9 - Petchel, T. (2001) Java 2 Game Programming. USA
Premier Press. ISBN 1-931841-07-1
52Mobile Games Companies
- www.dittostudios.com
- www.coyotedev.com
- www.iomo.co.uk
- www.ifone.com
- www.codemonkeys.com
- Ww.kujo.com
53Thank You for Listening