Major Coursework #2In this coursework, you are required to implement an Android Game App, create an installable apk that can be installed on an Android phone (API level 2.2) and write a report that describes the design and justifies improvements.
The GameYou are required to develop Java code to implement an Android app inspired by the traditional top-down racing game. The code MUST extend the code base provided for the practical in week 7 of Spring term.
The OOP DesignYou are required to develop an OOP design before starting implementation. This should be discussed and signed off in your practical session in week 8 of spring term. This will be marked in that week’s practical sign off sheet. You must include an electronic version (e.g. scan handwritten work) in an appendix of the submitted report.
You can later change the design. You must, however, justify your changes in the final report
Your game should:
- Have functionality to start individual games on a screen using a separate welcome or start screen. The welcome screen must function using the Android library buttons.
- Display the current score while playing. You define scoring mechanisms.
- Have a Car that the user controls.
- Controlled by touches on the screen and/or sensors within the phone.
- Have a Track
- The player will lose a “life” or energy if the car drives off the track. (Try different retro racing games for inspiration.)
- The track cannot be straight. I.e. it must have corners or change shape while the player drives through the track
- Have Opponent cars or other vehicles
- Must have more than one opponent on screen at some point in the gameplay.
- This can be opponents that the player is racing against (functioning as A.I. players), or slow driving cars that need to be overtaken, e.g. for extra points.
- At least three game levels with different tracks and/or types of opponents with different behaviours.
- Higher marks available for creation of new levels (e.g. levels stored online, in files or easy to reuse data structures within the game)
- Marks are given for the complexity of the solution.
- Using online levels receives higher marks than storing them in a local file.
- Using appropriate OOP design receives higher marks than one that does not.
- Research and improve memory and speed efficiency of the game. This process, including tests to verify claims, must be described and justified in the report
- There are 20% (capped) marks available for
- Creating an online high score list. This must be hand coded, i.e. without using high score list libraries such as Google Play Services. You can, however, base the server-side code on the code provided in week 3 and 4 of spring term (worth max. 15%). Researching and improving multithreading of the game. This should be described and justified in the report (worth max. 15%)
Order now and get you work in a minute :)