Development update - October 31, 2022 (Patreon)
Content
https://www.gevanni.com/projects/pb3/VirusGrows.mp4
Made a video of me throwing virus grenades into a small water pool. Basically something that exists in Star Defenders 2D but with higher level of details. I'm still not fully certain it will be in a final game (at least they might not grow to this big size) but this gameplay mechanic seems interesting none the less. Video contains viruses, blood dissolving in water, random glass breaking, grenade launcher reloading (magazine lies on the invisible background wall that is automatically made in foreground) and a bit of shotgun reloading.
Other than that - did more bugfixes, improvements and polishing. Completed network sync logic for new entity (S) including that boss variant I've shown on July 28, 2022.
Fixed some really hard to catch bugs that would prevent replays from syncing and properly showing hits and other important in-game events randomly.
Level Editor
- Circle, vector and point objects are now shown with appropriate shapes rather than just rectangles;
- Added saving of Level Editor current settings to a map itself as well as implemented option in Settings to either always load settings from maps or load from Settings page. There is also an option to only load settings from owned maps as well as always reset settings when Level Editor launches;
- Added saving for resizable window sizes (right panel and structure list);
- Added saving of camera position and camera zoom;
- Made caption "No objects selected" visible whenever Level Editor is launched;
- Fixed bug related to double clicking Revert button - it caused in-game entities to be recreated whenever Preview mode is active. Now it tries to find each of same objects and connect logical and preview objects whenever earlier version of map is loaded instead;
- Made it so Entity bounding boxes are cached from spawned entities and not updated all the time when map Preview is not stopped.
Gameplay
- Fixed magazine masses for some of old weapons (gun_gl, gun_plasmagun) and one new weapon so it is not as heavy and loud when they fall;
- Limited maximum frequency of flips for new entity (C) that was made for quite a while;
- Added more visual details to a new entity (C);
- Limited overshooting during turning for new entity (C);
- Added better freezing logic for new entity (R);
- Made character voices unpitched in slow-motion areas since it will likely sound bad (ex. Proxy voice doesn't sound good when slowed down);
- Fixed bug causing too fast breathing (face animation) of dying characters;
- Made it so camera shaking is also slowed down in slow motion areas;
- Reworked grappling hook interface so it is more obvious on how to use it;
- Added target picking for new entity (S);
- Removed arm damaging overheating of new weapon until it reaches minimum charge (minimum charge duration changed with new sound's duration);
- Fixed issue causing new boss entity (S) to not finish its' sequences whenever hunted player is too far;
- Limited maximum jump speed for new boss entity (S);
- Fixed missing legs bug caused by player instantly teleportation and freezing in place right after player stopped driving specific vehicle;
- Made it so teleport grenade can't teleport players that are "stuck in place" due to one of new game mechanics;
- Made random hits towards behind-standing player impossible. It was possible because logically all bullets spawn at the shoulder and player that is standing behind can have its' arms in front of other player;
- Fixed bug causing entities that consist out of 1 rigid body to be unfreezable;
- Fixed bug causing rockets to explode any kind of grenade no matter how many hitpoints had grenade in comparison to rocket;
- Added tied version of sprite for non-activated virus grenades;
- Added 2-frame animated legs for virus grenades, added eye dots;
- Added blood sprays whenever virus grenades are hit;
- Virus grenades grow in water now, just like they do in Star Defenders 2D (in Plazma Burst 2.5/3 they are also playing "sip" sounds though);
- Virus grenades play alert sound, but once per group of nearby virus grenades within radius and 10-15 seconds;
- Virus grenades can swim in water now, though I might make different kinds of virus grenades be able to grow and swim in specific kinds of water (green could swim and grow in acid, blue could swim and grow in regular water);
- Decals from particles no longer spawn in water.
Multiplayer
- Fixed bug causing overflow of synced bullet holes synced for head whenever face animation changes;
- Fixed bug causing death animations to instantly stop due to attachment object loss that happens during face state change;
- Fixes and optimizations for position prediction logic that happens in order to compensate network data delivery delays;
- Width of beams is now synced - required by new boss entity (S);
- Fixed issue causing multiple loop sounds to be sent to clients whenever some loop sound gets completely quiet for a brief moment multiple times in a row;
- Fixed issue causing client to see fake inaccurate heavy railgun shot whenever players holds fire and switches from any weapon to a heavy railgun. Weapon switch timer was being reset to an outdated value;
- Implemented proper sync for new boss entity (S);
- Fixed global chat crash;
- Fixed critical bug causing lots of important events (such as hit particles, probably chat messages too) to be skipped during replay because of improper waiting for never sent events that happen in non-replay world;
- Added number rounding for fly-by event (less data to send);
- Fixed bug causing error whenever user double-clicks match to join;
- Made it possible to stop replays by pressing space (part of an alterable custom game mode);
- Made it so replays do not repeat previous replays (part of an alterable custom game mode);
- Fixed crash related to sync of a new gun;
- Made it possible to sync extra entity data prior to creation new boss entity (S) needs it;
- Fixed memory leaks that were happening due to dynamic lights being not added to observable array of lights after sync;
- Fixed bug causing no event callbacks whenever player falls into the void and gets silently removed;
- Finished synchronization of new entity, not only boss kind (S);
- Implemented face state sync.
Interfaces
- Done some artwork for match type selection screen (ranked, unranked, custom maps), though it might be not final still;
- Repositioned global chat in Multiplayer mode;
- Added context menu whenever global chat usernames are pressed;
- Added sound for global chat username hovering;
- Added sound for global chat message send.
Sound
- Reworked sounds for new weapon, multiple times. 2 sounds;
- Made sounds for new entity (C) that was made for quite a while but was mute until now. 6 sounds;
- Updated shotgun (gun_real_shotgun) sound so it can sound better during slow motion;
- Made sound for global chat message receive;
- Made sound effects for virus grenades. 4 sip sounds and 1 alert sound.