Java ME vs. Flash Lite
Download
Report
Transcript Java ME vs. Flash Lite
Java ME vs. Flash Lite:
A comparison of mobile phone
game development
Alex Koller
Supervisors: Greg Foster,
Madeleine Wright
Overview of Presentation
1.
2.
3.
4.
5.
6.
7.
Project Synopsis
Research Findings
Demonstration
Results
Conclusions
Future of Mobile
Game Development
Questions?
Project Synopsis
Comparison of mobile game development
between Java ME and Flash Lite 2.1
We investigated the available APIs
Understanding capabilities of each platform
Designed and developed a cross platform
game designed to test the capabilities of Java
ME and Flash Lite
Project Synopsis Cont.
Developing a complete game allowed us to:
Test all aspects of game development
Test supporting functions, such as persistent data
storage, menu creation, etc.
Assemble quantitative comparison results
Research Findings
Game types and genres
3D games becoming more viable – phones with
increased processing power and onboard GPU
Simple and addictive game play over graphics
Simple user controls
Arcade-style games are well suited, and have
been successful on mobile phones
Research Findings Cont.
Important features of a successful arcadestyle mobile game
Decent speed/frames per second
Minimal memory usage
Quick return on investment – short development
time
Small file size for transfer and storage
Addictive, easy to play and fun!
Immerse the player in the game
Research Findings Cont.
Development Environments
Java ME:
Many development environments to chose from
Sun Wireless Toolkit excellent free choice
Comes with many utilities for emulating, testing, method
profiling, memory monitoring, etc.
Flash Lite:
Flash CS3 Professional is the only option
Propriety software (US$600)
Crashed multiple times while developing, emulator
occasionally refused to run
Research Findings Cont.
Development Environments Compared
Development Environment
Start-Up Time (seconds) *
Memory Usage (mb) **
Netbeans
25.6
121
Eclipse
13.2
67
IntelliJ IDEA
24.6
140
3.4
33
20.4
89
Java Wireless Toolkit
Flash CS3 Professional
** Average of five successive start-ups
** Initial memory usage immediately after start-up
Development Time
Roughly three weeks for each platform
Demonstration
Black Sky is a top-down perspective, arcadestyle, tile-based game
Both implementations are almost identical
Black Sky
(Java ME)
Black Sky
(Flash Lite)
Results
Frames Per Second
Average FPS over 30 second period:
Java ME: 22.91
Flash Lite: 19.75
Memory Usage
Peak memory usage over one minute period:
Java ME: 516 kb
Flash Lite: 1032 kb
Java ME peaks when initialising, while Flash Lite
continues to rise, peaking at the end.
Results Cont.
Lines of Code
Java ME more ‘complete’ than Flash Lite version
Java ME: 3000 lines
Flash Lite: 1000 lines
Final file size:
Most mobile phone games aim for ≤ 200kb
Java ME: 81.5 kb
Flash Lite: 59.3 kb
Results Cont.
Problems Encountered:
Java ME:
Creating GUIs required some trial and error – can only
be created programmatically
Flash Lite:
Flash CS3 does not natively support MIDI – requires a
laborious 10 step workaround
Difficulty creating a tile-based game engine without
BitmapData object (introduced in Flash 8)
Input validation (button presses) too slow for fast-paced
games – results in unresponsive controls
Conclusions
Both Java ME and Flash Lite are capable
mobile game development platforms
Java ME is more mature than Flash Lite
Java ME has been in use for many years
Flash Lite is a relatively new platform
Java ME has more variety in development
environments
Conclusions Cont.
The game we created allowed us to perform
comprehensive testing on both platforms
Memory usage and frames per second
Number of lines of code and final file size
Java ME outperformed Flash Lite in these two vital tests
Flash Lite achieved better results
Java ME is better than Flash Lite
For almost all aspects of mobile game
development, we found Java ME enabled us to
achieve our goals more precisely and easily
Future of Mobile Game Dev.
Java ME
Solid development being made on the Java ME framework,
specifically the gaming APIs
Over 1 million developers currently using Java ME
Flash Lite
Flash Lite 3.0 recently released
Focus is on video/multimedia, not game development
Based on Flash 8 (still no BitmapData object though)
At this stage, Java ME is staying ahead of Flash Lite
in terms of mobile game development
Questions?