Sipho - Dominas
While busy with new level progression development we have released several small updates over the course of previous weeks. Version 0.6.5 was a small patch-release to solidify improvements for Layout creation and contest. Version 0.6.6 is coming out just now with few bugfixes and an improvement to Layout browser.

By popular demand and something we wanted to do for a while, Layout browser now has three tabs to choose from:
  1. Manually saved - the classic view you're all used to. Layouts saved in Aquarium appear here
  2. Autosaved - we autosave your Campaign Sipho as Layout in this category so you can dig-out builds that were used to beat the game. Sipho is all about creating and we want to save every drop of your creativity. We use this category to spawn NPCs in Freeroam and Aquarium levels - you might have noticed that you're battling former-self!
  3. Built-in - all regular enemy layouts that can be found in the game are in this category. After the Layout creation event ends your entries will be added to this category as well!
Reminder that Layout Design Event ends tomorrow, 4th of May, at 18:30 UTC - read more about the contest here:


Version 0.6.6
  • Move Layout name generator to its own class
  • Add autosaved and built-in Layout category to Layout browser
  • Fix loading game incorrectly if new game has been started in same game session
  • Convert button click confirm sound to ogg
  • Add button click effect reference
  • Fix game end UI not being fully disabled after hiding it
  • Options UI has button sounds now
  • Added an onClick sound
  • Fix shells not disappearing after death

Version 0.6.5
  • Fix one of Advena built-in layouts containing Cra'than head
  • Separate Zooid addition logic from Layout Entry addition
  • Fix slight rotational Layout deformation for first zooid grown which occured when Sipho had angular velocity by always synchronizing Sipho position
  • Use proper way to instantiate progress consumable
Sipho - Dominas
Dear Whirlpool Surfers and Aquarium Caretakers,
Sipho team would like to invite you take an opportunity to design Sipho Layouts and have them immortalized in the game!

We have been expanding underwater world of Sipho and now the time has come to start populating it. The future non-linearly traversable areas are in need of habitant designs for all breeds. Larger Saenus Beefuorus, tiny Advenas and both big and small Buginis, Crat'han and Vagorians - all will be encounterable in future areas. We could and will design many enemy Layouts ourselves, but we would like to ask for your help first and have your creations floating in Sipho world. Forever.

Layouts are data structures we use in Sipho to define what Zooids have been grown where. When you grow a new Spike or a Claw, your Layout is modified to resemble what you have grown. Something like a recipe to grow your Sipho. We can save and use Layouts to define enemies that you encounter in different areas or restore your Sipho when loading the game. Manual Layout management is possible through Aquarium game mode and that's where we will ask you to create your event entries.
How to enter:
  • Using latest version of Sipho and Aquarium mode take a screenshot of Layout you would like to submit. Feel free to modify the environment keeping Layout clearly distinguishable
  • Upload the screenshot to our Discord server's #event-entries channel with following formatting:
    **Name:** Name of the layout **Author:** Optional author name. Leave it out if you want to remain anonymous **Value:** Layout value - shown at the top of Growth mode **Description:** Optional Layout description **Layout data:** || layout data ||
  • In Aquarium, export the Layout text data as shown in picture below and paste it on layout data. Please keep data between double || marks so it remains spoilered. If Layout data is too long, submit the entry without it and upload layout data as a text file in following message.
Congratulations, you have submitted your Layout! We are looking for as many Layout designs as possible, however we keep our rights to reject some by our judgement or incompatible requirements:
Layout requirements:
  • Layout should not mix breeds or contain breedless Zooids. For example: Advena layout can contain Spikes and Zenoplates, but not Claws (mixing breeds) or Swarmers (breedless zooid). For this event we want only pure-breeds to fill basic environments.
  • Layout value should be under 150 nutrition. You can see current Layout nutrition value at the top of Growth screen, under the Sipho name.
  • Layout should be created using Growth mode of latest available version and should contain valid positions and rotations
  • Layout should be created by you or the author rights have been passed to you by the original author
  • Layout should not be already in game or already be a valid submission prior to yours
Once the event ends we will go through all submissions. Submissions that pass the requirement criteria will be added to the game. And we will also credit you, the author, in the game!
Sipho - Dominas
Hi all!
In this update we took a big step towards stability and validity of what we call Layouts. They are data structures that hold information of what Zooids and where they are grown. You might have seen us call them Blueprints too - coders in our team love playing Factorio and that's where from the term initially came. Once we added Aquarium and Layout sharing we wanted to go towards something a bit less technical and we came up with the term "Layout".

When we first coded layouts we wanted to have an easy way to store Sipho templates which could be later used for defining enemies. We would take a snapshot of current player Sipho Zooid positions and save them to a file. If we did that carefully, no position deformations would be stored. We could also later retouch those layouts by hand if we wanted to have Zooids in unusual positions or fix slight offsets that were captured. This wasn't ideal, but it worked for that time being.

Later on, we had to add saving system and save your being-played Layout to not lose it. This was important because one of the cornerstone aspects of this game is player creativity and our task to foster it. It feels very punishing to spend several minutes in Growth mode and then later find part of your Sipho cut-off and destroyed never to recover. That's why we implemented automatic Zooid regrowing.

Then Aquarium came and we allowed manually saving your Layouts. Even though Layout sharing is possible right now through text strings, we didn't pay much attention to validity of saved Layouts as they would mainly be used "for your own purposes" and if they were clean enough for you, we were happy too. Layouts could still be deformed due to physics and saved Zooid neighbours didn't matter much as we re-collected them when growing back from Layout. We did, however, try to fully undeform Sipho when entering Growth mode to preserve somewhat correct Zooid positions when re-capturing Layout. Potentially we might not even need to undeform in the future if we fully transition to Layout-based Growth.

With introduction of Buffer Zooids like Greaser and others importance of connectivity to neighbours was highly escalated. Wanting to buff certain Zooids with Buffer Zooids and seeing them regrow differently was not what we wanted to have as experience - growth should be deterministic and have the same results every time. That didn't come without fun little exploits where it would be possible to attach up to 6 Buffers to the same Zooid and cause some real ruckus.

This update finally addresses major inconsistencies in Layout creation:
  • Zooid removal by ungrowing does not re-capture all existing Zooid positions, but rather removes ungrown Zooids directly from Layout
  • Growing a new Zooid while there are dead Zooid ghosts no longer re-captures whole Layout - dead Zooid ghosts are removed in the same way as ungrown Zooids
  • Repositioning Zooids no longer re-captures whole Layout - repositioned Zooids are removed and re-added cleanly. However we don't re-use "clean" repositioned Zooid data after they are re-added - we re-capture moved Zooid positions. We will fix that in later updates if it deems necessary.
  • Grown Zooids have their neighbour Zooids set according to what has been store in Layout - neighbours are no longer re-generated when re-growing and are always kept the same. Previously we would just discard neighbour data saved in Layouts.
  • Head Zooids are no longer slightly larger than structure Zooids - we had to have slight margins for growing Zooids initially when Growth code wasn't as mature as it is now
All of your existing Layouts will be upgraded to re-gather neighbours according to saved Zooid position and rotation. Invalid Zooids will remain in Layouts but will be ungrowable - they will appear as Zooid ghosts and will help to fix invalid Layouts.
Now that Layouts are almost independent of your Sipho deformations and can be fully trusted to be valid we will be hosting Layout creation contests to populate upcoming depths.


This huge undertaking was made easier with making use of testing discipline. I have personally noticed that some things require quite a lot of mental power to get started worked on each day - math heavy code, complex code hierarchies, data manipulation. After spending several evenings just to get started on modifying Layout code I decided to write some basic tests to have confidence in different parts of code. With that confidence it was then easier to work on other parts which seemed to be incorrect or harder to test. Now each time I notice that something will require some time to work out how it works or if I catch myself wiring debug messages just to test I consider writing a test instead. That is why you might notice terms "test" in future changelogs. We had tests before, but just now I encountered their real usefulness for existing code. Check'em:
Version 0.6.4
  • Add ThreatsLayerMask which is used to determine threats that can be pushed away
  • Kill Windows 64 bit standalone when quitting to work around freeze on quit
  • Unpause game when selecting Play Again after beating last boss
  • Increase epsilon of layout growth point generation
  • Adapt all breed zooids when unlocking a breed
  • Track kill point deficit and consume food if there is deficit
  • Fix deadlock when diving while spawners have chunks to update
  • Stop spawners from spawning new chunks after level transition has been initiated
  • Reset rotation bias of Zooid button so it's not inherited by other zooids
  • Do not recalculate zooid positions when growing from Layout
  • Mark Layout statistics dirty when removing zooids
  • Make Sipho head size match structure size
  • Upgrade layouts that have become invalid after Layout upgrade
  • Upgrade built-in layouts
  • Only add lower neighbor indexes to layout of grown zooids to avoid duplication
  • Add several built-in layouts
  • Tests for Layout importer
  • Use layout importer to load layouts for Layout Database
  • Move Layout version definition to Layout class
  • Remove ReadOnly flag from Layouts
  • Handle non-existing zooids when upgrading Layouts
  • Find upgraded layout zooid neighbors anew
  • Save Layouts in pretty format
  • Add GetAllBlueprints to growth utils and write tests for it
  • Add some upgrader tests
  • Add version to Layouts and upgrade accordingly
  • Upgrade Layout when importing from string
  • Add Layout upgrader tests
  • Ensure saved layout zooids are not referencing themselves as their neighbours
  • Fix head growth position on layout change
  • When copying layout, copy entry neighbors too - fixes layouts not being fully copied and causing corruption of unrelated layouts
  • Clear Sipho when setting layout and other fixes
  • Refactor Growth layout setting to require calling explicit method
  • Various debug things
  • Do not recreate Sipho layout when ungrowing or moving zooids
  • Add more layout tests
  • Start working on selecting a random environment for the next levels
  • Do a complete spin180 on the level loading logic and keep most of it inside GameSceneManager and use the Initialize methods to properly setup the area selectors
  • Remove the no longer used initial area from IAreaSelector
  • Tweak the loading order of campaign scenes - campaign logic promts the loading of the first area
  • Add Empty Layout Editor tests
  • CampaignLinearAreaSelector now checks with CampaignLogic on whether we're running the tutorial and chooses the next level according to that
  • Move Level logic to CampaignLogic from GameStateManager and tweak how the next level is chosen with the linear area selector

Sipho - Dominas
We are back to regular two-week update cycle with this 0.6.3 update. Together with tweaks and improvements we are releasing some changes for non-linear level gameplay.

Even though these level loading changes are invisible and should not affect how you play the game they are important for us to release for several reasons:
  • We want to be confident that code in the future will work as it does now by getting it out as soon as possible. In case any bugs have slipped through we will be able to catch them earlier. While we don't expect any bugs, this is a good precaution of not having to deal with them at once which might make the game unplayable for some. Imagine having two entrances to your home and locks of both break at the same time - you would be left out of your house. Otherwise if only one lock breaks, you can still use another entrance while broken one is being fixed.
  • We want to have as little parallel development as possible. In previous updates we have mentioned we are using Source Control which allows having branches and working on features separately from main code. While that is good for big changes as non-linear level loading is, it also creates additional work of maintaining separate branches. And further those branches separate, more maintenance is needed. So in the new system we have replicated old behaviour and merged it into default branch, converging everything back to one point.
With that said, in the changelog you might notice fixes to issues that have not risen in previous version. Those are fixes due to additional changes being merged in. Enjoy!

Version 0.6.3
  • Fix extra zooids being lost as adapted zooid after starting a new game
  • Fix head selection siphos not growing zooids they have been saved with
  • Set swarmer critter layer to projectiles and damage everything they touch
  • Show zooid name above zooid pickup
  • Projectiles no longer block growth
  • Round zooid tooltip values and display zooid cost breakdown in tooltip
  • Provide layout on Aquarium start
  • Add a UI button selection sound
  • Add current layout information at the top in growth mode
  • Update sipho data before clearing layout statistics
  • Always update UI slider text
  • Refactor how Aquarium enemy settings are saved and store all Aquarium Enemy settings
  • Fix UI orb fill being larger than orb itself
  • Instead of reading/writing to gameSave.Level directly, read/write to GameStateManager instead
  • Report how long it took to load layout database
  • Revert accidentally changed poison mine duration to 10
  • Save which zooids are alive and regrow only them on load
  • Change "Quit" to "Save & Quit" so players know the game will be saved
  • Fix skill issues when switching between siphos
  • Upgrade old saved level numbers to new format
  • Set starting nutrition to 15 when not starting Tutorial and set to 5 when starting.
  • Use GameSave.level to track player progress through levels. Always have instance of GameSave even if game has just started
  • Replicate old scene loading functionality through IAreaSelector
  • Add level value to GameSave and don't overwrite it when saving
  • Add IAreaSelector interface
  • More indice cleanup
  • Add Campaign Scene Loader class
  • Remove scene index based area loading. Save environment type so head selection knows what environment to use for preview
  • Rename Aquarium Inventory to Aquarium Logic
  • Move Aquarium logic script to its own folder
  • Make sure Main is the first scene to be loaded
  • Initialize game when Campaign scene is loaded.
  • Move campaign related calls out of scene loading to CampaignLogic script
  • Remove GameSetup and disperse its responsibilities to other classes
  • One reference less to GameSceneManager in HeadSelection
  • Revert GameScenes to original order
  • No need to serialize PlayerSetup in GameSetup
  • Increase max enemy layout wealth selected for all layouts
  • Add cheap bone layouts to builtin layouts
  • Make level 1 bone boss easier to defeat
  • Dynamically select layouts from built-in layouts collection by level value in enemy spawners in all areas
  • Add level 1 bone boss
  • Rename Bone boss scene and assets to reflect level 3
  • Smarter lvl 3 sea boss AI
  • Add circular currents to Sea boss lvl 3 and make spikes float around
  • More accurate skill usages for Sea boss
  • Implement IAreaAffector with Pusher
  • Add distance to line functions to math class
  • Work in progress harder Sea boss AI
  • Add interface to query skill providers of what area they will affect. Implement interface with Claw weapon first
  • Add Sea boss level 3 prototype

Sipho - Dominas
It's finally here - Sipho 0.6 available for everybody to play!
First and foremost, we want to again congratulate our Halloween zooid design contest winner Scepti! The winning entry was a design of Soul Eater which charges its pressure up with eaten remains of enemies and blasts remaining enemies with harmful fluids. We have implemented this idea and it is now available to adapt in game!

We are very happy how it turned out and we will definitely are going to hold more community contests in the future!

As the Soul Eater was a recent leap in new game mechanics we had an another idea sprout some time ago. Back in version 0.5 we have added a Greaser - a unique part that buffed-up Range and Movement Power stats of connected zooids. And it was great - it deepened mechanical importance of part placement which spawned many new interesting Sipho designs. Inspired by your creations we wanted to dive deeper with such buffing mechanic. So deep that we did a bold move and have re-balanced all structure zooids to have more importance where they are placed. And the results are glorious:

The screenshot above shows some of new buffs that are applied by Structures. The changes in detail are as follows:
  • Advena structure now costs 3 (instead of 2) nutrition and increases attached zooid damage by 1 and healing efficiency by 1 - zooids with higher healing efficiency will get more health points from healing effects.
  • Saenus Beefuorus structure will now automatically cover neighboring zooids with protective shell.
  • Buginis structure now adds 1 point of energy regeneration to neighboring zooids.
  • Each Cra'than structure now heals 2 health points (instead of 1) and skill cost is lower, but increases with each zooid.
  • Vagorian structure gives 10% movement speed bonus to attached zooids.
We hope these changes will increase strategic value in choosing which zooid to use and promote more experimenting with different zooid combinations. We want each part to be unique and beneficial in scenarios you encounter throughout the game.

We took a step further with buffing idea and have introduced three new zooids, two of which act in a similar way as Greaser:

In the screenshot you can see Squirter being buffed-up by two buffer zooids:
  • Grinder will grind down your zooid weapons making them sharper and increasing their piercing abilities. This works for poison too - it affects more zooids!
  • Agonizer imbues nearby zooids with acidic substance which increases their damage. Perfect to amp the damage up together with Advena structure!

To celebrate occasion of this update, we are hosting a sale on Steam store with 15% discount. The sale will last until 16th March, be sure to grab it in time.

If you want to chat with our team, share creations with other players and discuss legitimate strategies, come join us at Discord!

And all of the changes in detail can be found below:
Version 0.6.2
  • Track and report semantic game version numbers separately
  • Log when damageable does not have a collider
  • Don't show irrelevant stats. Gray out irrelevant stat buffs in tooltips
  • Use nutrition icon to convey nutrition ungrow value in zooid tooltip
  • Track zooid original prefabs and their base stats in Zooid Info
  • Remove unused Zooid connector color as all zooids now have their own connectors
  • Damage stat determines max stack count on target
  • Each poison cloud now has Damage * Penetration charges which determine maximum amount of stacks each poison can apply
  • Poison cloud now scales from Damage and Penetration stats:
  • Poison debuff now stacks and has duration of 0.9 seconds (down from 3s)
  • Change how DOTs work: instead of dealing damage throughout duration, damaging buffs will now deal damage on stack timeout
  • Update crop for stat icons to reduce mip bleeding
  • Revert Aquarium UI icon change to old Sipho head icons
  • Don't display buffs in tooltips with 0 stacks
  • Update Soul Eater skill description
  • Swap graphics of Agonizer and Grinder
  • Use icons for skill descriptions
  • Update icon bounds in sprite sheet
  • Use new icons for stat tooltips
  • Use named controller icon references without referencing specific TMP sprite icon sheets
  • Reduce pixel bleeding for new icons
  • Tidy TMP icon assets
  • Use names for controller icons rather than indices
  • Icons with padding
  • Make Soul Eater projectiles non-solid, tweak and polish them
  • Add concept of non-solid projectile. Add lose velocity on hit ratio to projectiles
  • Make Poison Mine explosion more powerful
  • Create TMP stats Sprite Asset
  • Icon sheet import settings
  • Icon sheet
  • Add per-projectile extra damage scaling parameter
  • Soul Eater effect improvements
  • Create rotated chip effects when projectile dies
  • Allow projectiles have no renderers attached
  • Make Soul Eater projectile trail follow scale
  • Add scale following to Following Effect
  • Update Steamworks tools

Version 0.6.1
  • Update Soul Eater description
  • Set Soul Eater projectile layer to Projectile
  • Rename Advena structure buff to Acidic Metabolism
  • Make Soul Eater available in Campaign
  • Change unused Greaser range stat to 0
  • Rename Phaser to Agonizer. Make Agonizer apply damage increase and make it available in Campaign
  • Change Grinder effect to apply penetration stat buff and make Grinder available in Campaign
  • Add Save Custom Data get method with default value override
  • Only play one shot at a time of Soul Eater shot sound
  • Soul eater shoot effect and tweaks
  • Calculate steering direction from projectile rotation if velocity is close to zero
  • Fix Flail outline and remove angular drag from Flail connector. Now Flail should have no drag at all
  • Make flail do 50% of damage when retracted.
  • Do not auto-save layout if layout exists with same content
  • Add Built-in layouts to Layout Database. Initialize Layout Database on game launch and keep it warm when managing layouts
  • Better Layout hashing
  • Keep track of original materials when making copies in Zooid Graphics
  • Soul Eater animations
  • Reserialize Buffer zooids
  • Fix max health debuff reducing more health than it should on apply
  • Sparks for Grinder buff effect
  • Fix flail power scaling
  • Update Steamworks to 1.66 (Steamworks.NET 13.0.0)
  • Fix player being frozen after death in Aquarium
  • Stat buffers no longer buff themselves
  • Added a more robust way to save/load custom data with base type support
Version 0.6.0
  • Move several test structure prefabs to disabled folder
  • Make Flail weapon damage based more on impact velocity rather than time
  • Increase Muck effectiveness against projectiles
  • Fix Muck animation becoming off-sync when continuously using launch skill
  • Increase Nervefiber healing amount from 1 to 2
  • Chitin Shell buff sprites should not be affected by Greaser effects
  • Despawn environment objects when they sink
  • New buffers use new sprites
  • Buffer zooid sprite metas
  • Tweak Chitin Shell visuals and don't despawn them on level change
  • Buffer zooid sprites
  • Where does the sniper piercing keep disappearing?
  • Try to make flail more fun by reducing its drag and boosting its launch force 20 times. Now you can sort of chase people around with it
  • Set Greaser sac layer to Outline to make it ignored by Renderer cloner effect
  • Hide the weird "zarnokas" sprite in the soul eater projectile
  • Buff soul eater force per range from 150 to 220
  • I suck at making particle effects, but I'm trying to improve the Grinder particle effect
  • Projectile size scales from bonus damage
  • An attempt to make a Grinder effect of some sort
  • Serialize phaser
  • Rename spike skill to "Impale" so it's not confused with pierce stat
  • Slightly robustify shell code from weird states
  • Shells don't expire and sea structures regrow shells every 7 seconds instead of 6
  • Fix a bug (feature?) where dead zooids grew shells.
  • Increased shell lifetime from 16 to 18 seconds and decreased spawn frequency from 4 to 6 seconds to make fighting sea boys less annoying
  • Alien structure costs 3 instead of 2, but retains the 12 health so it's more robust for the price
  • Add a regeneration efficiency stat description
  • Update descriptions for a few structure zooids
  • Vagorian structure buffs nearby movers with 10% extra movement force
  • Reserialize the rest of the zooids
  • Reserialize the two zooids that feel like it
  • Heal skill uses less energy up-front but uses 5 more energy per-zooid
  • Fix nothing healing anymore since the regenerationEfficiency got reset to 0 everywhere
  • Skills can have an extra energy cost per-zooid
  • Advena structures add a health regen efficiency bonus - heal more with less!
  • Advena structure buff naming came back to its senses
  • Shell lifetime extended from 15 to 16 seconds
  • Saenus Beefuorus structure passively grows a shell over a single zooid every 4 seconds
  • Fix exceptions when loading a save with a player skill that no longer exists
  • Advena structure buffs nearby zooid damage by 1
  • Update Buginis structure description
  • Make Buginis structure give +1 energy regeneration to neighboring zooids. Decrease their max energy bonus from 10 to 5
Sipho - Dominas
Another content loaded update comes to [staging] branch. This time we are happy to finally introduce you to our Halloween contest winner's Scepti designed Soul Eater implementation! And we are also throwing in two new buffer zooids - Grinder and Agonizer!

Grinder will grind down your zooid weapons making them sharper and increasing their piercing abilities.
Agonizer imbues nearby zooids with acidic substance which increases their damage. Perfect amp the damage up with Advena structure!
And the star Soul Eater charges its pressure up with eaten remains of enemies and blasts remaining enemies with harmful fluids.

We will be tweaking and polishing new zooids before letting out them into the wild (default Steam branch) in future updates. This means that this update will too remain in [staging] branch. To get this experimental content you can opt-in in Sipho preference window found by right-clicking on Sipho in Steam Library:

All of changes that led up to this point are listed below:
Version 0.6.1
  • Update Soul Eater description
  • Set Soul Eater projectile layer to Projectile
  • Rename Advena structure buff to Acidic Metabolism
  • Make Soul Eater available in Campaign
  • Change unused Greaser range stat to 0
  • Rename Phaser to Agonizer. Make Agonizer apply damage increase and make it available in Campaign
  • Change Grinder effect to apply penetration stat buff and make Grinder available in Campaign
  • Add Save Custom Data get method with default value override
  • Only play one shot at a time of Soul Eater shot sound
  • Soul eater shoot effect and tweaks
  • Calculate steering direction from projectile rotation if velocity is close to zero
  • Fix Flail outline and remove angular drag from Flail connector. Now Flail should have no drag at all
  • Make flail do 50% of damage when retracted.
  • Do not auto-save layout if layout exists with same content
  • Add Built-in layouts to Layout Database. Initialize Layout Database on game launch and keep it warm when managing layouts
  • Better Layout hashing
  • Keep track of original materials when making copies in Zooid Graphics
  • Soul Eater animations
  • Reserialize Buffer zooids
  • Fix max health debuff reducing more health than it should on apply
  • Sparks for Grinder buff effect
  • Fix flail power scaling
  • Update Steamworks to 1.66 (Steamworks.NET 13.0.0)
  • Fix player being frozen after death in Aquarium
  • Stat buffers no longer buff themselves
  • Added a more robust way to save/load custom data with base type support

Sipho - Dominas
We would like to announce a new era of Sipho updates - 0.6.x. This update contains changes to structure zooids which play a major role in balance of the game. As we want to get new content released as soon as possible for testing, it has not been prepared for inexperienced players and might make some parts of the game harder or easier. For this reason, we are only going to release this version in [staging] branch. Once tested and balanced, we will promote next version to default branch, which reaches everyone by default.

If you want to get new content and help us by trying it out, switch to [staging] branch through Sipho properties in Steam Library:
After switching you will be greeted with rebalanced structures:
  • Advena structure now costs 3 (instead of 2) nutrition and increases attached zooid damage by 1 and healing efficiency by 1 - zooids with higher healing efficiency will get more health points from healing effects.
  • Saenus Beefuorus structure will now automatically cover neighboring zooids with protective shell.
  • Buginis structure now adds 1 point of energy regeneration to neighboring zooids.
  • Each Cra'than structure now heals 2 health points (instead of 1) and skill cost is lower, but increases with each zooid.
  • Vagorian structure gives 10% movement speed bonus to attached zooids.
We hope these changes will make structures a lot more useful and fun to play. Let us know what you think!

You can find changelist below:
Version 0.6.0
  • Move several test structure prefabs to disabled folder
  • Make Flail weapon damage based more on impact velocity rather than time
  • Increase Muck effectiveness against projectiles
  • Fix Muck animation becoming off-sync when continuously using launch skill
  • Increase Nervefiber healing amount from 1 to 2
  • Chitin Shell buff sprites should not be affected by Greaser effects
  • Despawn environment objects when they sink
  • New buffers use new sprites
  • Buffer zooid sprite metas
  • Tweak Chitin Shell visuals and don't despawn them on level change
  • Buffer zooid sprites
  • Where does the sniper piercing keep disappearing?
  • Try to make flail more fun by reducing its drag and boosting its launch force 20 times. Now you can sort of chase people around with it
  • Set Greaser sac layer to Outline to make it ignored by Renderer cloner effect
  • Hide the weird "zarnokas" sprite in the soul eater projectile
  • Buff soul eater force per range from 150 to 220
  • I suck at making particle effects, but I'm trying to improve the Grinder particle effect
  • Projectile size scales from bonus damage
  • An attempt to make a Grinder effect of some sort
  • Serialize phaser
  • Rename spike skill to "Impale" so it's not confused with pierce stat
  • Slightly robustify shell code from weird states
  • Shells don't expire and sea structures regrow shells every 7 seconds instead of 6
  • Fix a bug (feature?) where dead zooids grew shells.
  • Increased shell lifetime from 16 to 18 seconds and decreased spawn frequency from 4 to 6 seconds to make fighting sea boys less annoying
  • Alien structure costs 3 instead of 2, but retains the 12 health so it's more robust for the price
  • Add a regeneration efficiency stat description
  • Update descriptions for a few structure zooids
  • Vagorian structure buffs nearby movers with 10% extra movement force
  • Reserialize the rest of the zooids
  • Reserialize the two zooids that feel like it
  • Heal skill uses less energy up-front but uses 5 more energy per-zooid
  • Fix nothing healing anymore since the regenerationEfficiency got reset to 0 everywhere
  • Skills can have an extra energy cost per-zooid
  • Advena structures add a health regen efficiency bonus - heal more with less!
  • Advena structure buff naming came back to its senses
  • Shell lifetime extended from 15 to 16 seconds
  • Saenus Beefuorus structure passively grows a shell over a single zooid every 4 seconds
  • Fix exceptions when loading a save with a player skill that no longer exists
  • Advena structure buffs nearby zooid damage by 1
  • Update Buginis structure description
  • Make Buginis structure give +1 energy regeneration to neighboring zooids. Decrease their max energy bonus from 10 to 5

Sipho - Dominas
With this update we bring several noticeable fixes to input. It will now be possible to bind any input device to any key bind which allows full customisation of key bindings. In the meantime we were working on many different things that will reach you in the future:

This is how our Mercurial repository of Sipho development looks like. It allows us to work on game in separate branches, which do not affect the default branch - the one that is shipped to you. While in rest of the branches we can thoroughly test and polish larger changes without slowing down update releases. As is it visible in picture above we are currently actively working on two major things:
Structure zooid rebalance
We want to rebalance structure zooids to make them more useful and have distinct benefits. Having a single zooid grown should be impactful to the play style and this wasn't a case for structure zooids. We have learned from Greaser that neighbour buffs provides an interesting choice and strategic zooid placement. Having that in mind structures will give bonuses to neighboring zooids and other zooids that already had abilities will have their unique ability amplified.
Non-linear levels
In current version of Sipho we are using a list of areas (scenes) which are loaded one after another. That happens in Campaign mode when you traverse the world through whirlpools. This has worked fine since the very beginning of development in 2017. To allow more interesting travels we have to rip out existing system based on list and re-create it in scriptable and more controllable way. This will allow traversing environments in more different order, maybe have a choice or even ability to skip or visit special areas. What we have currently achieved in the levels-nonlinear branch is the base-work for that. Once we are confident that we are able to replicate existing system with new back-end code, we will merge that into default branch and continue working on spicing up level traversal.

Version 0.5.8
  • Soul eater has a lerp animation for its belly
  • Soul eater clips its sprite instead of using transform scale
  • Soul eater uses 1 charge instead of all of them when used
  • Save ZooidPhaserBuff asset stuff
  • Reset Sniper penetration to 1
  • Add penetration stat description
  • Add a Phaser zooid test prototype that gives nearby weapons penetration
  • Swarmer uses penetration stat for multiple attacks and swarm minions now tell the owner of their damage
  • Volter uses penetration stat to increase max target count
  • Poison uses the penetration stat
  • Spike uses penetration stat
  • Added a penetration stat. Soul eater now penetrates all zooids, but deals less damage
  • Dirty assets after update
  • Update Unity to 2018.4.14f1
  • Invert the appropriate gamepad axes to workaround the new input system bug
  • Finish up the rework
  • Start reworking the input system to be less rigid and be able to bind anything anywhere
  • Fix game skipping the head selection screen sometimes

Sipho - Dominas
Happy new year everyone!

It's holiday time Sipho homeland, but we have kept our inertia and got a decent bugfix update rolling. Thanks to our players reporting bugs on Discord we had a chance to quickly fix non-intuitive range stat effects and uncover a rare bug with soft body deformations.

In the meantime we are working on Halloween contest winner zooid Soul Eater which concept was drawn by Scepti and rendered by our artist Spin:

The inner red sack will expand with each charge to fill up the bone cage. The render shows fully charged Soul Eater.

And these are changes that make up this version:
Version 0.5.7
  • Add non-festive version of Santa Hat and use it off-season
  • Don't scale winter zooid through graphics animations
  • Make Sizzler linearly scale max affected target count with range
  • Stop NaN propagation in soft body when there are almost no deformations for symmetric Siphos
  • Add light pulsing to mines so they feel more live just after being spawned
  • Scale mine and bomb size with range increase
  • Increase Poison mine velocity increase for each range unit from 0.375 to 0.9
  • Silently destroy pool objects if pooling is disabled
  • Fix level end analytics not using level label
  • CreateFollowEffect removes following effect on disable
  • Slightly reduce soul eater range
  • Some Grinder serialization
  • Some soul eater tweaks
  • Experimenting with a Grinder zooid that buffs damage similar to greaser
  • Add a trail to the soul eater projectile
  • Fix exceptions when loading a game with controller bindings for skills but no controller plugged in
  • Fix any potential Sipho null refs in Growth
  • Poorly integrate soul eater graphics
  • Soul eater tweaks and fixes
  • Reserialize sniper projectile
  • Projectiles can now be set up generically and launched by the launcher
  • Experimental projectile rework to fit into object launcher

Sipho - Dominas
Greetings!

We are happy to bring you this update with features you have been asking for. Pushing "build" button feels like wrapping a Christmas present.

First one of happy things is that Aquarium will now be available from the start, without having to beat the second boss. It was designed to be a milestone in progressing in the game. Since introducing Aquarium we have added an additional breed and 4 zooids. That acts as progression counter and gives enough goals. Additionally one of Aquarium purposes is training to play with different zooids and learning game mechanics in safe environment. Having that locked behind killing moderately hard boss has cut-off many new players and required the to learn Sipho the hard way.

The second thing should be exciting for experienced players - bosses will now drop two zooid pickups one of which you will be able to choose by consuming. We feel like the zooid pool is large enough to provide a strategic choice without sacrificing replayability. This should allow guiding your zooid inventory towards more synergetic composition.

The third thing is a little festive surprise. Let us know how your wear it!

Controller and keyboard-only support is now considered to be fully functional, without need of using mouse. Happy couch gaming!

And here is the glorious change list:
Version 0.5.6
  • Festive things
  • Push away zooids when zooid unlock is being spawned so it's harder to pick it up by accident
  • Fix Layout Browser layout being broken in builds
  • Fix ambient bubbles not respecting emit interval
  • Add ambient bubble spawning based on obstacles
  • Tweak down bubbles a bit
  • Only reset adapted Zooids when starting Campaign game
  • Do not show dialog upon killing Queen boss and unlocking Aquarium
  • Improve Muck effects
  • Buff muck slowing by 50% and decrease skill cost by 50%
  • Add ability to spawn effect on when buffs
  • Add default zooid sprite importer preset
  • Soul Eater part sprites
  • Fix Layout browser being not browsable
  • Use RectMask2D and separate canvas to optimize layout browser layout and rendering with many entries
  • Move save/import layout buttons to the left side of the Layout browser.
  • Tweak layout browser image sizes
  • Show nothing selected when no layout is selected in layout browser
  • Fix aquarium game save leaking into campaign mode
  • Make Layout Browser scale Layout entries to fit UI space
  • Added a killpoint component and taught siphonophores to use it. SoulEaters now use it to collect points individually
  • Fix zooid growth element not being selected from first entry when using zooid type hotkeys
  • Improve Layout Browser layout to be more compatible with button-based UI navigation
  • Only select zooid growth button when directional input was used instead of forcing it to be always selected
  • Fix selecting zooids to grow through category hotkey when there is only a single zooid to grow in a category
  • Integrate bubbles into a couple of in-game effects to get a better feeling of how it all looks
  • Place zooid ghost at mouse position when mouse has recently been used
  • Enter GrowZooid module whenever zooid growth UI element is used
  • Update muck debuff asset
  • Add a super basic SoulEater zooid prototype that scales range depending on regeneration points
  • Muck applies debuff where possible
  • Make bubbles a lot more subtle
  • Improve game over ui controller friendliness
  • Don't insta-beat the game lol whoops
  • Improve game win dialog controller friendliness
  • Game end/over UI buttons selected for controller
  • Fix an issue where the growth hotkey would be shown as a keyboard shortcut instead of a gamepad one
  • I guess more gameplay UI scene updates since I forgot to save last time
  • Added a GameKeyImage that can make the text into the current gamekey binding
  • Together with movement type report gamepad usage as well
  • Add analytics of which zooid has been chosen and skipped in boss fight
  • Do not require Queen boss achievement to play Aquarium
  • Do a little dead-zooid-sweep when spawning zooid unlock consumable
  • Spawn effect for zooid unlock consumable which was despawned
  • Improve zooid unlock consumable spawn effect
  • Make food eaten particles less affected by external forces
  • Add zooid unlock spawn effect
  • Controllers can now be rebound and their bindings are saved/loaded. The core of controller support is finally done #party #timeToFixAllDaBugs
  • You can now see the primary and secondary bindings in the options menu
  • Boss battles now give you a choice between two random zooids
  • Fix ui events happening during rebind operations
  • Simplify ui selection logic in MenuUI
  • Fix rebinding not working correctly for non-first controllers
  • Use controller-specific keys when reading their input and support multiple controllers for skills
  • Controller input is now handled in a separate class
  • Nutrition UI uses beautified button text instead of displaying the default ToString
  • Make sure every game menu has a button selected, otherwise the controller will lose control
  • RebindUI now constantly reset UI input while active and also has a single frame delay before reading any input for rebinding. This should prevent any instant rebinds to the "A" button
  • Reset input axes after rebinding as well
  • Add stricter deadzoning for RebindUI
  • InputManager now uses the new APCButton for stuff
  • Started work on APCButton which will handle all the deadzone and other fancy logic for us

...