Provide a time based management : Java is normally managed by Events, which is not really suitable for action games | |
Divide game on a by-screen basis : each game sequence (for example splash screen, game screen and highscores screen) are strictly independants. A simple mechanism allows data transferts between screens | |
Manage in-jar multimedia data (images, sounds, data) for most browsers (in fact java implementations) | |
Simplify management of graphical elements (sprites) |