HomeGamesUpdatesPricingMethodology
Steam News29 March 20206y ago

MULTI-LAYERS & THE ROUTE TO BETTER COLLISIONS

Hello everyone! For quite some time, we’ve been discussing potential ways to improve the game’s collision while remaining simple enough to allow complex designs.

Full notes

Full Sinking Simulator update

Read the full published notes in a cleaner layout. The original post stays linked below.

What changed

0 fixes5 additions3 changes0 removals
  • Gameplay
  • Workshop
changedHello everyone!For quite some time, we’ve been discussing potential ways to improve the game’s collision while remaining simple enough to allow complex designs.
addedHello everyone!We believe we’ve found an elegant solution to this issue and it is by using a “Multi-Layered” system. Essentially, it means, most aspects of the creations will be simulated on different layers. For instance, you could have the Hull of a ship as a different layer than the background “non hull” Since the hull would be on a different layer, it will be treated as a different entity and it won’t be subject to the same amount of force as the background “non hull” of the ship. It means we could (in theory) properly simulate Water pressure as the inside of this new Hull layer would be empty, (as opposed to the usual ships that use the background “non hull” to fill the space).
addedHello everyone!Using the Hull on a new layer would also allow some types of interactivity that weren’t possible before. For instance, If the weight of water inside the ship is properly simulated, it could exert stress on the hull leading to structural failure and collapse.
addedHello everyone!It would also allow the creations of new Tools that only interact with a given layer. This means we could destroy only the hull while keeping the background intact This isn’t possible right now because it would cut the ship in 2. While cutting only the Hull would allow the ships to keep their structural integrity and of course, expose the inside to the sea water
addedHello everyone!Layers will open entire new ranges of possibilities for the creation of various contraptions and complex structures. However, for that to be possible we need to introduce new features “constraints” to the game
addedHello everyone!Combining those features together can lead to some amazing creations. For instance, you could make a drawbridge, a piston, an engine, etc… Near limitless amount of new possibilities.

Hello everyone!

For quite some time, we’ve been discussing potential ways to improve the game’s collision while remaining simple enough to allow complex designs.

For the sake of simplicity and helping you folks visualize what I mean, I’ve used the software “Algodoo” in order to demonstrate the idea using a similar system. You can download it here : http://www.algodoo.com/

We believe we’ve found an elegant solution to this issue and it is by using a “Multi-Layered” system. Essentially, it means, most aspects of the creations will be simulated on different layers. For instance, you could have the Hull of a ship as a different layer than the background “non hull” Since the hull would be on a different layer, it will be treated as a different entity and it won’t be subject to the same amount of force as the background “non hull” of the ship. It means we could (in theory) properly simulate Water pressure as the inside of this new Hull layer would be empty, (as opposed to the usual ships that use the background “non hull” to fill the space).

Using the Hull on a new layer would also allow some types of interactivity that weren’t possible before. For instance, If the weight of water inside the ship is properly simulated, it could exert stress on the hull leading to structural failure and collapse.

It would also allow the creations of new Tools that only interact with a given layer. This means we could destroy only the hull while keeping the background intact This isn’t possible right now because it would cut the ship in 2. While cutting only the Hull would allow the ships to keep their structural integrity and of course, expose the inside to the sea water

What else can be done with Layers?

Layers will open entire new ranges of possibilities for the creation of various contraptions and complex structures. However, for that to be possible we need to introduce new features “constraints” to the game

Constraints are features for ship builders that will allow them to constraint layers together in multiple ways

Axis: The Axis will create a point between 2 or more layers that will only allow rotating motion

Weld: The Weld is like the Axis, with the exception no movements are allowed between the points

Rail: The Rail will use 2 points and allow 2 or more layers to move in a linear motion between them.

Motor: A motor is essentially like the Axis with the exception it applies torque in the desired direction.

Combining those features together can lead to some amazing creations. For instance, you could make a drawbridge, a piston, an engine, etc… Near limitless amount of new possibilities.

What about collisions?

Self Collision is something we wanted to include from the start, however it’s quite complicated to do properly Though, This multi-layer system won’t necessarily help simplifying collisions, It will however, create the potential for a much better system.

Right now, the idea is to keep each layer independent of one another, meaning they won’t collide with each other. But layers with the same ID will.

Since we want to move the Hull to a different layer than the background (non hull) It will allow players to drop a heavy object on top of a ship and pierce through the entire ship without cutting the ship in half. Instead it will just punch its way through the hull layer and expose the bottom to the sea water.

Though, the Hull layer won’t be completely independent of the background layer Otherwise both would end up separating and that’s bad. We don’t want them to float away from each other. Therefore, the Background will need to act like a support for the hull and vice versa.

What about loading the ships?

Due to the increase in complexity, we believe the best and simplest way to load a complex creation is to simply ZIP it with a Json file targeting each part of the creation. The game would then load the zip file and of course upload it on the steam workshop

However, it is also likely the game will include a Ship Editor to make the whole creation much simpler. This way it may be possible to create things that would not be possible by converting image as images are limited by the pixels and it starts to get very complicated when we have many layers and potential interaction between them.

Source

Steam News / 29 March 2020

Open original post

Changelog.gg summarizes and formats this update. How we read updates.