The criteria based on which the game was graded were as follows:
• Class Design and Implementation
• Class Communication and Interaction
• Appropriate Use of Events / Methods / Parameters
• Appropriate User Interface / User Interaction
• At least 4 key gameplay features which demonstrate your own problem solving abilities (additional receives bonus)
• Appropriate Implementation of Simple and Advanced Dynamics
• Documentation of feature updates and application testing.
As I'm a big fan of the battle/powered-up racing I have chosen to create a game inspired by Super Spy Hunter for the Nintendo Entertainment System and Road Apocalypse is what came out.
The graphic assets used do not completely reflect the initial concept of the game, as the grading did not take this in account, being mostly used for showcasing purposes.
The ActionScript code resides mostly in external files, aiming for Object Orientation with little to no code in the TimeLine.
It is organized in 12 classes, most notable being the Kernel class which changes between the game screens, the Game class which does most of the collision detection and manages the sprites on the screen, the Player class, and the Enemy class which can be controlled either by the EnemyAI or BossAI classes (both inheriting from AI).
Object Orientation was important for this game as it allows for quick expansion such as adding extra levels, extra enemies/bosses, that inherit on the behaviours of their parent class.
On the software/game development concepts side of things the following can be listed:
- Game State Management using Finite State Machines
- Arrays and array functions
- Looping
- Polymorphism
- Inheritance
- Collision detection and response (one of the most complex parts of this game)
- Heads-Up Display
- Scrolling Background
- Garbage Collection
- Rotated/Angled movement (sine/cosine)
- Random enemy generation
- Programmable enemies
Controls: Arrow Keys to drive, X to shoot
Currently I am considering a remake as a full game targeted mostly at mobile devices, using Unity 3D.
Source files available on request.