TUXDB - LINUX GAMING AGGREGATE
 NEWS TOP_PLAYED GAMES ITCH.IO CALENDAR CHAT WINE SteamDeck
 STREAMERS CREATORS CROWDFUNDING DEALS WEBSITES ABOUT
 PODCASTS REDDIT 

 

SUPPORT TUXDB ON KO-FI

MENU

ON SALE

New Twitch streamer aggregation implemented (#FuckTwitch) due to Twitch's API issues (more info on my Discord )


Name

 Sipho 

 

Developer

 All Parts Connected 

 

Publisher

 All Parts Connected 

 

Tags

 Indie 

 Strategy 

 

Singleplayer 

 

 Early Access 

Release

 2018-11-13 

 

Steam

 € £ $ / % 

 

News

 98 

 

Controls

 Keyboard 

 

 Mouse 

 

Players online

 n/a 

 

Steam Rating

 n/a 

Steam store

 https://store.steampowered.com/app/809310 

 

SteamSpy

Peak CCU Yesterday

  

Owners

 0 .. 20,000 +/-  

 

Players - Since release

  +/-  

Players - Last 2 weeks

  +/-  

Average playtime (forever)

 0  

Average playtime (last 2 weeks)

 0 

Median playtime (forever)

 0 

Median playtime (last 2 weeks)

 0 

Public Linux depots

 Sipho Linux [211.44 M] 




LINUX STREAMERS (0)




Happy new Year with an update 1.2.1!

With this update we would like to wish you Merry Christmas and Happy New Year!
Lots of background changes have been introduced in this version - while it's not content, we want to have the best version of Sipho available while we work on more content.

Level generation rewritten
This was one of the changes I wanted to do for a long time and this paragraph will get a bit technical. Since the beginning, level spawning was made to be noise-based and "shader-like" where we would go through every potential spawn position (pixel) and check the noise function value if we need to spawn something there or not. The spawner system was and still is set up this way:


  • There is a Spawner which can have a parent and use its noise values for itself. It can add parent's values, only spawn when parent spawns or do not spawn if its parent spawns.
  • Spawner has a spawn range within which Chunks are loaded/unloaded - when player Sipho moves, we check for its position each frame and manage chunks from there. If chunks are smaller, then there's additional overhead of managing them. If chunks are large then it may degrade performance to spawn whole chunk at once.
  • Chunks consist of Cells which can be offset to make nicer patters and each cell is basically a spawned object - a rock obstacle, a piece of Nutrition, a Spike ball or a Coral.

As with any noise based generation, this is fast to tweak and get results. However, when it comes to gameplay-sensitive stuff like Nutrition it becomes very hard to get right without additional work. Since we can only tweak how layers interact, we couldn't know at what actual density, for example, Nutrition was spawned.

So together with the additional work to have a control over how much Nutrition is spawned per-chunk, I have separated the maths calculation part from spawning part - which allows us to have less performance pressure every frame when chunks are spawned. Previously we had variable sized chunks - on paper that sounds like nice control over content, but it makes calculating things much harder, since we can't assume that a single Child Spawner chunk covers whole Parent Spawner chunk. That is why all chunks have been made to be the same size, which now allows us to:

  • Not worry about having lower layers of obstacles spawn before upper layers have spawned - which could happen if we mixed different sized chunks in different spawner layers
  • Consistently and performance-wise cheaply check if certain position has all chunks spawned - helpful for checking if player or enemy Siphonophore can be teleported or spawned at some location
  • Re-use previous layer noise values in lower layers, without recalculating for every layer - this is somewhat true, since we need to interpolate values of every cell if cell sizes are different (or you can say cell count in a chunk differs) . That is much cheaper to do than to re-calculate all spawner layers


These changes allowed these design changes:

  • Ensuring all levels have very similar spawned Nutrition density
  • Spawn additional snacks when player has lost nutrition at the end of the level and would be otherwise forced to leave the level
  • Something else that I might have forgotten

Honestly, I am a big fan of Factorio and reading their blogs have somewhat influenced development style and design approach of Sipho. If you like these kind of technical ramblings, I feel you would really enjoy reading them written by the legends themselves - https://www.factorio.com/blog/

Spanish language added!
Huge thank you to Rosario Rivas Leal for translating Sipho to one of the most spoken languages in the whole World - Spanish!

What's more to come
Sipho is about living things and it is alive itself. This update has some balance changes sneaked in which illustrate what's to come - better balance, more synergies and more stats to mutate!

More notable changes:

  • Highly rewritten level spawning logic which should improve performance by a lot
  • Energy Leech steals buffs
  • Pushers Push what Voiders Void
  • Damage Resistance stat, which is currently used by Piston's Extended neighbor buff and poison (negative values)
  • Swarmer performance is no longer comparable to bitcoin mining
  • Polyp buff is further-reaching
  • Lots of bugfixes
  • Caltrops are sticky and activate on touch
  • Turbine Joint Protection buff adds +10% health instead of +1 - scales better with Mutations
  • Round Max Health instead of flooring it - consistent with other stats
  • Polyp releases what it's attached to if it gets damaged
  • Use deterministic hash for Grid Spawners and Boss fights
  • Swarmers can attack Deep zooids
  • Following Effects correctly check if attached poolable has been despawned
  • Deep Zooids emerge from depths when they die
You can find the whole changelog here, at Pastebin!


[ 2024-01-01 16:21:07 CET ] [ Original post ]