Skip to content
This repository

Explonoid is yet another Arkanoid clone, but with electric frosting. It demonstrates one way of covering practically all screen sizes using a scaling algorithm for the graphics. The game supports both keyboard and touch screens. When running on phones based on Nokia Asha software platform 1.0 and Series 40 Developer Platform 2.0 (full touch UI) …

branch: master
README.md

Explonoid

Explonoid is yet another Arkanoid clone, but with electric frosting. It demonstrates one way of covering practically all screen sizes using a scaling algorithm for the graphics. The game supports both keyboard and touch screens. When running on phones based on Nokia Asha software platform 1.0 and Series 40 Developer Platform 2.0 (full touch UI) acceleration sensors are supported.

This example demonstrates:

  • Using the Game API
  • Scaling to any screen resolution
  • Using acceleration sensors

The application is hosted in GitHub: https://github.com/nokia-developer/explonoid

For more information on the implementation, visit Java Developer's Library: http://developer.nokia.com/Resources/Library/Java/#!code-examples/game-api-explonoid.html

1. Prerequisites

  • Java ME basics
  • Java ME threads and timers

2. Important files and classes

  • src\..\ExplonoidCanvas.java
  • src\..\game\Game.java
  • src\..\game\Resources.java
  • src\..\game\Levels.java
  • src\..\audio\AudioManager.java
  • src\..\sensors\AccelerationProvider.java

Classes: GameCanvas, Vector, Graphics, Image, Sprite, LayerManager, Player.

3. Design considerations

The game logic and UI rendering are being updated in one single thread. The thread is paused and most of the resources are deallocated when the screensaver starts, there is an incoming call, or so on, to prevent excess power consumption.

All graphics are scaled to fit the screen while the game is starting up.

The state of the game is stored when user closes the application. The user can resume from the saved state when returning to the game.

4. Known issues

No known issues.

5. Build and installation instructions

The example has been created with NetBeans 7.3 and Nokia Asha SDK 1.0. The project can be easily opened in NetBeans by selecting 'Open Project' from the File menu and selecting the application.

Before opening the project, make sure the Series 40 6th Edition, FP1 SDK or newer is installed and added to NetBeans. Building is done by selecting 'Build main project'.

Installing the application on a phone can be done by transfering the JAR file via USB or Bluetooth.

This example can also be built using Nokia IDE.

6. Running the example

From the menu, the player can resume to the latest game, start a new game, set sounds on/off, and exit the game.

The player's objective is to destroy all the bricks and to get to the next level. The ball moves faster level by level.

The plate can be moved with three alternative ways: using sensors, touch gestures, or keypad.

7. Compatibility

Nokia Asha software platform 1.0; Series 40 3rd Edition devices and newer

Tested on:

  • Nokia Asha 501 (Nokia Asha software platform 1.0)
  • Nokia Asha 311 (Java Runtime 2.0.0 for Series 40)
  • Nokia Asha 308 (Java Runtime 2.0.0 for Series 40)
  • Nokia Asha 306 (Java Runtime 2.0.0 for Series 40)
  • Nokia Asha 201 (Java Runtime 1.1.0 for Series 40)
  • Nokia X3-02 (Series 40 6th Edition FP1)

Developed with:

  • Netbeans 7.3
  • Nokia Asha SDK 1.0

Version history

  • 1.4 Replaced Platform Request URL from projects.developer.nokia.com to GitHub
  • 1.3.0 Fixed Security Prompt bug for Sensor API
  • 1.2.1 Bug fixes
  • 1.2.0 Ported to Nokia Asha devices. Audio is now handled in a different thread.
  • 1.1.0 New scaling algorithms, added info screen and sensor support. Tested with Series 40 full touch devices.
  • 1.0.1 Bug fixes
  • 1.0.0 First release
Something went wrong with that request. Please try again.