RaceDroid

grp12 –

  • Tommi Kallonen - 0081439
  • Aku Luukka - 0081620
  • Seyed Mahmoud Mortazavi
  • Älireza Kähaei

Idea

Two players race each other in a tunnel. Hitting the tunnel walls will cause a penalty. The shape of the tunnel may be created either randomly or according to a mathematical model.
Both ships are run on different devices (and emulator windows/ emulating computers) but can see each other when they are close enough to one another. The networking is done over WLAN but cellular networking and Bluetooth may be added as options if time permits.


Mockup screenshot of the general design idea


Horizontal screen with only one tunnel visible

Features

1 = most critical or core .. 3 = least critical or core feature

Feature Priority Status
Drawing the racers 1 DONE
Handling user input for movement 1 DONE
Handling the flying 1 DONE
Determining game state 1 Start and finish DONE/ Determining winner NOT DONE
Connecting two devices via TCP Connection 2 DONE (port forwarding required for emulators)
Transfering data between devices 2 DONE (transferring map broken)
Controling the movement by motion sensors 2 NOT DONE
Sounds 3 NOT DONE
Background graphics 3 Just filling the background - no textures

Mini Goals

First tasks are to draw the ship on the screen and to move it according to user input and minimal physics simulation. Also the basic networking capabilities must be implemented and tested. Ideally the task are split equally for all team members and possibly adjusted on the go.

  • Communication (client/server TCP connection)
  • Game logic (location of users, collision, reaching goal)
  • Map representation (How to create, share with another user, how to draw on screen)
  • Other views (Starting the game, setting up connection etc.)

Design

  spaceShip1.image.setBounds(spaceShip1.x,spaceShip1.y
  ,spaceShip1.x+spaceShip1.image.getIntrinsicWidth()
  ,spaceShip1.y+spaceShip1.image.getIntrinsicHeight());
  spaceShip1.image.draw(c);
  opponentShip.image.setBounds(opponentShip.x,opponentShip.y
  ,opponentShip.x+opponentShip.image.getIntrinsicWidth()
  ,opponentShip.y+opponentShip.image.getIntrinsicHeight());
  opponentShip.image.draw(c);

Screen shots

(when ready)

Actual game footage from early version
Two emulator windows running multiplayer

Implementation Comments

port forwarding for emulator acting as the server

adb -s emulator-5554 forward tcp:4444 tcp:4444

Presentation

(powerpoint or pdf slides file)

racedroid.ppt
racedroid.ppt_compatibility_mode_.pdf

Package

Packaged binary: racedroid.apk.zip
Source code: racedroid.zip

How to run

Conclusion of your work

(what was good, what was bad, impressive or depressive things in android development)

Report and Brochure