Java ME vs. Flash Lite : Acomparison of mobile phone game development

shopfitterpsithurismSoftware and s/w Development

Nov 10, 2012 (4 years and 9 months ago)

183 views

Java ME vs. Flash Lite
:

A

comparison of mobile phone
game development

Alex Koller

Supervisors: Greg Foster,







Madeleine Wright

Overview of Presentation

1.
Project Synopsis

2.
Research Findings

3.
Demonstration

4.
Results

5.
Conclusions

6.
Future of Mobile

Game Development

7.
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 arcade
-
style 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







*
* Average of five successive start
-
ups


** Initial memory usage immediately after start
-
up


Development Time


Roughly three weeks for each platform

Development Environment

Start
-
Up Time (seconds) *

Memory Usage (mb) **

Netbeans

25.6

121

Eclipse

13.2

67

IntelliJ IDEA

24.6

140

Java Wireless Toolkit

3.4

33

Flash CS3 Professional

20.4

89

Demonstration


Black Sky is a top
-
down perspective, arcade
-
style, 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


Java ME outperformed Flash Lite in these two vital tests


Number of lines of code and final file size


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?