voxelfield
voxelfield copied to clipboard
Server authoritative multiplayer shooter game with fully destructible terrain
Voxelfield
Voxelfield is a multiplayer shooter game where the terrain is completely destructible.
Video: https://youtu.be/m-gB7DvBCo4 Itch.io: https://shaweewoo.itch.io/voxelfield
Development
- Clone this repository and run
git submodule update --init --recursive
- Open in Unity, all packages should resolve automatically
- To build use the Menu item Build/(Type and Arch Here)
- Steam authentication is turned on by default, to disable execute
authenticate_steam false
in console (open with~
)
Technical details
- Written in C# using the Unity game engine and LiteNetLib networking library
- Authoritative network model supporting 16 players with 120 packets per second
- Custom hybrid ECS system to ensure determinism
- Integration with AWS GameLift, authentication with Steam API, stat tracking with AWS DynamoDB
This is by far my biggest project, cloc
output (counts lines of code):
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
C# 218 3221 4791 19558
-------------------------------------------------------------------------------
Code Layout
Modularity is achieved using Unity packages and assembly definitions
Voxelfield Specific Scripts:
-
Voxels
- Chunk
- ChunkManager
- MapManager
- Rendering
-
Voxelfield
- Components
FPS General Packages:
-
Session - Modifying the game, clients, servers
- Server
- Client
- Client Prediction
- Common Session Components
- Common Player Components
- Component - Defining game data
- LiteNetLib - Forked networking library by RevenantX
Gamemodes
- CTF (Capture the Flag)
- Secure Area
- Deathmatch
Weapons
- Rifle
- Deagle
- Sniper
- Grenade Launcher
- Missile Launcher
- Sand Bomb
- C4
- Grenade
- Molotov
- Shotgun
- Pickaxe
- Pistol
- SMG
- Impact Grenade
- Boomstick
- Flashbang