Third person view
Level based gameplay with linear unlocking progression style
Enemy spawning by waves
Game world
3D objects
Dungeon like terrain with walls, corridors, rooms, switches, traps
Playable on Microsoft Windows 10
Different levels varying in challenges
Audio and sound effects
Variety of enemies
x4 bosses
x3 common enemies
Destructible objects: bullet, obstacles
Simple enemy AI (mono behavior)
Menus and HUD
VFX
Realtime lightning (not raytracing :P)
Interactive objects
Doors
Switches
Moving platforms
The game will be created in the Unity 2019.4.17f1 game engine with Universal Rendering Pipeline 7.3.1
The reasons Unity was chosen because all team members are familiar with this engine. It also capable of making all the features that game designer asked for.
Using URP is because it's faster than built-in render pipeline and supports Shader Graph which will need to be used in this project.
This game is being built to run on Windows
Minimum requirements
Windows 7 (SP1+) and Windows 10
x86 , x64 CPU
Integrated graphic supports DX10, DX11, DX12
Unity editor for assembling assets, designing scene, building game
Visual Studio 2018/2019 for writing code
Github for versioning
Adobe Photoshop for checking, tweaking image resources
Design patterns:
Singleton: for creating Game Manager component to control game loop, game progression, data saving
Abstract Factory: for creating enemies
Object Pool: for managing character instances (enemies spawning, bullet counts)
Observer: for communications between objects on special occasions (player dies, boss dies)
Artificial Intelligence
Each instance of enemies posses only 1 behavior so there's no need to use switch state machine.
A few known behaviors:
Always shoots at player
Always shoots but by a design (continuous, burst, pulse)
No shooting
Always moves towards player
Immobile
Moves by a design (patrols by axis/curve/path)
Post Processing for color grading
Particle System for creating bullets, collision effects, explosion
Shader graph for creating special materials (enemy shields, bullet visual)