This is a short survival horror game set in an FPP enviroment, inspired from one of my favourite games Outlast. I tried to achive same level of suspense in this game. I also created an AI using Macanim system that can follow player and attack him. I wanted to learn more deeply about Unity's toolset and have an practical knowledge in implementing things that i learned.
Objectives of this project
The main objectives of this project were
- Demonstrated expertise in implementing advanced programming techniques such as Asynchronous processes for smooth and efficient Game Mechanics, including sounds, animations, and scene management.
- Using Unity's Timeline to create Interactive sequences that contain Sounds and Animation Events based on player triggers
- Employed advanced Post-processing Techniques and Unity's lightening system to enhance the Game's visual style and atmosphere.
- Created Realistic and Immersive Weather Effects using Unity's particle system.
- Crafted Dynamic and Interactive game Environment using Unity's terrain tool.
- Developed Advanced AI and player animation systems using Unity's Mecanim system.
- Optimized Game Performance and Identified and Addressed Performance Bottlenecks using Unity's Profiling Tool.
- Implemented Occlusion Culling techniques to boost game performance and maintain frame rates.
- Managed Audio Effects and prioritized important sounds using Unity's Audio Mixer Groups.
Performance Optimization
- The Video on the left is current iteration of the Game. For previous iteration scroll down to bottom
- Successfully improved game performance by 60% by modifying terrain and adjusting the field of view of the main camera.
- Implemented Unity's Occlusion Culling to improve FPS stability and loading times.
- Reduced Draw calls and improved performance through the use of Batching, occlusion, and GPU instancing techniques.
- Optimized textures and reduced their size to improve performance.
Audio Design and Implementation
- Utilized various audio settings and compression techniques to improve scene loading and Reduce performance spikes.
- Improved Audio impact and clarity by implementing separate audio mixers for FX, ambience, background music, and sequence sounds.
- Utilized Unity's Timeline to Trigger audio events and optimize gameobject usage, resulting in a reduction of stuttering.
How Level Design Evolved
Video 1 | First Iteration
- The game was not looking good, very clear enviroment for an horror game and not performing better (shown in the first video) Ambient Sound was also not giving the enviroment that feel
- The Terrain was also not walkable at some places and had no bounds to keep the player on track. Post processing was there but needed some tweaks
- there were large textures files on the map too and due to less clutter the game was running fine right now around 30-40 FPS
Video 2 | Performance Tweak in Enviroment
- There was 15% improvement in performance after tweaking the texture size, occlusion culling, camera option setting and code optimization
- The game was also using collision triggers only to fire up event in the game world. Timeline was not use upto this point for anything.