Secrets of Mobile Game Development
Download
Report
Transcript Secrets of Mobile Game Development
Secrets of Mobile
Game Development
Martin J. Wells
CTO, Tasman Studios
Author, “J2ME Game Programming”
(Premier Press 2004)
Overview
Mobile Game Design
Game Production
Commercialisation
Post-mortem Comparison
(Hyper-Gate vs. Club Soccer)
Part 1
Mobile Game Design
Target Platform
Know your target platform
Embrace the limitations (be realistic)
Buy lots of phones
Play lots of games
Small screen size
Limited content (graphics, sound)
Slow performance
Poor input
Limited RAM (limited code)
Base design on Nokia Series 40 (64KB, MIDP 1,
Colour)
Mobile Game Sales by Handset
Siemens, 5%
Other, 18%
Motorola, 1%
Nokia S30, 18%
Nokia S60, 24%
Nokia S40, 34%
Device Capabilities
75% of phones have 64K or less space for Java
games
Most carriers will not let you exceed 100K
65% of phones support the Nokia UI
30% of phones (T6xx, Nokia Series 30) are
troublesome to develop on
What’s in a Mobile Game?
Relative impact of medium on design is very high
(compared to PC games)
Limited play time
1-6 hours total
Short bursts
Small scale
Focused game styles (simple, direct, easy)
Go back to the 80’s
It’s getting better, but don’t let marketing fool you
New Technology
Avoid the new technology traps
3D
Location based
Multiplayer
High-end phones
Isolated, typically leading to limited sales (but some nice
hype if you want it)
Not the same as the PC market. New technology
comes and goes in isolated “bumps”
Consider using new tech as add-ons or options
Multiplayer?
Yes, but not on your first game
Use an existing system
Mophun
Red Star
Terraplay
Bigger revenue, but smaller market
On-going
The Secret to Mobile
Game Design?
Keep it simple
Part 2
Game Production
Development Time
Typical development time is 3-4 months
Staff required:
Devil is in the details
Porting/testing can take 30% of dev time (up to 80% first
time around)
1 programmer (full-time)
1 artist (half-time)
Ad-hoc producer, designer, sound (depends on the final
game)
A small studio can produce 3-5 games per year
Example Media Budgets
(64 KB Game)
Maps & Script
(10 KB), 16%
Strings (6 KB),
9%
Graphics (20
KB), 31%
Source (28
KB), 44%
Starting Tools
IDE: Eclipse (with EclipseME) or IDEA
Build: Ant + Antenna
Map Editing: Tile Studio or Mappy
Graphics: Photoshop, etc
Testing: Emulators and real phones
Multiplayer: Red Star
Ant Builds
Use Antenna to simplify things (but watch out)
Simple override for custom resources
<!-- copy default resource -->
<copy todir="${bd}/res">
<fileset dir="res/default"/>
</copy>
<!-- copy overrides -->
<copy overwrite="true" todir="${bd}/res">
<fileset dir="res/${build}"/>
</copy>
/res
/default
/splash.png
/nokia-s40
/nokia-s60
/splash.png
/build
/default
/nokia-s40
/nokia-s60
Using a Pre-Processor
Add conditional code to Java:
//#ifdef nokia
com.nokia.mid.ui.DeviceControl.startVibra(10, 300);
//#endif
Use Ant/Antenna to pre-process code before
compilation:
<property name=“device" value=“nokia"/>
<wtkpreprocess srcdir="src" destdir=“/build/${device}/psrc“/>
<javac destdir="${bd}/classes" srcdir=“/build/${device}/psrc/>
Tile Studio
Easy to use
Layering
Multi-levels
Custom output
generator
#file levels.dat
#tileset
#map
!<MapIdentifier>~<MapWidth:"%2d"><MapHeight:"%2d">
#mapdata
<TSMidTile:"%2d">
#end mapdata
#end map
#end tileset
#end file
Map File
Optimisation Tricks
Try different PNG optimisers
Use object pools (Java object creation and GC penalties
can be huge)
Avoid interfaces, inner-classes, exceptions and complex
hierarchies (merge your classes)
Set everything to null as soon as you can
Don’t type-cast, use integer switching
Use statics, arrays (single dimension) and switches
Don’t use synchronize (create your own mutexs)
Cache as much as you can (but watch out for memory
cost)
The Secret to Mobile
Game Development?
Test using real devices
Part 3
Commercialisation
Channels to Market
Carrier (direct handset) sales dominates the market
You can no longer go direct, use publishers
Lots of publishers (and lots of developers)
Fifth Axis, AirG, Digital Bridges, MForma, Tira Wireless,
JAMDAT, Unplugged, …
Portals/distributors can be supplements, but they
wont earn you a living
High inventory turnover means games only last in any
single market for 1-4 months
Big, complex, market filled with islands of success
Expected Revenues
Expected revenue (first year):
Single player game:
Unbranded: $10K to $30K
Branded:
$20K to $80K
Multiplayer can add $10K-40K in ongoing
revenue
Block-buster games (mega-brand, heavy
promotion, all the right channels) $100K to
$500K
The Secret to Mobile
Game Marketing?
Get more than one publisher
Part 4
Hyper-Gate vs. Club Soccer
Hyper-Gate
Four-way scrolling shooter
Great storyline
Missions
Ported to wide-range of devices
Portions © 2003-2004 Tasman Studios Pty Ltd
Club Soccer
Manage a soccer team
Turn-based, simple strategy
Very addictive game play
Ported to a wide-range of
devices
Great sales
Portions © 2003-2004 Tasman Studios Pty Ltd
Comparison
Hyper-Gate
Club Soccer
Dev Time
4 months
1.5 months
Porting Time
2 months
0.5 months
Game Style
High-speed action
Turn/strategy
Pros
Lots of graphics and action
attracts publishers
Cons
Hard to control
Fast action becomes blurry on
LCDs
Poor device performance hurts
frame rate
Sales
Mediocre
Great
Courtesy of Tasman Studios Pty Ltd
Easy to develop (mini-UI)
Suits device (intermittent play)
Very easy to port
Target market is perceived to
be soccer fans only
The Morale
Keep it simple
Complex action, graphics and technology doesn’t
necessarily translate into sales
Device limitations like LCD, CPU and input should not
be ignored
Keep it simple
Dev time != Sales
Embrace all types of game play (strategy, puzzles,
traditional)
Keep it simple
The (Ultimate) Secret to
Mobile Game
Development?
Play mobile games… no really
Thanks
Questions?