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?