Development update - October 8, 2024 (Patreon)
Downloads
Missing 1 video, as this post has not yet been imported.
Content
More work towards settings actually having effect on how game runs, seemingly finished Corvette logic, added plenty of settings for Skin Editor that could alter characters in a more unique ways and bring back legs being a more vulnerable spot of Falkoks.
I have also started work on Plazma Burst 2 to HTML5 + JavaScript port. I assume that it won't take much time and won't distract me from working on Plazma Burst 3 (Porting earlier build of PB2.5 from Flash took me about a month, thus I think it won't be too bad in case of PB2).
Goals of this port are:
- I don't see Plazma Burst 2 holding players despite new accounts being created regularly (multiplayer has 0-10 players online on average);
- Plazma Burst 2 Flash performance is very poor (I have about 10 FPS on Flash version and 60+ FPS on port I'm working on);
- Plazma Burst 2 campaign mode is rather frustrating due to bugs (rope, walker stucking, AI are twice as good on 60 FPS setting, timewarp isn't a choice for everyone yet players actually need to use it. Making an optional alternative to it could be nicer);
- Players don't really want to trust executable files. Web version could be just better;
- Port gives much more control over optimizations and debugging - would not be able to fix rope this well without these actually;
I plan to publish PB2 port once I add some sort of code obfuscation just to make it harder to cheat once multiplayer will be added. But then I'd like to experiment with letting players lock their multiplayer matches from free-to-play/low account level players, which might or might not be the best protection from cheating.
Skin Editor
- Fixed a bug causing skin ID collision due to temporary replacement due to lack of downloaded skin file;
- Added drone sounds to the list of voice presets so they could be used for custom skins;
- Made it so collision preview doesn't show non-existing physical parts that are reserved for breaking spine case;
- Made it so skin model selection for each body part shows this exact body part version of skin preset option rather than their heads;
- Added damage multipliers for each body part;
- Added collision scalers for body parts;
- Added mobility as part of skin;
- Changed movement and leg IK logic so it handles custom leg collision radius scaling properly and legs still touch the ground;
- Added per-damage type damage scalers of types: projectiles, explosions, impacts, radiation, liquids. So, for example, it is possible to make creatures that are invulnerable to anything but radiation.
- Added character mobility setting.
Level Editor
- Added "force skin limitations" with corresponding pop-up message that appears about impossibility of altering some of locked skin's properties whenever skin designer tries to alter them;
- Optimizations for object property interpreting;
- Added support level scripting-created custom bars (top left corner) that are assigned to specific ragdoll rather than player connection. Should make it possible to implement slow-motion ability purely via scripting as well as allow similar abilities created by custo maps designers;
- Made it so custom bare kept incorrect pointers occasionally;
- Scripting has access to timewarp scaler at certain point/for certain body now;
- Made it so scripting has access to timewarp areas.
Gameplay
- Any hit towards small entities like turrets, antigravity fields and drones plays critical damage effect now;
- Made it so frozen drones fall down;
- Made it so frozen drones do not play loop sound;
- Made it so freezing affects a weapon that is held by frozen entity visually;
- Made it so metallic characters play metal friction sound effects;
- Made it so Corvettes are broken into multiple parts upon destruction;
- Fixed speed of scaled-down Corvettes;
- Fixed a crash due to an attempt to play death sound after ragdoll was removed;
- Made AI for Corvettes;
- Added logic for Corvettes to attack back their last attacker (characters and ragdolls);
- Moved Corvette activation sound to their AI awakening;
- Added wall dodging for Corvettes whenever there is no line of sight towards their targets;
- Made players leaving Corvettes to be less lethal to players;
- Decreased recoil for some of S-entities;
- Fixed S-entity coloring problem;
- Fixed glowing spot on texture of TGS FttP vehicle;
- Implemented skin damage multiplier logic for case of explosion damage;
- Implemented skin damage multiplier logic for case of impact damage;
- Implemented skin damage multiplier logic for case of radiation damage;
- Implemented skin damage multiplier logic for case of liquid damage;
- Implemented skin damage multiplier logic for case of toxic cloud damage;
- Optimized bone to sprite lookup of ragdolls;
- Implemented character mobility (technically it is just a multiplier to walk speed, jetpack acceleration and recoil/knockback from weapons/projectiles);
- Made it so characters move their limbs slightly slower in case of high mobility;
- Fixed a crash related to lens flares not being able to work with lava pools;
- Made it so bullet shells are rotated initially;
- Small rendering optimization;
- Fixed a few small memory leaks related to ragdolls keeping pointers towards deleted sprites and guns keeping pointers towards their muzzle flashes and shadow objects after removal;
- Re-implemented low settings version of explosions and made it look much closer to volumetric explosions;
- Implemented smooth frame transition for low quality explosions so they can look much better in slow-motion and in case of smoke clouds;
- Made it so smoke layer of low quality explosion is shaded with world shadowmap & dynamic lights;
- Fixed a bug causing low quality explosion to skip animation during vanishing in case of being used as smoke cloud;
- Implemented a robust way to mask low quality explosions near walls (previously it had binary opacity);
- Added random flips and rotation to newly made low quality explosions;
- Adjusted opacity in case of freeze/flame explosions for low quality explosions to match volumetric explosions opacity;
- Decreased amount of dynamic light generated from explosion-created hotspots, especially if area near explosion has too many walls;
- Made it so low quality explosions rely on frame number passed to shader rather than getting a UVs update for a whole geometry. Made it so shader is discarded outside of explosion UVs;
- Added reachability tracing for low quality explosions;
- Made it so low quality smoke sprites still cover legs of characters (they weren't doing it due to smooth masking);
- Made it so low quality explosions can be pushed by movables;
- Fixed a bug related to particle collision optimization that has caused decal quantity decrease on background walls;
- Added edge lookup optimization on attempt to find the closest edge of a really complex wall (over 100 points) which improved particles performance when colliding with big cave-like wall;
- Fixed a bug causing screen-space distortions to stick to screen whenever game is in pause state but camera can still move around;
- Fixed screen-space distortion bug that caused incorrect screen-space distortion grid offset on certain quality settings (and low quality explosions since they use these to create smooth masking);
- Fixed a bug causing S-entity to lose glowing layer.
Interfaces
- Contacted plenty of artists, requested artwork for loading screen from one of them (artwork creation is in progress);
- Made it so texture quality option from Settings has effect on the game;
- Added even higher level of details for explosions as option;
- Made it so particle quantity scaler from Settings affects game (it also makes particles larger instead);
- Added quality option for screen-space distortions from explosions to Settings;
- Made it so screen-space distortions option changes how they look like live without a need to restart game;
- Made it so entity shadows option from Settings has effect on the game;
- Added option to enable/disable optional 3D rigidbodies (wall/vehicle debris);
- Added option to enable/disable dynamic lights;
- Made it so particles can be completely disabled via Settings;
- Made it so bullet holes and hotspots can be disabled via Settings;
- Made it so water reflections can be disabled via Settings;
- Made it so water animations can be disabled via Settings;
- Made it so performance metrics option has effect on whether performance/network graph is shown;
- Made it so performance graph is always shown when Settings screen is open and moves to the top of it;
- Added option to show on-screen keyboard (non-interactable so far only);
- Added Shift and Tab to on-screen keyboard;
- Fixed an issue causing main menu appearance animations to prevent button color changes on clicks.
Multiplayer
- Implemented synchronization logic for Corvettes;
- Added synchronization state sync for Corvettes.
Sounds
- Made metallic friction loop sound effect (1).
Plazma Burst 2 HTML5 + JavaScript port
- Started working on JS + HTML5 port;
- Added spritesheets caching for specific colors because .filter usage tanks performance;
- Added skies;
- Fighting Adobe Flash CS6 export bugs and inconsistencies;
- Fixed arm segment rotation being incorrect;
- Added proper game scaling;
- Added reuse of frame objects in spritesheets if all properties are equal to previously added object, could save a bit of memory;
- Fixed rail effect shifting by the end of animation playback (Adobe Flash CS6 export bugs);
- Fixed an issue causing Level 41 being unable to play sound "test_sound" from library once elevator goes fully down;
- Fixed switch spritesheets not having blink animation on switch press;
- Fixed a crash that happens if player kills usurpation soldier on Level 2 (c1a) right after door was open. Something with audio callback;
- Made sure campaign levels do not cause any crashes;
- Re-added switches and explosions;
- Made non-regular explosions by recoloring regular one;
- Fixed water visuals;
- Re-added lens flares;
- Added guns (campaign guns);
- Added cursor;
- Added barrels;
- Fixed antigravity decoration animations;
- Fixed sniper rifle;
- Fixed shield grenades for impossible mode;
- Disabled first click ignoring if game wasn't paused and the player just Alt-Tab-ed out of it;
- Fixed Tab key;
- Fixed OICW crash and it not firing in burst mode. Fixed minigun not spawning. Fixed m4a1 not spawning. Fixed glock not spawning;
- Adjusted volumes for most voices lines. Slightly changed Silk lines;
- Fixed trigger logic error in Level 41;
- Fixed huge memory cost of lamps. Campaign levels and fanart2019 map can be loaded in about 200 ms;
- Implemented hash-map atom-atom collision optimization;
- Added rest of animated decorations;
- Added atom-wall and projectile-wall optimizations;
- Made it so event listener model isn't relying on recursive search of objects that have these event listeners on each frame;
- Fixed a bug causing Level 40 to have bright line at one of the doors due to backgrounds colliding here but not overlapping (I have left map unchanged, I changed lightmap generation instead to keep any other maps compatible);
- Fixed a bug causing falkok ship to have antigravity fields going into the ground after the impact on Level 40;
- Re-added cursor hint text. Added shadow filter;
- Fixed mouse wheel not working;
- Fixed a bug causing hint text to be scaled with cursor;
- Re-added animations to projectiles that had it;
- Reworked rope physics and added trajectory line where player expected to go on release;
- Made walker stuck less on geometry in campaign level;
- Re-added vehicle sprites.