Development update - March 2, 2023 (Patreon)
Content
Gameplay
- Added shadows under background trees;
- Fixed eventual rain particles disappearance bug;
- Made background walls stop background rain;
- Fixed bug causing grappling hook length change sound to remain played if rope was cut;
- Removed grappling hook break sound on world restart;
- Fixed issue causing swords to sometimes appear at zero coordinates;
- Implemented climbing prevention logic whenever player tries to jump on top of a wall and he is clearly capable of reaching it with his legs;
- Reworked charge sound for one of previously shown new guns (T);
- Implemented internal system to control environmental sounds such as fire, friction, rain, lava etc. These volume and pitch depends on how much sound sources/volume there are on screen. Meaning rain will become more quiet indoors and amount of lava sound will scale with how much lava there is on screen.
- Made player friction to play sound effect;
- Added self-boost recovery whenever player holds on ledge;
- Fixed bug causing rain particle amount scale with how far camera was in Level Editor;
- Added seen lava volume calculation and sound playback;
- Made lava break grappling hooks;
- Made it impossible to initiate and cancel multiple grappling hooks to boost indefinitely (players have up to 3 quick charges that recover slowly);
- Fixed bug that caused some hand holders to be not removed together with a wall they were part of;
- Fixed bug preventing rain from being stopped when player leaves match/map to menu;
- Prevented lava & water splashes outside of screen in order to optimize large pools of lava;
- Added rate-limiting for out of ammo sound of energy-based ammo styles;
- Implemented weapon and grenade drop settings on per-character basis. It is possible to make guns disappear together with character (perhaps like in PB:FttP grubs?) or make them drop whenever character can be no longer revived (PB2 campaign);
- Fixed bug preventing previously working overheat logic to work in 2 new guns (D and F);
- Disabled weapon overheat cooldown in lava and zero gravity areas;
- Fixed bug causing new gun (D) to play out of ammo sound all the time;
- Reworked game loop so game will have more up-to-date input;
- Fixed bug causing bleeding particles to spawn at zero coordinates whenever player loses limbs while burning in lava;
- Fixed audio bugs related to game loop rework.
Level Editor
- Fixed crash when entering blueprint mode;
- Fixed crash due to lack of ground surface;
- Added trigger live demo support right in Level Editor;
- Fixed sound playback issues not being properly reported in Level Editor;
- Added sound stop button to triggers (useful when testing looped sound playback);
- Added support to play custom looped sounds with different modes (ex: flood, normal, gameplay, gameplay speech, UI, atmospherics, music). Different mode volumes can be controlled by player and they do react differently to game speed and time warp areas;
- Fixed bug causing improper bracket counting in level code.
Sounds
- Made loop sound of players sliding;
- Made loop rain sound;
- Reworked magazine injection sound of one of new never shown gun (D);
- Reworked double-jump sound;
- Made sound of impossibility for shoot for some energy-based weapons.
Multiplayer
- Implemented sync of lack of ammo sound of some energy-based weapons across different network settings;
- Implemented universal method to play sounds locally (no ammo sound, sniper rifle clicks);
- Crash fixes for cases when walls are being destroyed on server;
- Implemented send rate limiter for large amounts of data coming from server to newly connected clients (perhaps it could be useful if server does not have unlimited network speed, otherwise it could damage experience of already connected players);
- Fixed bug causing offscreen culling logic to prevent loop sound positions from updating for clients;
- Fixed bug causing sniper rifle's full reload sound to be not played occasionally;
- Implemented visibility of guns of downed players if they have setting that makes them keep guns even if they are unconscious but can be revived;
- Fixed bug causing held guns to disappear for a single frame whenever character goes from alive to dead;
- Fixed bug causing downed players to sometimes play friction sound (turns out client thought downed player was actually alive and he was actively trying to get up on client's game);
- Finally fixed a serious bug causing network issues (connection disappearing for few seconds) whenever client tries to drag ragdolls nearby other complex stuff - it is solved now;
- Added reporting of unreliable packets (only if they happen to be in a range of relivable packets) so range arrival report syntax can be used more effectively (since range reporting logic was never kicking in due to reliable messages being usually in-between unreliable messages). It will make clients send even less data to server;
- Implemented a lot of extra optimizations but most of them turned out to cause more time spent on packet analysis which turned out to be worse than having slightly larger packets, especially since previously mentioned serious bug was not related to packet size;
- Added option to disable speculative collisions (guns with walls, grenades with walls, players with walls) as it can save some performance on client-side;
- Fixed bug causing some timed loop sounds (for example jetpack) to be played at previous position during single frame on client-side;
- Implemented automatic internal sound effect alias name generation so it could be used in multiplayer snapshots and will be unlikely to intersect with wrong sounds across different versions of a game - these will be used to decrease snapshot sizes;
- Enabled player nickname analysis and catching in network snapshots.
Interfaces
- Match browser table column on top of join buttons no longer plays mouse-over, mouse-out and click sounds;
- Fixed bug causing leaderboard to appear in top-left corner rather than centered for a 1 frame occasionally;
- Fixed quite hard to track bug that caused top-left player HUD background to disappear for absolutely no reason on some devices whenever Escape menu is shown.