Hello everyone!
This is a small update with a large focus on optimization. After many hours (and days) of work, I still haven’t reached the final performance target I want, but a lot of systems are now optimized, pooled, and should run much more smoothly overall.
One noticeable gameplay change is that enemies are now pulled back to their spawn point by a red dot (the spawner projectile) if they wander too far. This prevents all enemies from stacking into a single room and destroying FPS. It also fits the game visually quite well.
Gameplay Changes
Reduced enemy follow time after losing the player: 10 → 7
Reduced enemy speed-up timer wait time: 5 → 3
Reduced chance for enemies to start running: 50% → 30%
Ranged enemies now sometimes change their attack position
Reduced radius for calling other enemies: 250 → 150
Reduced player detection area multiplier: x4 → x3
Reduced enemy run speed: x2 → x1.7
Reduced enemy HP:
Ghosts: 20 → 15
Green enemies: 20 → 17
Vampires: 30 → 23
Skeletons: 65 → 55
Optimization
Preloaded OGG audio files instead of loading them at runtime (music changes frequently)
Added additional audio players for better streaming performance
Removed enemy-to-enemy collisions (players can no longer push enemies), reducing collision pairs
Reworked enemy caching using a sleep/wake approach
Pooled spark and uranium-part projectiles to improve late-game FPS
Pooled spawner projectiles
Enemies are now rooted to their spawn positions:
If an enemy moves more than 100 meters away, it is pulled back by the spawner
Bug Fixes
Adjusted the width of several UI buttons
Fixed blocked entrance in the first room:
Increased wall-building delay to avoid collisions with newly spawned objects
As always, thank you for playing and for your feedback. More performance improvements are still coming.
