A third-person arena combat game against the AI with custom vehicle physics. Personal project.
Overview
- Written in C++
- Engine: Unreal Engine
- Platform: PC
- Camera: third-person
- Character: tank with independent barrel and turret
- Controls: keyboard & mouse, game pad
Details
- Developed a tank API in C++ that is shared by the player and the AI to constrain the AI to the same capabilities as the player for a balanced and natural experience
- Used the component pattern for the tank to decouple the architecture, interfacing with blueprints for input and asset referencing
- Implemented an aiming component utilizing projectile calculation
- Used the observer pattern with dynamic multicast delegates to handle “death” of a tank
- Customized Unreal Engine’s gameplay framework for damage handling
- Used the component pattern for the tank to decouple the architecture, interfacing with blueprints for input and asset referencing
- Implemented custom vehicle physics with suspension based on physics contraints
- Created re-usable srungwheel component that gets spawned at runtime at predefined locations of the tank
- Set up particle effects for projectile trails and impacts