Overview
Projectiles Advanced demonstrates how to implement networking for different types of projectiles in a shooter game. Programming multiplayer projectiles can be a difficult task which involves balancing performance, bandwidth consumption, and precision. It also requires smooth rendering which accounts for any discrepancy between the simulated and rendered projectile path (fire from camera vs. fire from weapon barrel). Projectiles Advanced aims to clarify and simplify this task a little bit.
To contextualize the projectiles, the sample is built as a simple FPS game with other supporting systems (gameplay handling, health and damage system, weapons) and can be used as a solid groundwork for building shooter games.
For an introduction to projectiles as well as more standalone examples that can be easily copied to different projects please refer to the Projectile Essentials.
Client/Server
topology.Features
- Handling of projectiles without individual
NetworkObject
s using projectile data ring buffer - Numerous projectile types from hitscan to homing projectiles
- Weapon component system
- 8 different weapons
- Pulse Gun
- Rifle
- Shotgun
- Laser Gun
- Sniper
- Homing Gun
- Ricochet Gun
- Flamethrower
- Solved interpolation from weapon barrel to real projectile path (shot from camera)
- Health and damage system
- Explosions
- Smooth player movement and camera rotation using the Simple KCC addon
- Predictive projectiles "spawning" using custom Network Object Buffer