36 Commits over 59 Days - 0.03cph!
Don't collect stats for bots
Rat death texture is missing, set to color for now.
Change benchmark lobbies to private
Capture time needed to spawn all players as StartDuration
Fix Curve ImmutableArrayList -> ImmutableArray change
Wrap around index when accessing avatar array
Give bots random clothing
Random but deterministic
Null check benchmark system
Forgot to sample every update
Don't wait for round results when in benchmark mode
Don't attempt to load map after benchmark
Add benchmark mode, runs a simulated bot match
Refactor Bot weapon selection
Run bot coroutines in FixedUpdate instead of Update/Frame
Don't add camera noise to main camera caused by local bots
Main/local player can now be controlled by bot controller
Some tweaks to bot aim
Bots wait for navmesh to finish generating
Nerf bot aim
Fix edge case where bot logic could get stuck attempting to pickup a weapon
Bots can now shoot RPGs
Cleanup bot async task hierarchy
Introduce behaviour tree like functionality by adding task executors RunSelector & RunBehaviour
Cleanup task cancellation propagation
Add missing step arg to setting
Add GameSetting so you can create bot lobbies via menu
Slightly nerf default bot settings
Iterate on Bots
Bots now roam the map for pickups
Bots can now use different weapons (this need more work in the future)
Bots now have a more realistic aim pattern
Add Player MaxArmour and MaxHealth
Add BasePickup.CanPickup and move some functionality from OnPickup there
Revert "Improve player spawn performance" so we can optimize for go clone/creation performance
This reverts commit 318474ee16bf9e057c1e8fbc8e2ee7877cf4dcd2.
Improve player spawn performance, by enabling/disabling player go instead of destroy/create
Before:
Function Name: GameManager.SpawnPlayer
Number of Functions: 22
Average: 9ms 448µs
Median: 8ms 353µs
After:
Function Name: GameManager.SpawnPlayer
Number of Functions: 21
Average: 4ms 945µs
Median: 4ms 870µs
Copy bone scale from GameObject instead of internal bone
Can't use TryGetBoneTransform because it still holds the old transform (before gibbing)
Fixes: sbox-deathmatch/issues/129
Remove duplicate key to fix resource compilation
Fix NRE for gluon gun, happened if player died before RPC was processed.
Fixes sbox-deathmatch/issues/121
Gluon Hose Shader
https://files.facepunch.com/lolleko/2025/February/07_14-11-LavishTinamou.mp4
Move some files
Spawn players at the spawn point furthest away from other players
Optimize Player.Inherit 2.3ms -> 300μs.
Could probably still be optimized more.
Fix damage indicator showing for local player when shooting bots
Merge branch 'main' of sbox-deathmatch
Make bots shoot at players and other bots
Add basic bots can be spawned via `bot_add <count>`