You Are Reading

Road Apocalypse

Road Apocalypse is a game I have developed as part of the Advanced Multimedia Scripting module on my course at the University of Worcester. The requirements for the project were to create a highly interactive multimedia application using Adobe Flash and ActionScript 3.0 and document the process throughout the planning, development and testing phases.

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

Here's the game as it looked when it was submitted as part of the module's assignment:
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.
 
Copyright 2013 Mihai Ungureanu