Reference no: EM132962294
IN2026 Games Technology - City University of London
Coursework
The aim of this coursework is to extend the Asteroids game you worked on in the lab sessions to include new features. The source code for you to begin working with is available on Moodle. You should be familiar with much of this code from the labs.
This coursework has been split into three parts. Each part is worth the same number of marks, although the difficulty of the task increases. For each part, you will be expected to implement one of the features described. There is nothing to stop you implementing both features but you will only get marks for the first one of these (as presented in your documentation). You should begin by spending some time designing the features you want to add. Your coursework submission should include a design document for each feature you choose to implement as well as the code itself. It is important that you document your approach to implementing a new feature. Marks will be awarded for clear explanation of how you would implement a feature even if the feature is incomplete. An implementation on its own, no matter how great, will not be awarded full marks without a clear explanation of how it was implemented.
Part I
Implement either:
a) A start screen, or
b) Asteroids that split into smaller asteroids when hit
Hints
To implement a start screen you will need to look at how the Asteroids class starts a game session and add some additional code to display a message and wait for a key to be pressed. Once a key has been pressed the spaceship can be created.
To implement asteroids that split into smaller asteroids when they are hit you will need to extend the current Asteroid class to add new asteroids when it explodes.
Part II
Implement either:
a) A high score table, or
b) A bonus/power-up system
Hints
The simplest possible implementation would display the high scores for a single session (this would not require the player to input their name). A more sophisticated implementation would save and load high scores from a text file (and would require players to input their name).
To implement bonuses and/or power-ups you will need to implement new subclasses of GameObject that, when they collide with a Spaceship, alter the way the Spaceship behaves in some way. You might want to implement a new type of listener that would allow the game to change its display. Types of bonuses and power-ups might include: extra lives, bullet upgrades, ship upgrades, shields, etc.
Part III
Implement either:
a) A demo mode, or
b) An alien spaceship
Hints
A demo mode should be designed to run while a start screen or high score table is being displayed. The demo mode should display a game being "played" by a computer controller. The simplest possible demo mode would control the spaceship using a random controller. A more complete implementation would use navigation and targeting algorithms to control the spaceship. The computer player doesn't have to be great at playing the game. If you try to make the behaviours of the computer player believable, don't forget to write an explanation of how you've tried to do it.
An alien spaceship is a natural extension to the bonuses/power-ups task in Part II. To implement an alien spaceship, you will need to implement a computer control system for the spaceship. Your alien spaceship should be able to navigate itself across the game world, try to avoid the player's bullets and fire at the player's spaceship. As with the demo mode, you don't have to make the control of the alien spaceship particularly intelligent, but you might want to try to make it believable. To make the implementation a bit easier you can make the alien spaceship invulnerable to collisions with asteroids.
Attachment:- Games Technology.rar