branchrust_reboot/main/projectile_jobscancel

124 Commits over 30 Days - 0.17cph!

11 Days Ago
Update: BaseRaidBench - emulate timed explosive fuse Not really important for now, but later once rockets fly upwards and have a chance to miss, this should make it match reality closer Tests: ran the scene
11 Days Ago
Update: BaseRaidBenchmark - expose batching mode via component Tests: none, trivial change
11 Days Ago
Update: BaseRaidBench - disable camera shake and hurt effects Tests: ran the scene
11 Days Ago
Update: Add BaseRaidBench to build scene list and mark it for maps bundle - Also removed the nuked Foliage scene - forgot to clean it up Tests: none
11 Days Ago
Update: BaseRaidBench - unblock pooling Takes the edge off halfway through the benchmark, but initial 5 seconds are still rough. Tests: ran the scene
11 Days Ago
Update: BaseRaidBench - reposition camera to above the circle Tests: ran scene
11 Days Ago
Bugfix: BaseRaidBench - fix NREs by loading game manifest on start Tests: ran scene
11 Days Ago
Update: BaseRaidBench - players now animate and produce muzzle flashes Tests: ran the scene
11 Days Ago
Bugfix: BaseRaidBench - track weapon cooldown properly - also account for animation delay for weapons that have it The benchmark is now much more tame. Tests: ran the scene
11 Days Ago
Update: BaseRaidBench - stagger initial weapon cooldowns More realistic, and avoids spiking specific frames Tests: ran scene
11 Days Ago
Update: BaseRaid - emulate rockets and grenade movement Tests: ran scene, player is blasted to high heaven
11 Days Ago
Update: BaseRaidBench - use projectile specific velocity Tests: ran scene
11 Days Ago
Update: BaseRaidBench - weapons now use their respective projectiles instead of rifle bullets - EffectLibrary can return GameObjects now Tests: ran the scene. Server-side projectiles need further massaging (as there's no server)
11 Days Ago
Update: BaseRaidBench - implement firing cooldown At least now frame time stabilizes around 150ms. Tests: ran the scene.
12 Days Ago
Update: BaseRaidBEnch - wip shooting Since there's no firing cooldown, 100 players shooting every frame lags a ton Tests: ran scene
12 Days Ago
fixed potential break in TraceWaterRays/TraceWaterSpheres logic that would cause casts to miss water traces if an earlier one had hit the max number of colliders
12 Days Ago
sharing more data between batched projectile effect processing - only accessing transform pos/rot once per projectile and only checking retrieving local player entity data once per batch
12 Days Ago
Bugfix: BaseRaidBench - this is no longer nude beach Tests: built C+S and C-only, ran the scene
12 Days Ago
Update: BaseRaidBench - simulate client flow - use a fake client backend and a dummy connection Fixes players not facing the target, but breaks player clothing for what-ever reason. Tests: ran scene
12 Days Ago
Update: BaseRaidBench - wip weapon aiming - Weapon debug graphics confirm aiming direction - Player model doesn't face the right way (need to run client updates, that's next) - added benchmark-related safety checks in local client logic This also hijacks main camera, I'll have to fix that later Tests: ran the scene
13 Days Ago
Bugfix: BaseRaidBench - make sure weapon flags are synced with held state Tests: ran the scene
13 Days Ago
added Projectile.UseBatched ClientVar to switch between serial and batched tick for projectiles
13 Days Ago
Update: BaseRaidBench - give players projectile weapons on spawn For what-ever reason, doesn't appear in hands(instead on back), despite being reported as "held". Still investigating Tests: ran the bench scene
13 Days Ago
Jobified trace-testing in HitboxSystem, also replacing local NativeArray helper function with existing Expand static extension
13 Days Ago
corrected InitializeVelocity on projectile to keep Projectile performance test consistent between runs (increased run-count)
13 Days Ago
Optim: reduced unnecessary Transform reads in batched position/rotation update, also added AddRange(BufferList<>) function to BufferList to change to that for marginally faster loop speed Test: consistency tests passing with serial using old method still
13 Days Ago
Update: BaseRaidBenchmark - adjust the camera positioning to get the full circle in view Tests: ran the scene
13 Days Ago
Update: BaseRaidBenchmark - players are visible and dressed Tests: ran the scene
13 Days Ago
New: BaseRaidBenchmark - stress test client via a raid scenario - Doesn't do much, just ground framework Tests: ran the scene - saw players spawn (but not their visuals)
13 Days Ago
Update: World Setup Benchmark -> BiomeBenchmark World Setup rename - replaced default params on BiomeBEnchmark with placeholder to indicate they don't do anything Tests: none, trivial changes
14 Days Ago
Clean: Refactor free-slot searching logic Hope is to make it harder to mess up index calculation when writing more code of this style Tests: GamePhys unit tests + projectile consistency unit test
14 Days Ago
Added extra sanity checks to projectile consistency testing
14 Days Ago
Tests: GamePhysics.TraceRrays and TraceSpheres coverage Wasn't covered previously which led a bug slip in. But has already been fixed. Tests: ran it with bugfix revwerted - failed(as expected). Reapplied fix - passed
14 Days Ago
added missing effects update on batched projectiles and retiring into the prefab pool
14 Days Ago
clear static test field in pet-test teardown
14 Days Ago
Clean: simplify previous bugfix Tests: ran the unit test
14 Days Ago
Update: Projectile.TestConsistency now checks for number of phys commands issued Tests: unit test passes
14 Days Ago
Bugfix: Projectile.TestConsistency - when substepping movement, use the right trace result Tests: consistency unit test now passes
14 Days Ago
Bugfix: TestProjectileEntity now works in C+S Tests: ran the previously failing unit test
14 Days Ago
Bugfix: Projectile.Batch - don't over-simulate prjectile when reacting to a hit/ricochet Also noticed serial test vs entity is failing - will fix next Tests: single-projectile-batch test passes, but the whole batch fails
14 Days Ago
Update: ProjectileTests.TestConsistency - debug code to isolate projectile Still fails on 520, but now with different results(proj moves, but different height). Tests: ran unit test - fails (expected)
14 Days Ago
Update: ProjectileTests.TestConsistency - rewrote logic to run both serial and batched in one test - Removed old serial validation logic - Renamed PerfSerial test to Performance (since it also runs batched variation) Detects an issue currently, investigating. Tests: ran the new test - fails (kind of expected, but still suspicious)
17 Days Ago
Update: TestLineOfSightBatched A lil cheeky 44k raycasts test. Missing the actual batched query impl. Tests: ran the test - failing as expected
17 Days Ago
cached native allocations, batched projectiles now save between 30% - 50% of the runtime compared to serialized in performance tests (gains increase with projectile count)
17 Days Ago
Update: GamePhysics tests - move box grid creation to individual tests Avoids polluting the world for other tests(problem for LineOfSightBatched) Tests: ran the updated unit tests
17 Days Ago
Update: GamePhysics tests - spawn ignore volumes per tests Tests: ran the 3 affected tests - they pass
17 Days Ago
multiple significant fixes to GameTrace, new Projectile and GameTrace tests are passing but seeing a slight differences in projectile counts with performance test that's indicating some untested edgecases
17 Days Ago
Update: TestTraceAll - don't spawn Terrain boxes We already have terrain at the bottom of the ocean Tests: ran TestTraceAll
17 Days Ago
Tests: new GamePhysics tests - TestLineOfSight - Also making craggy loading in unit test stable by applying same fixes from Test.Projectile No batched variant as we haven't implemented it yet Tests: ran the new unit tests
17 Days Ago
Tests: new GameTrace tests - TestsTraceAll and TestsTraceAllBatched TestTraceAllBatched is currently failing, as it's wip Tests: ran new unit tests