Grab a pen or just open up MS Paint, sketch your crazy idea for a creature part, and then share it with us. Best idea will be remade by our artist and put inside our game Sipho.
You don't have to be a professional artist to participate in this event. A basic doodle on a napkin is enough for us to make it into a proper game asset. Anyone can participate. Although if you haven't played Sipho before, be sure to check videos or screenshots to get familiar with its world and creatures.
Basic guidelines:
Must fit inside a circle, but doesn't have to fill it all up
Fitting to Sipho's world- organic elements that are influenced by real world.
Shooting, moving, or mind control- write down what it does. Even better if you can draw it
Halloween themed- spikes, fangs, exposed internal parts. Make it creepy
Post it on Sipho's Artwork section. If you can't post it there, leave a comment with a link here or post it on our Discord
Have fun!
Our team will pick the best one right after the end of this event. Top three artists will also receive a Sipho Steam key!
While working on controller support we have fixed several issues and made some improvements to the game - both performance and visual. Each fix is listed in the changedlog of Version 0.5.2 below!
As development goes on, we want to bring an additional Sipho version - a special Controller-support enhanced build which includes more drastic changes to allow full utilisation of controllers. We are not ready to publish these changes to everyone who has not deliberately opted-in so we decided to publish that in a beta branch in steam. You can opt-in for controller-support build in Sipho properties in your Steam library: Currently ungrowing and repositioning zooids is not possible using controller. We will be fixing that and improving usability in future updates. Let us know what you think about playing the game with a controller!
Version 0.5.2
Fix extra zooid selection throwing errors when navigated with input keys while there are no extra zooids
Report when poolable is destroyed because due to not having an original
Fix Spike Zooid background not being pooled properly
Fix nutrition icon in Aquarium enemy spawn menu
Add flashes to powerup pickup effects and fix their colors
Properly re-select UI elements. Fixes Aquarium elements not being highlit when re-entering Aquarium mode
Fix Aquarium sounds being paused in Aquarium
Add sanity check for Greaser Renderer Cloner erroring out
Handle loading more defined inputs than we know about
Cache postprocessing values which otherwise allocate GC memory
Improve performance in Aquarium - prevent UI from rebuilding itself each frame
Do not recreate all Zooid buttons on every structure change
Unparent zooid connectors when zooids are about to be destroyed. This prevents connectors from being destroyed
Set icon of enemy size Aquarium option
Fix camera jumping around when switching between Growth and Aquarium modes
Do not update lost zooid ghosts while not in growth mode
Only create/remove changed zooid overlays instead of all and on every structure change
Only mutate enemy inventories if the queen has been defeated
0.5.2 + Controller Support
Forgot to add outline sprite
Add selection outline to skill UI
Reset navigation state when popping ZooidInfoAndUngrow
Change and add new keys for doing growth things. You can now edit skills with keyboard/gamepad
Fix extra zooid selection throwing errors when navigated with input keys while there are no extra zooids
Report when poolable is destroyed because it didn't have an original
Fix Spike Zooid background not being pooled properly
Fix nutrition icon in Aquarium enemy spawn menu
Add flashes to powerup pickup effects and fix their colors
Properly re-select UI elements. Fixes Aquarium elements not being highlit when re-entering Aquarium mode
Make gamepad twinstick less twitchy
If you're using a gamepad, you will get gamepad bindings for skills
There is no longer a dedicated button for switching movement on the gamepad. Use the settings menu instead
InputManager GetAxis now takes into account the deadzone
Legit twinstick support for gamepads
Aquarium spawning with controller
Do not constantly select deselected object
Fix Layout browser not showing entries
Stop trying to grow when you run out of nutrition for the selected zooid
Update growth points if the target zooid changes
This fixes the bug where the ghost would stay in the corner until you moved the mouse
GrowZooid more directly controls when to override the mouse position for drawing ghosts
Make Aquarium Spawn logic use UIModule stack
Aquarium toggled with north button, menus navigated with shoulder buttons
UIModule driven Aquarium activation
Assert that we don't unpause game more times than we pause
Close Layout Browser when pressing cancel button
Tooltips follow their targets instead of attaching to a static position
Don't use the singleton if we can help it
Add IAddRemoveHandler interface and use if to indicate when a UI module is being pushed or popped instead of doing a weird bool
Show player aquarium menu only when base growth module is active
Deactivate module after popping
Quit Growth module immidiately after growth is toggled - otherwise other modules get pushed to stack
Make layout browser work with UI stack
[Experimental] restore selected UI element after mouse click
Fix null ref exception when exiting play mode with growth mode open
Fix mouse tooltips also being toggled by the tooltip toggle key
Fix menu opening after leaving growth mode with Esc
Reuse Aquarium UI module for layout browser
Add name property to generic Aquarium UI module
Make tooltip appearance abstract and automatic on selection
Hacky way to exit growth mode after popping the selectZooidToGrow module
UI Module stack deals with Cancel key input instead of all the modules
Growth no longer super aborted if you press escape
Remove/replace a few old inputs with the new input manager
Add tooltips for SelectZooidToGrow (or maybe we could just do it in the UIModuleStack ?)
Fix tooltips not toggling correctly
ZooidInfoAndUngrow now correctly handles UIButton changes after a zooid is ungrown
Fix an issue where left-clicking a zooid would ungrow it
UIModuleStack remembers and restores the previously selected UI element when pushing/popping modules
Added comments about when each UIModule method gets called
Don't toggle tooltips in non-growth mode
Keyboard/gamepad overriden tooltips can be toggled on/off with a special key
Show tooltips of the selected zooid
Push the required new GameKey, whoops!
You can now enter zooid info and ungrowth mode while in the growth menu by pressing 't' or the north dpad button (subject to change)
Abort zooid info and ungrow module if the mouse moved
Rename UngrowZooid to a more broad ZooidInfoAndUngrow
Slightly rework tooltip instance to have better API
Zooid ungrowing emulates PointerEnter/Exit events on ZooidButtonUI
Use polymorphism in BuildUIManager because we can
Simplify Aquarium Menu UI module
Add Debug Menu entry for UI module stack
Fix null reference exception in GrowZooid
Do not open aquarium menu when player controls are disabled (for example game menu is open)
Aquarium UI module WIP
Added a very barebones ability to ungrow zooids with the controller
Re-activate the older module after the popping the newer module
GrowZooid ui module pops itself if there is no active ui element or if the cancel button is pressed
BuildUIManager pops zooid selection module when leaving growth mode
SelectZooidToGrow module now uses GrowZooid module if a zooid becomes selected
BuildUIManager uses SelectZooidToGrow when enabled
Use InputManager for determining when to use the mouse or keyboard/gamepad for growing
GrowZooid now uses the zooid ghost for previewing build locations
Add a UIModuleStack to gameplayUI
You can now grow zooids by using the keyboard/gamepad
Use the GrowthUtility CircleColliderRadius where needed in GrowZooid
Make FindNeighbors a GrowthUtils function instead of being a part of BuildElementUI
Growth points can now be iterated via the automatic UI navigation
GrowZooid updates growthPointUI elements as the structure changes
GrowthPointUI is now poolable
Growth points are stored in a list once again + angle bugfix
The dust has settled after 0.5.0 release and we are so far happy with reception of it. We had players stream their progress in our Discord server, chat about their Zooid hunting experience. This was a heartwarming experience. Let us know what you think of the new zooids!
As our Zooid roster grows more luck is required to get a part drop you wish. We are thinking of ways fixing that and for now, we implemented one simple thing that was suggested by a community member. It is that Frakir will now prioritise dropping parts that you have not yet discovered. This will work as an encouragement to beat the game for more experienced players and will not affect the flow of the rest of the game as it is the end boss. This will guarantee that after beating game finite number of times you will discover all available parts.
We have an opportunity to participate in local gaming conference for which we need to do some preparations. To get a good playtesting feedback from attendees we need to have a solid new-player-experience, otherwise new player will be stuck on issues we already know and won't be able to provide deeper insight of the game. That means we will be reworking tutorial level and finishing full controller support. These goals align well with our development plans as both tutorial and controller support are needed for a full game. We will share more details about participating in the conference once we really know we have been accepted to showcase Sipho.
We have already started on controller support improvements in a separate branch, which means that some of the work won't be visible in the changelog until it gets to the main development branch:
Version 0.5.1
Award undiscovered zooid after killing Frakir
Fix Frakir becoming invincible again after growing back a zooid
Fix game not being unmuted when going back to main menu
Make scrolling textures blend options use unity enums instead of hardcoded values
Update material assets to include used shader keywords
Add debug option to teleport things to center of the screen
Make claws appear below zooids so they look better when oversized
Update preloaded shader variants to include zooid dissolve shader keyword
If the longterm progress can't be parsed from json, assume that it's corrupted and start over
If game save can't parse the file from json, assume there is no game save instead of throwing out an exception
Make game save, progression and game file reading and parsing a bit more robust.
The slimy thought-provoking Greaser which buffs neighbouring zooids with range and movement power. It creates an interesting choice between having one, but powerful zooid or many of the same zooid.
The shaky concept-bending Swarmer which spawns little critters that attack their foes and damage everything in their way. It challenges the regular approach to combat by allowing to keep a long distance from enemies but at less direct control of damage.
The swingy motion-dependent Flail which damages everything it touches with its spiky ball loosely connected to the colony. Flail use highly depends on your movement skills as it needs to be flung around at great speeds. It also acts as a good shield.
The hasty projectile-emitting Sprayer which spews out little projectiles and can hurt by touch as well. Sprayer requires high energy efficiency of the colony and good aim.
We are happy to bring these crazy ideas as breedless zooids. You will be able to adapt them from bosses the same way as Ancient ones (Grappler, Sniper, Muck and Energy Leech). We are looking into ways of making that less random. This wasn't a problem when we had less zooids, but now that we have more, we will look into making obtaining zooids more of a choice rather than a lottery.
And the final changes that brought us here are listed below:
Version 0.5.0
Fix Steam loading in built player
Increase Swarmer max critter count to 3 and nutrition cost to 6
Make swarmer icon power-of-two size to not be stretched in UI
Tweak greaser effect
Add angular drag to the tip of Flail to limit it's spinning after getting into twister
Clean up Zooid shader Properties and make Dissolve optional
Move the 4 new zooids out of development and into the game!
Swarmer is now a combat zooid
Tweak greaser effect to resemble a coat of blue jelly
Expose edge detection power parameter and Zooid shader blend parameters
Add environment spikes to Frakir boss arena
Add environment spikes to Cra'than boss arena
Make checkboxes have a checkmark when checked
Make swarmer minions spread out when skill is activated without a target
Kill swarmer minions if they are 2x further than range
Expose Zooid Graphics Transform and make connectors follow it
Shake Swarmer on skill use
Add some maracas for the swarmer
Update the descriptions of the new zooids and skills and change some of their placement sounds
Fix Steam related things
Add a very rough GrowZooid UI module (still needs a lot of work, pooling, caching and all the good stuff)
Add a placeholder GrowthPointUI
Cleaned up some UI GameParameters. Added a possibleGrowthLocationMarkerUI GameParam
GrowthPoint positions are offset according to the target radius (no longer on the edge of the zooid)
Blueprint no longer exposes key/value dictionary for possible growth points. Instead use GetPossibleGrowthPoints(Zooid targetZooid)
Another Sipho update is upon you! We are inches away from having new zooids ready for 0.5.0 update. One of the new zooids is Swarmer, with never-seen-before mechanics: It spawns small critters which circle the Swarmer and spread out to attack common enemies on-command. These critters can be defended against with other weapons and take little time to respawn. We can't wait to see what combinations you are going to put them in!
As per request of one of our Discord server members we have implemented "multi-growth" mode in growth menu. By holding multi-spawn key, which default is left shift, growth will not end after placing single zooid, which helps quickly place multiple zooids with a single mouse click.
Some of changes below mention "growth points". We are preparing to have better UX in Growth mode which is displaying potential points at which zooids can be grown. Currently, we find those potential points by constantly "asking world" if there are any positions nearby mouse cursor for growing a new zooid. Changes we made allow us to find all positions ahead of time which we will be able to display when selecting to grow a certain zooid. That should be especially convenient when playing with controller - all you will have to do is jump through positions you wish to grow at instead of potentially having a "fake mouse pointer".
The rest of changes, balancing of new zooids are below:
Version 0.4.9
Use multi spawn key for growing zooids as well
Fix one of built-in Layouts which had first zooid as non-head and add validation check for future layouts
Add a null check and early exit if we encounter a weird zooid id when generating growth points
Growth points are now stored in a dictionary according to their sizes
Use the sizes of all growable zooids when determining growth points
Make growth point generation completely lazy
Fix outline scaling error when ungrowing greaser
Fix deformable using incorrect rotation when spawning from rotated Sipho. This fixes Cra'than boss and possibly other things spawning at incorrect angle
Fix a bug where growth points were discarded due to the radius and the distance being equal
Fix errors when trying to check if a blueprint is valid when it has invalid zooids (caused by growth point regeneration)
Add basic melee damage to Sprayer
Fix incorrect growth spot blocking calculation
Regenerate growth points when growing, ungrowing or updating the blueprint. Allow external access of the growth points
Increase swarmer range from 7 to 12 (originally was 15)
Resave animation and controller
Add a swarmer minion animation
Swarmer uses range stat
Slow down swarmMinions when they are resupplied, not attacking and near the swarmer zooid
Use new sprites for Swarmer and use better names for scripts
Make growth background arrow not overlap outlines
Use thinner sprite for Flail connection to have better looking bends
Use new graphics for Sprayer
Add code for generating a list of possible growth points
BlueprintEntry can now cache and return the Zooid value based on the id
Use new Flail graphics
Zooid Outline setup dirties prefabs properly
Make Flail head not collide with connections
Use new Greaser graphics
Forgot to check-in IgnoreListenerPause script
New sprite import settings
Parasite sprites
Add a UIModule for handling skill rebinding
Pause in-world audio sources and allow playing UI audio when game is paused
Fix Vagorian Mover and Structure zooid connector offsets
While playtesting new zooids I came up with a nice combo utilising upcoming Flail and Greaser zooids: As it is with Flail, Greaser's graphics are still being made. We borrowed very old sprite that was used in very early versions of Sipho as a placeholder. Greaser is a passive Utility zooid which "greases up" nearby zooids and increases their range and movement power. In this case it means that buffed Grabber will have an increased distance. Same would be with any zooid that has concept of range - Spike, Claw, Flak, Leech and others. We think that this zooid should give more strategic choices in choosing between more of the same or less, but more potent. A total of four new zooids are coming in the next major 0.5.0 update.
Progressing in Sipho world means that the world changes together with you. Discovering new zooids will mean that future enemies might have them discovered too. Existing layouts for enemies now have a chance to mutate and grow discovered zooids instead of base breed ones. We think that make encounters more interesting and add slight flavour of variety.
More changes have been done in preparation for upcoming zooids. Check out full list below:
Version 0.4.8
Fix Sipho not being stiffened when entering growth mode with only head zooid
Stub implementation for confirming a zooid to grow for SelectZooidToGrow
Add a SelectZooidToGrow UI module which is responsible for enabling UI navigation for zooid UI elements
Add UIModules which should be used for handling various UI-related tasks, one at a time
Disable automatic UI navigation for sipho name field
Make Cra'than boss spawn minion immidiatelly after being damaged
Make environment spike lighter, but have more drag
Don't undeform Sipho when it's being grown/modified
Remove buffs from zooid when it's dying to prevent destroying nested effects
Remove stats from poison debuff so they don't show up in tooltips
Make Greaser have no energy upkeep
Add and use Flail material
Optimize growth mode UI layout
Stiffen player Sipho when entering growth mode
Do not lerp fixed delta time when pausing game
Update growth transition time in Fixed Update as well as in Update
Only mutate enemy inventories with adapted zooids, so the player would have a better idea of what to expect from them
Ignore flail chain link collisions with flail zooid collider which helps links not getting stuck on launch
Make flail chain link distance approximate to range as close as possible
Add poolable joint link object to use for Flail joint chain
Ping all breed unlock achievements when initializing the campaign achievements, in case some were unlocked without steam
Enemies have a 20% chance to mutate one of their zooids in their inventory to some different zooid
Don't try to mutate zooids that shouldn't be mutated
If vagorian spawners lack layouts, just use random
Attempt to fix zooid prefabs becoming dirty in project
Disable connecting joints when flail is retracting and use another joint to retract it. Use LineRenderer to render connections
Increase physics iteration count to make joints more stable
Another two weeks have passed in All Parts Connected Headquarters and we are happy with our progress on upcoming new zooids. One of them is physical Flail: Graphics and name are prototypes and subject to change. This little bad zooid has a lot of weight in its not-the-smartest spikey end. It will require finesse to control and should be a fun zooid to play as offensively and defensively. If you would like to know more, come chat with us on Discord.
We have added two new achievements. One of them is for the hardcore players - beat the game without growing any weapon zooid. After implementing the achievement we noticed that we don't have many damaging utility zooids yet, only those which involve poison. Thus, The Grappler has been asked to change its department to Utility instead of Weapon. It already did little damage and was expected to be operated with accompanying zooid to make a greater combo. We buffed its skill usage and nerfed damage. Later changes will include beating bosses in more creative ways.
Other balance changes and notes about upcoming zooids can be found below, in the changenotes:
Version 0.4.7
Report if it's steam build in Options menu
Fix initializing Steam
Change time settings to proper values
Fix offset layout previews
Do not include Aquarium background in screenshots
Buff greaser buff to 50%
Store flail state as Sipho head buff. Tweak flail balance
Tweak greaser effect
Clamp edge detect shader output so it doesn't produce sparkles
Add following effect remove callback and use it for Greaser effect to fix not deparenting renderer clones on time
Fix dead zooids erroring out due to missing Sipho reference
Make layout previews renderable in growth mode
Fix screenshotter to not make flipped images
Implement fast kill achievement unlock
Buffs can now carry owner information and tell where the damage is coming from. This fixes the poison being counted as 'pacifist'
Add a fast kill achievement for killing a full health head in 5 seconds
Increase Burstopod damage by 1
Scale critter minion movement speed based on spawner movement speed
Critter minions scale from melee damage instead of ranged damage, as they do melee attacks
Made critterminion poolable
Make RendererClones always properly follow their targets
Tweak zooid descriptions to include valuable information
Make Flail extension toggleable
Add code that can mutate the enemy inventory by swapping its native zooid with a random unowned zooid of the same type
Tweak outlines of some zooids to fit better
Increase the volume for swarm attack signal
Add a sound effect for sprayer and slightly increase its projectile speed
Critter minions can deal damage even when they do not have an attack command issued (but still require a resupply afterwards)
Fix a bug where critter minion resupplying was calculated based on the sipho position and not the zooid position
Make muck cloud have more angular drag
Make Cra'than boss spawn minion skill more costly
Fix Cra'than boss spawner zooids not being red
Fix zooid graphics not taking different material and texture combo into account when assigning shared material
Make poison cloud have ten times less mass, but more drag
Make twister swirl initially appear larger and do not lose as much lifetime when pulling non-zooids.
Convert Grabber to Utility zooid: Damage reduced from 3 to 2, cooldown reduced from 1.1 to 1 second, energy cost from 35 to 25 and added +3 energy regeneration.
Enable utilitarian achievement
Added a very basic attack signal effect for the swarmer
Add a slight scale wobble when the swarmer is making a new minion
Added a tiny minion death
Reduce swarm attack energy drain a bit
Added a tiny stab effect for minion attacks
Critter minions are now part of the zooid effect layer as they should appear on top of other zooids
Use Async GPU readback to read rendertexture without stalling render pipeline
Move darken Sipho logic to Siphonophore script
Add screenshotter script which makes screenshots and sipho previews
This update generally contains polishing improvements. One of those things is making sure any size Siphos can be heard as we want them to be heard. That is why we have a system to limit concurrent sounds effects played at once which helps not playing unnecessarily large amount of Flak shots or poison applications. Otherwise we hit concurrently played sound limit which basically mutes some other distinct sounds. We had this system in place for a while now and try to apply these limits to mostly zooid effects which are usually played on skill activations at once.
All obstacles are now made out of hand-traced circles instead of polygon colliders. That gives physics system some "direction" in which to resolve deeply overlapping obstacle collisions with zooids or nutrition. This means that zooids and food should no longer get permanently stuck in rocks. This also brings a little performance optimization to obstacles which are more rounded and can be made out of smaller amount of circles. Several circles are faster to calculate physics with than polygon shapes with many points.
One thing we have constantly seen new players do is to try ungrowing zooids in growth mode by dragging them away from their Sipho. This now is possible - we want to have as smooth first experience as possible. It works by checking distance to Sipho zooids and if it's further from closest zooid than X it enters "release to ungrow" mode. It also works by dragging zooids onto growth side-bar.
It is no secret that we are experimenting with new zooids. Some of you might have seen our Tweets or sneak-peek development images in our Discord server. For more hints, we have left-in changes to those zooid prototypes in the change-log. Check it out:
Version 0.4.6
Fix renderer clones not being cleaned up
Add RendererCloner effect utility and use it for Greaser zooid
Fix Buff Manager keeping reference of removed buff effect
Add onCreated event to FollowingEffect
SwarmSpawner critters no longer auto-attack, instead you have to command them with a skill.
Reduce sprayer shot frequency slightly
Update UI-Default shader to engine version 2018.4
Range stat increases projectile lifetime instead of speed
Move food consumption logic away from physics callbacks to custom fixed update to avoid GC allocs
Add Fixed Update event to Siphonophore
Avoid some NaNs in twister pull logic
Add greaser zooid prototype which increases range of neighboring zooids
Remove digits after percent comma and use bullet points to list buffs in Zooid Descriptions
Separate Consumable pull stat from Range stat
Add non-expiring flag to buffs. Improve buffed zooid tooltips with stats applied and buff duration
Do not clear all buffs when reapplying stat buffing zooid - fixes too low amount of stacks for early applied buffs
Allow using development zooids in built games if they are requested specifically by ID
Move flashbang zooid to development folder, marking it as development zooid
Remove collider-disabled rocks and leave only their lower rock parts in Underwater boss battle
Ungrow zooids when they are dragged far away from connecting zooids or are dragged on growth sidebar
Set zooid to not Alive when it's being ungrown
Limit Advena poison spray concurrent sounds to 2
Limit concurrent energy powerup audio players to 2
Limit concurrent movement powerup audio players to 2
Make shooting zooids play audio through AudioPlayer and limit their simultaenous count
Allow playing AudioPlayer manually
Move mine explosion audio player to mine explode effect and limit simultaneous count
Add circle colliders to plant obstacle
Disable new colliders for rocks in Underwater boss level
Do not save decorations, deep rocks and whirlpools in any level
Do not save decorations in underwater level and spawn more food
Make eggs always drop something useful
Don't save whirlpools spawned by level end whirlpool spawner
Add flag that allows not saving grid spawner spawned objects
Use multiple circle colliders instead of polygon colliders for all obstacles. Improves performance and overlapping collisions
Fix non player zooids not getting damaged highlights
This update brings rendering performance optimisations to Sipho!
These improvements were long overdue. Sipho was started in Global Game Jam 2017 which required various "quick to do" fixes for the game to run, no matter how, just to be done in time. We have re-written many parts of it since then, but we did not re-write rendering because we did not know how we are going to render all those zooids. Since then game has solidified and we have become more confident in our workflow, knowing how things are made-up in the engine and what can be sacrificed for performance.
To not get too technical on this post, I am going to be writing up a separate post about current rendering in Sipho. Quick explanation is that we used to render sprites and their outlines one after another. That made CPU talk with GPU for every object on the screen at least twice, each frame. - Render Spike base outline here - says CPU - Okay - replies GPU - Now render Spike base here - Yeah - GPU - Now render Spike tip outline there - ːsteamfacepalmː [...] And all this conversation for 20 of your spikes.
CPU is usually slow at talking to GPU and one would want to make the CPU bother GPU as little as possible. One of techniques is batching sprite meshes to a single large mesh and rendering that. But our shaders rely on local vertex positions and many additional parameters like health or animation speed. That makes batching sprites in Unity engine hard.
Worry not, there is other rendering technique is called instancing. It takes one mesh and tells GPU do render it multiple times in a single "sentence": - Render these 20 Spike outlines, here is a list of positions and parameters for each one - confidently says CPU - You got it - replies GPU
This has improved Sipho rendering performance on CPU by about two times. If GPU does not support instancing, it will fall back to old system of having consecutive calls for each image. Worst case scenario for this type of rendering is many different sprites being rendered at once. Imagine Frakir with about 500 unique zooids just to get back to where we were with performance. We would love to have that many unique zooids!
Oh and we had a sneak update few weeks ago. It had hot-fixes for our input system changes. Check out our history of changes for these versions:
Version 0.4.5
Disable outlines for invisible rocks in Guardian boss lair
Make mine poison a bit more visible
Also fix energy leech and muck consumable pull
Limit leech tip position lerp velocity which might fix AABB errors
Fix eater food pull scaling - forgot to adjust some zooids and power to fit Range stat
Fix grappling hook line being invisible
Cleanup some UI
Don't use placeholder icons that are nowhere else used to prevent them from being included in builds
Fix claw top being rendered below blades
Circular fade-in to growth mode for decorations
Add ZWrite control to environment shader to fix bone ball lower pats hiding outlines
Flower petal lower sprite sorting layer
Fade-to-zooid-color zooid connectors in growth mode
Make zooid outline hashes consistent
Make deep objects render correctly
Force render sort order for all environment objects
Offset sprite animation according to world position
Aquarium spawn ghosts now use tight meshes to display atlassed ghost sprites
Make decorations work with instancing
Use tight sprite mesh in UI buttons that might draw atlased sprites
Support flipping in instanced zooid outline shader and fix Claw outline
Make all outlines render explicitly before their original sprites
Remove unusued trail material from pusher effect as it produced drawcalls
Make projectiles work with Zooid shader instancing
Remove unused _ColorBrightness from zooid shader and make mines compatible with instanced rendering
Remove unnecessary transform.position call in graphics connector
Set spike background connector sorting order to be unique so backgrounds get batched
Fix animated materials not animating through overrides
Use instancing for zooids and remove zooid sprites from atlases to preserve local UVs
Create copies of Zooid material to allow instancing
Use instancing for zooid shaders
Rename Zooid shaders to better reflect their purpose
Add an achievement prototype for beating the game without building a single weapon zooid
Rename Zooid Highlight material to Zooid and use it instead of Zooid Nohighlight
Don't error out if EnvironmentObject has no SpriteRenderer
Add Zwrite control to Zooid shader
Use non-legacy sprite atlases
Improve gameSave to allow saving arbitrary struct/classes inside a dictionary. We no longer have to add any game save fields for anything
Set packing tags for all zooid sprites
Add base outlines to all zooids
Inherit sorting order of zooids and improve outline
Collect outlines at the base of graphics rather than from parent
Use separate multiple outline objects to define outlines for zooids. Update some zooids to this system
Game save now saves a Dictionary<string,bool> for generic serialization purposes
Use non-legacy sprite packer settings
Revert tight sprite packing as it breaks UI ghost rendering
Set scale of obstacles in Start as well because OnEnable is too early for just spawned objects
Make all obstacles batchable - group into atlases, use separate EnvironmentOutline object to render growth mode outlines
Enable batching and remove outline passes from environment shaders
Add outline shader for environment outlines
Add Environment Alien Rocks and Outlines render sort layers
Setup outline renderers for Alien Rocks
Scale Rock outline object instead of setting property block of scale when available
Disable Sorting Group for spike
Put Alien rocks into atlas
Enable batching for No Highlight shader
Add renderer for Alien outlines
Separate Outline pass from main highlight shader.
Version 0.4.4
Recreate globalSettings file in case we fail reading json
Fix a bug where the in-game options menu would open and instantly close in the same frame when pressing Esc
Allow closing the game menus with the cancel button
Fix a bug where rebinding would instantly succeed with the key that initiated the rebinding process
This update comes with one little feature that we think will help navigating level ends - a new sense, a bio sonar! It will be shown where hunting down each victim matters the most - at level ends, in boss fights and also in Aquarium. It will display enemies as red bars and nutrition as green ones. Sonar should help to feel and see beyond borders of the screen.
Internally we have introduced a Range stat which controls range of all zooid abilities. In future, we will be adding zooids and/or powerups, abilities that change stats and enables having more varied playstyle. In this version, range can be seen in zooid tooltips.
Our Input System backend has been completely changed. That means we are going further to support controllers and any kind of input devices. That is now noticeable in main menu and ingame menus as we have added full keyboard/controller support in those cases. The bad news is that existing control binds in options menu will be reset and will have to be re-bound.
In future patches we will be tackling Growth mode and Aquarium mode inputs as well as adapting movement controls to new inputs. Currently Auto Turn and Tank movement types are playable, however we have not tweaked them up to quality we prefer. Ironically, Twinstick movement types will still be following mouse, thus will not work with controller input well. Default skill binds are still designed to for mouse + keyboard controls which we will have to fix as well for controller-only players. Let us know how you expect to control your creature colony and which buttons you would like to use for skills in comments below!
And a little distraction from our request above - full version changelist! We left some of internal changes in for the curious:
Version 0.4.3
Add movement type report to Death and LevelEnd analytics
Allow selecting Zooid to keep with Up/Down input axes
Display negative stats in Zooid descriptions too
Fix buffs not applying when there is no zooid type filter
Generalise filtering buff targets by ZooidType in Buff Manager
Head selection keyboard/controller support. Growth button to toggle tutorial
Stats should be immutable structs
Remember last active UI elements and select them when opening menus. This allows keyboard/controller menu navigating
Fix input errors when the globalSettings file doesn't exist and fix issues with overwriting default bindings
Fix saveWasJustLoaded retaining an invalid state when restarting the game
Tweak Main Menu labels and make buttons properly select
Add helper script that draws distance lines
Use circle colliders on Bone ball obstacles instead of polygon colliders
Add support for multipler colliders on Environment Object
Disable occlusion check for Sonar
Fix some Zooid layers not being set to Zooid
Chill down whirlpools with their particle pulling
Make Object spawner skill zooids and poisonous zooids scale with Range
SkillUI uses pretty key strings
Fix errors when loading a game save with the old bindings
Fix errors when loading globalSettings with the old binding data
Make Leeches use Range stat
Undo the zooid selection UI work for a better merging experience
The new input system obviously needs to have physics, xr and vr. At least it's not in-app-purchasing.
Correct gamepad start button path
When rebinding, consume all input for one frame after succeeding/cancelling the rebinding (avoid accidental menu closing etc.)
Added a menu toggle button that is intended to remain static and not be changed by the user
Add an input locking mechanism that allows ignoring all GameKey inputs
Rearrange InputManager for better sanity
Add Zooid Range stat to description
Make Pusher work with Range stat
Volter uses Range
Make Sniper, Flak and development weapons use Ranged stat
Don't revert to defaults if you can't resolve a button, use the previous binding path and show it as best we can
Added a method to tell if a gamepad is used instead of the mouse
Halve claw range influence as Range is better understood as diameter rathern than radius of damage
Scale claw with Range stat
Make Grabber use Range stat
Make Spike weapon use Range stat
Rename Food Pull stat to Range
Fix food sonar indicators remaining visible
Add SonarController which controls when Sonar is visible - during end of Campaign levels, always in boss fights and Aquarium
Scale Muck animation with animator speed
Make Sipho sonar indicators fade in and out
Some form of input key beautification started
Fix incorrect defaults for selecting zooids to grow
Fix a bug where resetting to default controls did not persist between playthroughs
Skills now work with the new unity input system
Start work towards moving skill bindings over to the new system
Don't remove device name when serializing unless we can substitute it with something
Keep track of binding paths all the time, not just when serializing - needed when the controller gets unplugged
Load saved bindings
Make sure to invert the needed keys every time you resolve a binding
Invert left/right stick key down and left buttons, solve all the problems without editing any unity input stuff
Create an input settings asset and make buttons less sensitive