====== 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.\\ {{:android2010:grp12:screenshot-01-v2.png|}}\\ Mockup screenshot of the general design idea {{:android2010:grp12:screenshot-02-v2.png|}}\\ 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)\\ {{:android2010:grp12:screenshot003.png|}}\\ Actual game footage from early version {{:android2010:grp12:multiplayer.png|}}\\ 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) {{:android2010:grp12:racedroid.ppt|}}\\ {{:android2010:grp12:racedroid.ppt_compatibility_mode_.pdf|}} ===== Package ===== Packaged binary: {{:android2010:grp12:racedroid.apk.zip|}}\\ Source code: {{:android2010:grp12: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 ===== {{:android2010:grp12:racedroid_report3.pdf|}}\\ {{:android2010:grp12:racedroid_brochure.pdf|}}