Meant to showcase Abstraction/Inheritance/Polymorphism/Encapsulation
Project Design Document Project Goal: Create a project that highlights the following:
- Abstraction
- Inheirtance
- Polymorphism
- Encapsulation
Project title - Magic simulation
Project Overview
Project Themes:
- Simplistic Primitives
- Geometric
- Techno
The application: Scenes in the project
- Menu
- Main Scene
- Game over overlay
User Interactions: Menu:
- Able to start the game
- Menu has a background music to it
- Shows the longest time survived
- Able to exit the game
Main Scene:
- Some background image
- Players are bounded within a movement range
- Top down view
- Shows the total enemy killed
- Shows the player health on screen
- Shows the time elapsed
Game over Overlays:
- Displayes the game over text
- Takes the user back to title screen
- Summarize the total enemy killed
- Summarize the total time elapsed
User Interactions: Player:
- Control a shape to move horizontally (WASD keys)
- A random power up is spawned with the player
- The power up will fire in predefined patterns automatically
- Player has a health amount and when health is depleted, the game is over
- When the player dies, play a sound effect
Power ups:
- Power ups stack on each other
- Power up are spawn randomly on the scene every x amount of time
- Different power up would shoot different types of fireballs automatically (Fire, earth, water, wind, lightning)
- Power up will have different cool downs
- When picking up a power up, play a sound effect
Enemy:
- Enemy will spawn from different directions and close in at the player
- Enemy will have 3 types (Easy, Medium, Hard). They differentiate by their speed, size, life
- Spawn density reduces as survived time goes on
- When eneymy is killed, play a sound effect
- When eneymy is hit, play a sound effect
Sound effects & Music needed:
- Menu and playing background music
- Power up sound FX
- Enemy hit sound FX
- Enemy parish sound FX
- Button click sound FX
- Game Over sound FX