In this update3
Full notes
Full Sipho update
Read the full published notes in a cleaner layout. The original post stays linked below.
Repeated intro
Hello Sipho society, we have an update!
What changed
- Gameplay
- Balance
- UI and audio
- Performance
- Fixes
- Store
Sipho changes
Bounce Mutation
Ever since the Mutation Creation Contest I've had this urge to implement a Bouncy Mutation. Many shoot-em-up games have this because bounciness is chaos and chaos is fun. You can land trick shots over corners, get surprised by enemy fire that bounces off or even create some Rube Goldberg machines. These are the ultimate goal of Sipho - a collection of mechanics that complement each other and allow creating complex systems for you to have fun with and beat the game.
A new Bounce Stat was added and a Mutation to go along with it
Thus the Bounce Stat has been added - as of now, only used by Projectile weapons - Flak, Sniper, Soul Eater and Sprayer. In the future other Zooids might support Bounce stat too, however, it can be trickier to balance as bounce can sometimes be non-beneficial.
One of benefits of having some Bounce is to guarantee your shots in tight areas. Now what do I use to reach that food?
For Projectiles Bounce works by keeping an internal counter of "remaining bounces". When a projectile hits a solid, non damageable object it checks if it has bounces left and bounces off if it does. If it doesn't - it dies as usual. This works with Obstacles and even with Spikes and Flails - projectiles can bounce off them!
Aquarium Obstacle Menu Overhaul
One of the silent and huge updates we had some time ago was updating Aquarium content. This was motivated by the need to tidy-up obstacle names for future game translations and update the old content in general. As a result we now have a pretty nifty spawnable object categorization with previews:
Notice the pleasing column/row ratio 😩👌
It is now also possible to change at which depth objects are spawned - on, below or above playable surfaces. In future, Decorations and Obstacles should become one category - as spawning Obstacles at non-collidable layers makes them Decorations and some Decorations can be interesting to collide with or even have some gameplay function.
Tooling, like changing depth or moving already spawned obstacles is also something I keep in mind.
Shady Business
One of graphical improvements that I really wanted to do for a long time were shadows.
Fancy name for a simple thing - blurry black outlines that get thicker if an object covers another object from higher distance.
Sipho action happens in deep waters and I really want to emphasize the atmosphere of this depth. While 2D by definition does not have depth we can do some tricks. One of which is parallax to add depth to lower layers - the deeper things are, the less they "move" when camera moves. This trick only works for deeper than playable layer. Playable layer can't have parallax as it would creation confusion around collisions. Higher layer in theory could have parallax, but it felt too distracting. So to add some depth emphasis on all layers at once I added Ambient Occlusion effect. It can be tweaked in Graphics Options for your liking!
There is some good stuff hidden in the patch notes - movement improvements, performance optimisations for late game, secret features.
Version 0.9.5f1
Add Tier 3 Projectile weapon bounce mutation
Use Factions to determine what Mutations UI represents
Remove separate debuff drag logic and use stat-baed logic for Muck - fixes spazzing out
Modify third Buginis Boss arena walls to have less sharp corners that Siphos can get stuck on
Add Bounce stat, icons, description
Skill use also gets queried in Fixed Update - fixes skipping input for fast skills when framerate is low
Cache Shell Grower results which greatly improves performance for Siphos with large amount of far-reaching Chitins
Add GetAllNeighborZooids variant with HashSet which has optimized search for Contains()
Destructible objects can be indestructible
Version 0.9.4f8
Experimental symmetrical building by holding Alt button
Handle single zooid sipho velocities better when trying to move
Update angular velocity after zooid rotations were updated - fixes incorrect velocities at frame-after-frame level
Add ZooidDeep layer and use it for Deep zooid. Deep is no longer affected by Pushers and Twisters. Deep collides with large obstacles
Mines no longer explode on contact with Consumables
Version 0.9.4f7
Puffer spike thicker
Fix Auto Grow messing things up
Detached/Reattached zooids can get callback
Tweak Tank movement to work with new movement logic
Fix Moss glitching out in certain positions
Fix deformed built-in Buginis Layout "Rapacious Buginis Pig"
Use simpler logic to remove detached Zooid connections when repositioning zooids - fixes moving pistons erroring out
Fix incorrect angular velocity calculation of Siphos when passing through 360 degrees - fixes stutter when turning in Tank movement
Add Consumption flag to skills and make enemies use them to reach food quicker
Enemies use skills if their skill zooid is in range to the target
Grid spawner debug
Remove Whirlpool spawners from Aquarium areas
Experimental PID movement - F11 toggles
Detach Polyp when teleporting Sipho
Fix audio sliders being 99% by default, not 100%
Update Megalocyst description
Rename zooid files to contain Zooid_ prefix
Version 0.9.4f6
Update Graphics Connector position when initializing - fixes Graphics Connectors appearing in wrong positions for the first frame
Handle Layout generation positioning when main sipho is at zero position
Polyps do not damage dead damageables - fixes an error spam
Align Polyp mover icon with base
Do not attempt growing new zooid again when ending growth - fixes growing new zooids twice at once
Version 0.9.4f5
Fix Head zooids costing nutrition when they shouldn't
Display Health Regeneration stat value correctly
Tweak Decoration Coral 3 vertex animation
Fix two custom spawning related bugs - Aquarium spawns and desspawns should now persist
Select Layout preview generator position even more robustly
Initialize Zooids with correct indexes - fixes Piston incorrectly expanding/contracting when spawned
Override main Piston connection with thicker looking connection and non-main with thinner
Zooids can have Graphics Connector overrides for directions
Version 0.9.4f4
Brighten up Main Menu postprocessing effect
Use campaign spawners for Aquarium areas
Fix whilpool pop when Area Clears
Separate Ancient Rock bottom objects from Rocks
Make deep connections stiffer and correct outline depth
Alien Rock Bottom desaturates with depth
Wacky workaround for not spawning extra empty spaces for Spawnable box
Better Aquarium spawn groups and their UI panels
Cell fitter now supports max cell count constraint
Tweak Obstacle names
Tweak Cooldown Recovery powerup icon
Move Environment Object Variant info onto the same component
Set Aquarium background grid depth to spawnable depth
Version 0.9.4f3
Alien rock bottom is an obstacle now
Projectile starting health is determined by Penetration
Get unseen position for Sipho preview generator
Cancel snapshot generation when leaving death screen
Holes always spawn things at zero depth
Fix Alien Rock Bottoms overlapping other objects
Rocky spikeball won't spawn in regular levels yet
Tweak boss battle spawn positions
Environment Object shader again has option not to write to depth - fixes some effects overwriting depth
Use RectMask in Aquarium menu instead of per-pixel mask
Fix powerup effects and add missing icons
Display depth tooltip when selecting depth in aquarium
Reorder some spawnables in Aquarium UI
Don't localize intermediate env object names
Don't spam instanceID reimports
Fixup Leech NaNs?
Add Spike ball
Do not localize instances of prefabs as they can have random names
Flower decorations
Report when new localization keys are added
Correct Deeper Rock depths
Reset currents scale when scaling parent object - preserves correct Z
Fix Currents visuals
Alien rock bottom decoration tweaks
Translations
Prepend to filename tool
Add more decorations to spawn in Aquarium
Cleanup decorations
Lava Rock tops correctly inherit from prefab
Add capitalize function to asset renaming window
Do not localize environment object names directly
Aquarium spawning groups up objects with the same name into expandable categories
More obstacle cleanup
More obstacle cleaning up
Aquarium spawn effect has correct depth and group up spawnables
Bump year in Main Menu
New year - reimport all prefabs
Intestines tweak
Correct Piston skill icon
Minion siphos are very angry
Do not include backgrounds to Cra'Than sprite atlas
Add Cra'Than and Buginis environment sprites to atlases
Fix incorrect environment object world position calculation
Aquarium spawns at Mid depth (Z=0) by default
Fix energy regen pickup effect clouds rotating and clipping
Reenable Deep outline
Skin flowers are nasty again
Fix flower 2 visuals
Always output top facing normals for particle sprites
Vertex anim support for environment object shader (shouldn't be used though)
More names fix
Correct Aquarium depth slider values
Revert translations
Obstacles now have variants in their names
Dither fix again
Add Toggle UI button - default bind F12
Advena rocks use correct depth-supported material
Add depth spawning assets
Add recorder that works
Polyp Zooid descriptions and visual tweaks
Ripple particles have no size limit - they were incorrectly clamped before
Version 0.9.4f2
Same
Identifyable database uses assset postprocessor to setup references
Fix Decoration dithering
Disable double buffered positions - rotation constraint needs to be fixed first to be sure this has no additional drawbacks
Don't overtiffen rotation constraint when entering growth mode - currently it has incorrect values, so overtstiffing it breaks physics
Revert to more stable soft body constraint calculation
Allow changing depth when spawning in Aquarium
Leech uses interpolated Zooid transform position for graphics
Make sure renderer clones are removed
Revert translations
Add Debug dump all mutations
Gather identifyables when building
Version 0.9.4f1
Tweak depth layers
Ripples do not sample from things that have higher depth
Add alpha/depth dithering
Make Advena head selection bottom rocks stay at the bottom
Use environment shader functions in depth normals shader to get correctly aligned depth values
Fix Buginis Boss first boss fight particles not being spawned when the fight ends
Reset projectile health when initializing launched projectiles
Move skillbind permutations away from localized strings
Translation cleanup
Use all caps font in Dive button
Add Recorder package
Constraint tester v2
Extract distance constraint function
Use custom shader for rendering depth
Tweak AO default settings
Add Ambient Occlusion setting
Render Ripples at Low depth - fixes ripples overallping collidable objects
Environment Objects and Ripples write into depth
Enable Ambient Occlusion in Postprocessing Profiles
Correct offset falloff and handle inverse orientation
Better constraint tester
Add perpendicular function
Use interpolated Zooid transform positions instead of physics positions when positioning Zooid Growth buttons and Growth Point indicators - fixes them being offset when Sipho is edited in high motion
Fix some nested particle effects getting incorrectly scaled
Support more debug vectors
Extract Rotation constraint calculation method for easier debugging
Apparently I could save one normalization in rotation constraint - more Soft Body Physics performance!
Soften up sentence for The Condemned One and allow it to be included in builds
Apply position and rotation offsets after constraints are calculated - fixes symmetrical builds with contracting muscle zooids spinning out of control
Source
Changelog.gg summarizes and formats this update. How we read updates.
