Mobile 3-D Motion Games
From Mobileradicals
Undoubtedly the biggest event in the recent history of game development has been the launch of the Nintendo Wii and, in particular, its most innovative attribute: the wireless controller or “Wiimote”. The Wiimote can be used as a handheld pointing device, able to detect motion and rotation in three dimensions which allows for very innovative game play. Prior to the Wii launch, and with much less furor, Nokia launched its 5500 model phone which contains 3-D motion sensors. Using the Sensor API library available for the Symbian OS, this sensor data can be used by developers to create interesting new control schemes for mobile games.
Contents |
Mirage Space
Motion controlled 3D multiplayer space combat game. Mirage Space uses the same S60 Mirage-X API to create a motion controlled 3D space battle game in which you compete with opponents via Bluetooth to save the galaxy. As can be seen the video shows players first select their space ship and then they must engage in a space dogfight shooting their opponents as they appear on their screen. The player movement is controlled entirely through tilt but speed and fire are controlled via the joypad using up and centre button respectively.
Mobi-Tron
The game is based on the old arcade classic Tron which was first released in 1982 to coincide with the Walt Disney picture of the same name. Although the arcade game consisted of four sub-games: Light Cycles; MCP Cone; Input/Output Tower; and Battle Tanks, it is the Light Cycle game most often associated with the title. The game requires the blue player to guide his light cycle around the game arena meanwhile avoiding running into walls or the light trails left by his or the opposing player’s yellow cycle.In the arcade game it could be played as either a two-player game or against an Artificial Intelligence (AI) opponent. Mobi-Tron basically employs the same game play, although there is currently no option to play against the computer. However, it does allow more than two players to be active in a game simultaneously. The players’ names are displayed as their Bluetooth friendly names at the top of the screen and each player starts from opposite corners of the game board. The play continues until one player has either crossed their own or opponents trail or runs into one of the side walls.
Tilt Racer
Tilt Racer is a novel multiplayer game running on a large public display were the players cars are controlled using Nokia 5500 with their in-built 3-D motion sensors via Bluetooth.
Tunnel Run
In terms of games implemented using tilt on mobile phones there have been numerous implementations using the camera and one for the Nokia 5500 using the accelerometers all of which have been based on the marble type games previously described. Whilst these games are no doubt fun, they are replicating the existing game input mechanic of the previous games and in this research we wanted to explore tilt in relation to other game genres. Therefore, for this project we decided to implement a 3D graphics first person driving game which has been called Tunnel Run.
MIRAGE-X
- Mirage Money Experience For Mobile HCI
Since the advent of accelerometers on programmable mobile phones an array of implementations have appeared from navigating through menus without pressing buttons to creating Wii-like game controllers for games running on large public screens as in Tilt Racer and Tunnel Run. However, all of these controllers limited the interaction experience in the 2-D visual plane. The MIRAGE-X API we present here allows the use of the in-built accelerometers on mobile phones to maneuver in 3-D OpenGL ES virtual or augmented reality (mixed reality) worlds with full 3-D motion control. The API is currently implemented for the most prevalent smart phone platform: the Symbian OS. It provides the user with a first-person view which allows for instinctive navigation through the 3-D world by simply moving the phone in the direction the user wishes to go to. According to that movement the relative view direction in the 3-D environments gets updated and displayed on screen.
The game MirageMoney has been developed as the first demonstration of the capabilities MIRAGE-X API. The game is a flight-simulation with the phone screen being the window to the virtual, or augmented, world the player is flying through. The mission of the player is to control his/her plane and ‘fly’ around in the 3-D world collecting the floating silver and gold coins by colliding with them on the screen.
This control is achieved by pitching the phone up or down and rotating it clock-wise or counter clock-wise as in the pictures below. Note that speed through the world is controlled by the joy-pad buttons: up tp speed-up, down to slow-down.
Download Mirage Money application to your phone from MOSH
Poppet
The system developed is part of a generic framework, which we have termed Poppet , for utilizing on-board phone sensors such as cameras, accelerometers, Radio Frequency Identification (RFID)/ Near Field Communications (NFC), which can be linked to games running on large public displays via Bluetooth.
Although Poppet is capable of addressing a range of devices, in this section, we specifically describe the design challenges involved in producing a mobile client for the Nokia 5500 together with its on-board accelerometers.
Accessing the 3-D motion sensors requires the use of the Symbian Sensor API which is similar in function to J2ME’s Mobile Sensor API (JSR-256). Both of these APIs provides the potential to access a wide range of sensors such as accelerometers, thermometers, barometers, and humidity monitors, in fact any type of sensor designed to be incorporated in a mobile phone, or those accessible via Bluetooth. Sensors need only be supported by the API library to be usable. The Symbian Sensor API is available from Nokia and requires the use of the Symbian S60 3rd Edition SDK. Whilst there is support for the Symbian Sensor API on several mobile devices, there are currently no mobile phones that include JSR-256. The general Poppet framework uses J2ME, as this is currently the most widely deployed mobile platform. Although the sensor data is not directly accessible from J2ME because of the lack of JSR-256 as previously highlighted, the problem can be overcome by using a socket connection on the mobile phone to allow access to native services. The general solution for accessing native services from J2ME on Symbian S60 phones is by opening a low level socket connection in a Symbian C++ application then connecting to the defined port on the loop-back address from the J2ME application. Thus the Symbian C++ application can retrieve any information from the phone and then the data can be passed to any other application that can process the received information. This solution has been applied in our simple mobile client to allow J2ME applications to access the 3-D sensor data. The connection between the game client and server is based on Bluetooth, which creates a reasonably high bandwidth (data rates can vary between 1 megabit and a few kilobits per second depending upon the type of transfer mode initiated) between the devices. In order to allow a device to become discoverable by others, it is necessary to advertise at least one Bluetooth service. In the case of Poppet, the mobile client implementation uses the official Java Bluetooth API (JSR-82) to alleviate porting issues.





