userDaniel Pcancel

3,118 Commits over 761 Days - 0.17cph!

1 Year Ago
Update: Move Building to it's own file Makes it accessible for benchmarking Tests: compiles in editor
1 Year Ago
Update: DemoBuildingsViewer - export base as a json file Going to see if it's enough to rebuild the base for the benchmark Tests: exported largest base from my demo
1 Year Ago
Bugfix: conditionally start bootstrap timer since it can be null Tests: none, trivial change
1 Year Ago
Buildfix: remove dead burst code and move job to namespace Avoids name mangling shenanigans Tests: build client locally
1 Year Ago
Update: enable batched projectiles and water checks by default in the BaseRaidBenchmark scene Tests: ran the scene
1 Year Ago
Update: add benchmark timer to SoundManager - replace magic values for timers with named consts It's chonky, so tracking it as well. Tests: ran the scene
1 Year Ago
Update: add benchmark timers to Projectile.Update and BatchUpdate Tests: ran the scene in editor, saw output
1 Year Ago
Update: Rewrite BenchmarkTimer to allow for accumulating time - Renamed API to make it clearer Tests: measured against a stopwatch in bootstrap loading
1 Year Ago
Update: BaseRaidBenchmark - lay down basic benchmark timer collection logic Will contribute to benchmark results, but right now don't have any relevant timers + need to rework how they are implemented. Tests: ran the scene in editor
1 Year Ago
Bugfix: DemoBuildingsViewer - fix missing walls - Manually pre-process prefabs to get around editor skipping preprocessing - Add an editor-only override for Facepunch.Instantiate to not treat gameobjects as prefabs - Gather building entities from all keyframes Tests: loaded biggest base from my cleint demo - matches how demo renders it
1 Year Ago
New: DemoBuildingsViewer(Tools/Demo Buildings Viewer) - utility to extract buildings from a demo and create a scene of them - Fixed VisualFoodSetting.PreProcess to nominate for deletion, instead of destroying directly Currently only looks at keyframe 0 to detect building entities, which doesn't seem like enough Tests: used a client demo from a release server to spawn a bunch of building scenes
1 Year Ago
Merge: from autoturret_optim - Fix server NRE during turret initialization for ones without RCEyes bone set Tests: spawned sentry.scientist.static(no RCEyes) and autoturret_deployed(with) - no NREs and still can control and shoot from autoturret_deployed
1 Year Ago
Bugfix: NRE during initialization of turrets without RCEyes set Tests: spawned sentry.scientist.static(no RCEyes) and autoturret_deployed(with) - no NREs and still can control and shoot from autoturret_deployed
1 Year Ago
Merge: from main
1 Year Ago
Merge: from main
1 Year Ago
Bugfix: unbork shooting from RC turrets - Recalculate where RC eyes are on the server Tests: remoted into a turret and shot in different directions - saw hits where expected
1 Year Ago
Update: Rewrite how we rotate turrets on server - Where possible, yaw and pitch rotations are merged, saving us on math (0.32ms) - Other cases are calculated separately (0.51ms, still faster than original 1.32ms) Updating of separate bones was fast but wrong in my last commit. This version corrects it while also being faster than pre-borked-optim. Tests: On Craggy, spawned sentry.scientist.static and autoturret_deployed, made them rotate to different directions - they were able to track and shoot me.
1 Year Ago
Update: AutoTurretTests.MeasureServerTick now checks merged and separate yaw-pitch bones Since separated bone transformations take more math, need to profile how big of an impact it'll be. Tests: ran the test
1 Year Ago
Bugfix: NPCAutoTurret now shoots when it's facing the target Caused by not implementing the same optimization as AutoTurret (while NPCAutoTurret depends on it). Tests: spawned `sentry.scientist.static` on craggy and became hostile to it - was shot within the whole 360 arc
1 Year Ago
Merge: from main
1 Year Ago
Hack: BaseRaidBench - avoid flooding audio manager During benchmark, we create too many audio sources and don't clean them up with default budgets - so we up them abit. Tests: ran the benchmark - no longer grinds at 3fps
1 Year Ago
Bugfix: BaseRaidBench - audio no longer missing This aligns it with running from game menu, so standalone editor runs now also struggle under AudioManager lag. Tests: ran scene + ran `benchmark BaseRaidBenchmark` from game menu
1 Year Ago
Update: editor benchmarking runs now consistently set benchmarking flag Tests: ran RaidBenchScene in isolation and all bench scenes in series - no exceptions
1 Year Ago
Update: add BaseRaidBench to the benchmark scene list Tests: ran the benchmark command - it did execute my scene, but also started lagging as heck
1 Year Ago
Update: BaseRaidBench - set batched mode as default for scene
1 Year Ago
Update: BaseRaidBench - restore global state at the end of the benchmark Tests: ran the scen
1 Year 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
1 Year Ago
Update: BaseRaidBenchmark - expose batching mode via component Tests: none, trivial change
1 Year Ago
Update: BaseRaidBench - disable camera shake and hurt effects Tests: ran the scene
1 Year 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
1 Year Ago
Update: BaseRaidBench - unblock pooling Takes the edge off halfway through the benchmark, but initial 5 seconds are still rough. Tests: ran the scene
1 Year Ago
Update: BaseRaidBench - reposition camera to above the circle Tests: ran scene
1 Year Ago
Bugfix: BaseRaidBench - fix NREs by loading game manifest on start Tests: ran scene
1 Year Ago
Update: BaseRaidBench - players now animate and produce muzzle flashes Tests: ran the scene
1 Year 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
1 Year Ago
Update: BaseRaidBench - stagger initial weapon cooldowns More realistic, and avoids spiking specific frames Tests: ran scene
1 Year Ago
Update: BaseRaid - emulate rockets and grenade movement Tests: ran scene, player is blasted to high heaven
1 Year Ago
Update: BaseRaidBench - use projectile specific velocity Tests: ran scene
1 Year 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)
1 Year Ago
Update: BaseRaidBench - implement firing cooldown At least now frame time stabilizes around 150ms. Tests: ran the scene.
1 Year Ago
Update: BaseRaidBEnch - wip shooting Since there's no firing cooldown, 100 players shooting every frame lags a ton Tests: ran scene
1 Year Ago
Bugfix: BaseRaidBench - this is no longer nude beach Tests: built C+S and C-only, ran the scene
1 Year 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
1 Year 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
1 Year Ago
Bugfix: BaseRaidBench - make sure weapon flags are synced with held state Tests: ran the scene
1 Year 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
1 Year Ago
Update: BaseRaidBenchmark - adjust the camera positioning to get the full circle in view Tests: ran the scene
1 Year Ago
Update: BaseRaidBenchmark - players are visible and dressed Tests: ran the scene
1 Year 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)
1 Year 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