Hey,
Perhaps some of you have played Plazma Burst: Forward to the Past and Plazma Burst 2, or, honestly, I can see how most of you could have only seen JelloTetrix out of all games I have worked on X_x
If that is the case - maybe I'll get you interested with this post.
I recently saw a sad reaction under my previous Plazma Burst 3-related post so I was wondering whether you guys actually know where to follow development updates for Plazma Burst 3 that I am actively working on. But, fairly, you guys probably just wondering why it takes so darn long to make a game that isn't even a new Mortal Kombat.
Anyway, why not post what I have managed to do in past 30 days here?
Development update January 8, 2024
tl;dr
Started working on hint-like messages, added jetpack navigation for AI players, allowed players to use grappling hook while in vehicles. Also implemented tactical pings that AI players can listen to (as well as your future multiplayer teammates).
Interface
- Fixed an issue causing crosshair to not expand on railgun reload;
- Fixed an issue causing some keys to work on loading screen;
- Main menu background corrections;
- Loading screen corrections;
- Started implementation of hints (similar to PB2 hints but will be more flexible), added multi-line support for messages;
- Added custom color support for hints;
- Fixed a bug causing colored multi-line text in hints to be not centered together;
- Implemented support for gradient-edged windows, used one for warning-like hint backgrounds;
- Fixed an issue causing hints to appear in top-left corner whenever Level Editor is open;
- Made it so hint text is aligned by the left side if text started to take more than one line;
- Implemented message blobs (that are technically a sub-type of hints now) floating over players;
- Implemented arrow following the player for message blobs;
- Implemented hint-like object stacking on top of players;
- Fixed an issue that was causing text blob arrows to appear twice as opaque (because of arrow "window" polygons overlapping, fixed by swapping triangulation order);
- Implemented collision & push logic for hint-like object stacks on top of players;
- Made it so message blobs can be put into global hint-like object containers at the both bottom and top of the screen (in case someone will want to try making a visual novel-like map?);
- Made it so floating hint-like objects are not affected by camera shaking and react to camera zoom properly;
- Added message blob shrinking if line is short;
- Fixed a bug that was causing short hint-like object stacks to push each other away indefinitely;
- Fixed one-frame-long in-world hint-like objects shift whenever player receives control of a new character;
- Made it so message blobs are darker when made for eliminated players;
- Made it so all kind of hint-like object can be put anywhere (either in top/bottom global containers or on top of any ragdoll);
- Made it so stripes on warning-like hint are not dependent on where window is shown on screen but have slow local offset increase instead;
- Made it so message blobs that are put into global top/bottom containers append the nickname of ragdoll they are related to;
- Made it so message blobs can be colored;
- Implemented dynamic text altering for hint-like objects, fixed an issue causing text opacity reset;
- Made it so multi-line text word wrapping logic does not count color markup tags;
- Made it so words that are longer than 20 symbols are forcefully word wrapped at any point;
- Fixed an issue causing warning-like hints to have offset whenever they are placed on top of players.
Multiplayer
- Added keyboard event counter synchronization so events like weapon/grenade scroll are more reliable in Multiplayer mode and especially in bad connection conditions (tested with 90% packet loss);
- Fixed an issue causing delta compression to not work for client-generated network snapshots (~2 times less data sent to server, especially when idling);
- Removed outdated event types;
- Added TCP connection support but, honestly, it is not worth playing like this. It might remain as a proxying feature in case if player or admin would need it for some non-gameplay related things. It does not seem to suit gameplay since server does require clients to send input data as frequently as possible and TCP connection can't give that (client/server can't send new data until previous data has arrived). In addition to that - it might be a bit too much data for main server to proxy;
- Fixed an issue causing loading screen to not appear on repeated connection to match server;
- Removed auto-disconnection after 10 seconds of connection without level loading being complete as it might be just a big level to download or slow connection on client-side. Replaced it with Escape key cancellation;
- Fixed an issue causing client to not disconnect whenever chat service reports host disappearance (TCP connection case);
- Fixed a physics performance degradation whenever broken "T" entity appeared on client's screen;
- Implemented packet delivery fail error handling (TCP connection case);
- Fixed a server crash that could happen as a result of disconnected player's port-nade teleportation;
- Fixed a wall search optimization bug that was causing re-appearance of destroyed walls;
- Fixed an issue that would let players to visually walk on top of non-existing Hound Walker-CS cannons if there was a packet loss;
- Fixed a bug that was causing grenade scrolling to desync between server and client, especially if there were packet losses;
- Fixed an issue causing player to instantly throw grenade on second connection to the server if player has thrown any on first connection;
- Fixed an issue causing client to not be able to ever reconnect to the same server if client's PC rebooted due to hardware error or game process was terminated;
- Fixed an issue causing interface flickering when certain gun was being used in Multiplayer;
- Fixed a bug with certain gun being stuck at 99% charge due to ammo information update happening when gun held by real version of player has changed it state but using ammo values from gun of speculative version of player;
- Fixed a bug causing certain gun to reach 107% and more charge when client had high latency;
- Fixed a charge spike for certain gun that happened due to speculative version of player being recreated without inheriting weapon ammo information;
- Fixed differences in how sound effects work in singleplayer and multiplayer if they need to take timewarps and underwater effects into account;
- Made tactical ping synchronizations;
- Fixed a bug causing tactical ping to be seen by enemies in multiplayer;
- Fixed a bug that was making client & server to constantly send each other 2 almost empty yet pointless messages in addition to snapshots (reliable message groups which were empty most of the time).
Gameplay
- Fixed an issue causing admin energy hook to be destroyable with explosions, lava and shields;
- Made it so grappling hooks are no longer broken when players enter vehicles;
- Made it so grappling hooks won't attach to vehicles that are currently driven by grappling hook's owner;
- Made it so grappling hook can not be launched from some types of vehicles;
- Made it so admin energy hook can be launched from all vehicles and won't collide with owner-driven vehicle;
- Made it so grappling hooks are attached to character's hand rather than pelvis;
- Made it so player can't grab with hands and hooks onto other players that have specific effect that is making them completely frozen in space and time;
- Fixed an issue causing characters to constantly lose stand status whenever character stands on multiple walls at the same time;
- Optimized character stand logic for worlds with too many active idling characters;
- Optimized weapon picking up logic for worlds with too many active characters;
- Added memory freeing for cases when player started playing on simple level after playing on complex level;
- Fixed a crash whenever antigravity was broken but was affecting some projectiles;
- Made it so almost all grenades can be frozen (yes, port-nades too);
- Made it so certain gun would not let players fly into space indefinitely;
- Made it so AI objects are not recreated whenever character is switched. AI objects are simply disabled now whenever player is controlling same character. It should allow keeping AI configuration without overriding it;
- Fixed a bug that was making AI characters not see big characters because they could not locate their waypoint;
- Made it so AI would turn of their jetpacks if they happened to activate it randomly by jumping mid-air;
- Made it so it can not be possible to spam jetpack denial activation sound whenever jetpack is out of fuel;
- Implemented trigger release logic for AI whenever they try to use hold-to-charge weapons;
- Made it so AI can measure damage of hold-to-charge weapons which otherwise would appear as non-damaging weapons from AI's point of view;
- Fixed an issue that was causing AI players to continue swimming (and holding X) on land if they were forcefully pulled out of water;
- Implemented simple jetpack navigation for AI using drone pathfinding AI;
- Implemented AI player following logic;
- Implemented AI commands (attack enemy, go to point, follow me) via tactical ping. So far it is bound to F1 by default and these can also be seen by multiplayer teammates;
- Fixed an issue causing AI player to try to build path from point where it has been before using jetpack rather than where he has landed, resulting into AI player idling;
- AI bugfixes;
- Made it so tactical ping works more reliably whenever player aims not precisely enough at any specific AI waypoint;
- Made it so tactical pings can be seen offscreen, turn smoothly when transforming from offscreen to inscreen state and expire at different speed depending if they can be seen onscreen;
- Made red version of tactical ping when player runs ping on enemies;
- Implemented tactical ping range and rate checks against cheating (will implement better detection that won't target invisible and never synced player later);
- Added arm gesture whenever player tactically pings at something (it is the only way to see who is doing this ping in multiplayer mode);
- Made it so tactical ping sounds are not affected by timewarp areas;
- Made it so color forcing in nicknames is an option of a team which player is part of.
Visuals
- Made grappling hook folding visually appear more correct whenever players is moving towards any direction;
- Fixed grappling hook issue that was causing rope to have polygonal bruise near arm, especially noticeable with transparent hook types;
- Some shader optimizations;
- Fixed memory leak caused by fake shadows;
- Particle optimizations, added particle update cancelation if it happens to take too much time to process;
- Made visuals for AI commands;
- Fixed an issue causing grappling hook rope to be occasionally drawn not starting at the position of player's arm when pulled with force (physical arm does not match visuals in this case);
- Fixed an issue causing rope of grappling hook to be completely invisible when player rolled up the grappling hook to last segment.
Sounds
- Made 2 sounds that are played whenever command is given by player;
- Improved hint appearance/disappearance sound effects slightly;
- Made 3 sounds for warning-like hints.
You can see video for this development update on my Patreon page, sometimes there are also ~30 seconds previews for video posts. I do post there on monthly basis.
Thank you for your patience and support ~
--
Eric Gurt