I'll have to insist. We need water. Plain, simple water.

Salvador shared this feedback 23 months ago
Submitted

Space engineers is a game made for people to create stuff. What we have to interact the stuff we create with is basically the environment. Right now what we have are planets, asteroids and the empty space in the vacuum. The only practical difference between planets and asteroids is gravity strenght and environment size. Atmosphere is great, but unless you use mods, there's no wind, so there's little difference in engineering to asteroids and planets... it just adds a layer to resource management with different thuster types.


Now, if you add water to Space Engineers, besides land and space, we will have a third major environment to create stuff for. It really doesn't need to be spectacular water. It doesn't need to be volumetric. People don't want carry water around to make pools in their bases, but I'm certain they would want to make underwater bases. None of the environments we have right now are spectacular in regards to simulation because: a) voxels aren't exactly realistic and b) space... well, it's just space. What really makes these environments spectacular are not the environment themselves, but how we and our creations are able to interact with them.


Imo water could be just a fixed level present on certain planets. Dig until ocean level and you get to the water. Simple water like that is not hard to implement. You already have air tightness mechanics. Rename atmospheric thrusters to something like displacement thusters and add a dehumidifier block to clear interior grids. I know the harder part is implementing buoyancy but even that does not seem very complicated. It's basically just a reverse gravity field that also takes into account air mass inside the grid. Would it have a significant impact in the game processing? I know there are a lot of nitpicks involved but we just need a basic version and modders can implement more realism if they want like there is with atmosphere and thrusters physics for example.


Imagine you need to build a ship airtight and heavy enough to dive for resources. Imagine building a base in a planet where the whole surface is covered in water. Imagine launching a rocket to space from under the sea. Don't waste that.

Comments (10)

photo
7

Well ... good luck simulating proper liquid physics ;-)

It's not that it cannot be done - but it is really taxing on processor power ...

Or implement some simplifications ...


I suppose that's why Keen didn't implemented liquids - they are either too taxing for simulation or the simplifications destroys believability too much ...

photo
5

Complex liquid physics are useless in SE. You can't think of water like an object in a game like it. Rather think of it as a different environment. We just need a threshold surface on planets that if you go under, the friction is greater than the one in atmosphere and the ship is pushed upwards if the volume of air inside the grid is big enough to make it float.

photo
1

I think this is a valid compromise.

photo
4

It's a hell of a complicated process to do.

In most games, a single large water particle is used for calculations to make things simple. It works for relatively small amounts of water, like a very small lake. However, the terrain is relatively flat, so gravity is pretty easy to factor in. If you have a curved surface, like a planet, gravity makes this much harder, especially since a single water particle would be too small to even solve the problem.

One also would need to constantly calculate water on every planet irregardless of distance. Otherwise, when you come close to the planet, the water would have a 'sloshing' effect because you would need to generate the water particle(s) on the fly every time you get close enough that rendering would be needed, and they would be interacting against each other.

The second way of doing it is to create a separate mesh which has significantly different collision mechanics than 'regular objects', which allows objects to pass through it. That's a rewrite of the fundamental physics of the game where two types of collision meshes can exist, then recreate EVERY asset with water on it.

You would also need to change it so that the water would have a wave effect, which is somewhat similar to voxel destruction. That would tax the hell out of the engine's physics collision as the wave effects are done using quasi randomization to have certain points raise and fall.

However, kiss random generation of planets goodbye, as these meshes would need to be scaled and stretches with an equal distribution of vertices to ensure that the waves don't change is size as the mesh is stretched. Also, forget the possibility of having water "flow" should you dig a hole on the shore next to water.

It's not impossible, but would require some significant trade-offs which I guarantee would end up making more people angry than happy.

As for the idea of treating it as a new environment, that would again involve rewriting the physics engine where gravity would either be altered, or that friction would need to have the an uplift. The thing is, the values set make the game work as it is. Increasing these values leads to...serious problems that would need to be fixed, which would probably require even more tweaking and rewrites of more core code, which will probably break even more things.

The rule of programming is, one you get a system working within the parameters DON'T touch it again. Otherwise, you will be creating a constantly increasing amount of bugs and flaws.

Another final thought deals with adding in proper looking "under water" shader effects. This is probably the biggest pain in the ass, and is VERY hard to get working to a sufficient degree, especially in large bodies of water.

photo
4

OMG dude. You're complicating things so much not even games that are played almost entirely on water, like Raft and Subnautica work like that. A water mesh? Come on. What's the purpose of it? Waves can be just visual effects with scalable complexity so the person who is playing decides what is best for their system. Literally no game I've played in more than 10 years uses meshes for water or cares about this much detail on water physics. That's not what I suggested. In fact I suggested the opposite in terms of simulation complexity. BTW, afaik, planet generation in SE is not random, it's based on a bitmap. The only thing that's random is the planet radius and the meshes from the map are scaled based on that value.


How much engine rewriting they had to do to make two different kinds of planets? Aren't the moon and the earth different environments? Again, you're overcomplicating things and certainly misinterpreted what I said. Water on SE can be as simple as a single layer on a planet where besides gravity there's also a buyoance force, based on a buyoance value on the objects interacting with it. I already wrote that.


"The rule of programming is, one you get a system working within the parameters DON'T touch it again." There's no such rule for programing. Good programmers reiterate and refactor their code all the time to make it more efficient. Being conservative just because something is barely working, specially if it's not working satisfactorily, is dumb. If KSH didn't wanted to work anymore on their game they wouldn't provide a sugestion and feedback system like this. I honestly don't get players like you that use shallow pseudo-technical language to bash other ppl suggestions like you're the only person that understands about how game development works. That's pretty low.

photo
photo
2

I think this is an interesting and expandable idea. ;)

photo
2

They shot down retractable landing gear because it was "too complex"... so... liquid water?

photo
4

Water is complex only if it's volumetric. Think water in games like World of Warcraft or even 80's Super Mario Bros. Just a different physics behaviour on water environment. How is that complex?

photo
1

How is landing gear that already exists in its majority as a mod on the workshop created by non-developers in their spare time "too complex"? Don't ask me... you'll have to go to the source for an explanation to that one. I would bet cold hard cash the answer to this will be "DLC" or "next title", or something to that effect.

photo
5

Idk. Maybe it's too much work for little benefit in the context of a whole game development and PR wasn't competent enough to phrase it. Retractable landing gears are basically pistons or rotors with landing gears attached to them. As long as they make functional pistons, rotors and landing gears modders can just model different blocks for it. I see no trouble here. That's not the case for water. I may be wrong but afaik there is no base for modders to implement water physics on planets without making it an awful hack. And even if they had it, water should be a basic feature because it's a major environment for players creations to interact with. Now, is KSH holding it for a dlc? Idk also. Maybe. But that would be a terrible business practice. DLCs on games like this should be texture packs, model packs, playable story modes and stuff like that, not fundamental features.

photo
1

Sadly, a lot of good ideas are being summarily dismissed as too complex, or possible DLC, or future projects. As nice as it would be to have a rough simulation of an underwater environment, the trend I've seen here in the replies has been DLC, or future projects. They shot down concrete FFS... that's not even hard to implement, and has the benefit of giving people something to do with all the mounds of useless gravel/stone that's easy to accumulate. But... No. DLC... or future project because... reasons.


This is their response to water in ME...

https://support.keenswh.com/medievalengineers/topic/the-obligatory-water-suggestion


Take from that what you will.

photo
3

Although "good idea" is a subjective concept I think it's not our paper as players neither to reinforce what we believe to be bad practices from KSH developers nor shun them because we didn't get the response we expected. I saw some of these kind of responses you mentioned on ideas I also considered good. I remember seeing somewhere way back Marek saying they would only add water to SE if it was volumetric. I do not agree with that. From the perspective of a player of the game, I think it's a bad idea. And that's why I'm reinforcing the idea of simple water mechanics just so we can have a different environment to interact our creations with. From the perspective of an amateur developer, in regards of cost and benefit, I think it would be wise not to release the game without such a fundamental feature implemented or at least the means for modders to implement it. I will say that as long as I think it, regardless of the responses I get. If at any point in time I realize I'm wasting my time either playing this game or giving feedback to it's development, although sad because I didn't saw it become what I pictured, I will just quit it.

photo
1

That's about where I'm at. Well, I wish you luck in your endeavor good sir, maybe they will actually consider it.

photo
photo
3

"People don't want carry water around to make pools in their bases" Yes, i want a swimming pool in my flagship! :)

photo
4

I wonder how refreshing it is to swim in a pool wearing a spacesuit.

photo
1

The ability to make a dresser in your ships quarters for non-space suit use is another topic entirely.

photo
1

^That would be awesome personally. Obviously gonna need some new models for the non-spacesuit players, but this is certainly doable.There are some mods that do this, just not in dresser form. Problem is many have been abandoned :(

photo
1

The problems arrive when you realize you don't have a gravity generator.

photo
photo
2

It seems to me that if SE can simulate grass blowing in the wind, then they can similarly simulate the movement of “water”. At least, that’s my simplistic view of the issue.

photo
1

Time to break out the popcorn...

photo
1

It's way more complex to implement even simple water because it involves player interaction. That said, I think it's valid to question the ammount of effort put on a purely cosmetic feature. Specially grass, on a game where players spend most of the time on space. I think this is much more related to the issue of trying to develop two completly different games at the same time, spreading resources between both and not being able to deliver either of them, than it is to the complexity of a specific feature.

photo
1

I should have clarified in my comment that we shouldn't expect (nor desire) a player's interaction with the water, but rather have it only for a visual effect (like grass). But, now that I've said that, there is a current need to mine ice for fuel and breathable air, so maybe the additional complexity of having to do something similarly with water just isn't reasonable.

photo
1

Thirst Mechanics! Then water would be necessary!

photo
1

Unless you suck the icicles ;-)

photo
1

Mmmph there's liquid in mah mouf. Thanks Keen!

photo
1

The should just do basic water mesh with a pretty semi transparent water texture. I'd be happy with basic unity style water. All this ice on earth is a complete immersion breaker

photo
1

Drop in a simple mesh that doesn't actually move and interact like normal water, and put a filter up went the player view camera goes under the water. Don't do waves as the effect would kill the physics engine even more. Also, eliminate planet generation so we can have water.


Asking anything more than this is gonna kill the physics engine, and destroy your frame rate significantly on planets.

Doing more would need one to drop those calculations (of the up and down ripples and waves) on the GPU which will effect in game FPS because of a higher degree of efficiency of parallelization that a GPU can do versus a CPU, and the CPU is already getting killed under all of the other physics calculations and can't take that much more.

photo
1

Honestly if they can't implement something as basic and fundamental to a game as a goddamn lake, then they should just stop developing games. Seriously. This is a basic feature that EVERY GAME HAS, and you don't see them giving up core features of the game to achieve it. There's literally no excuse for this, Keen. Toss your "fluid" development process down the garbage disposal where it belongs, set up a solid, unchanging roadmap that includes fixing all current issues with the engine, set up proper multiplayer synchronization, and increasing the durability of light armor.


That doesn't mean nerf the vanilla turrets.

That doesn't mean add a new block that should have been included from the beginning.

That doesn't mean "limit their PCU even further and tell them 'tough shit' when they complain."

That doesn't mean "fix it with duct tape and some string without even bothering to do basic testing to ensure it WORKS."

That doesn't mean "Tell them it's impossible and explain that it might happen as part of a future project."


It means pull your heads out of your collective asses and deliver what you promised on the steam page: A functional, non-laggy, non-cpu-intensive, non-ram-hogging space sandbox where we can build massive starships and have epic space battles without the whole game locking up after 10 seconds.


If you can't, drop the price on steam down to $5.99 and label it "as-is".

photo
photo
1

This reminds me Medieval Engineers water mod. It was adding some offset planets to add a water level to the world.

The bad thing about it is, it was leaving previously made structures underground. Probably it was adding a larger diameter planet over the actual planet. Maybe this is to change deepest/highest points of the planet. Then adds a water planet/sphere adjusted for the offset planet.

photo
1

It's not too complex if you use a simplified model such as something like Dwarf Fortress or Minecraft.. A range of voxels with different 'levels' of water, with voxels of higher level 'flowing' to those of lower, down to a minimum level. Yes, it does require some amount of processor power, but only when there's instability in the system and the water needs to 'settle' - otherwise they're static voxels. You make sure during world creation that all voxels are either completely full and contained on 4 sides or else completely empty, to eliminate the need to 'flow' from the outset, and then the only updates that need to happen are triggered by interactions and relatively localised.


Minecraft can manage it in java on phone processors. Dwarf Fortress... yes, water is a pig there but that's mostly because it's generally flowing all the time - it can still do it on pretty minimal hardware though. Surely it's do-able in SE on a modern PC.

photo
4

In MC, everything is an exact cube.

Air in MC is a block, Voxels aren't perfect cubes in SE.

It doesn't work like that at all: As well, MC breaks itself via these water systems: and it is always way as 'up'

(SE, does not have a constant Upwards direction, on top of all other differences)


It's akin to comparing how a canvas can handle numerous layers of paint, and an sheet of flowing Glass reflects light; Neither one can apply the same logic to the other.


Now add in the actual processing costs of all these flowing calculations, before the process starts.

Now add these to the calculations the game does by itself, outside of this water system; Now you have more calculations than your machine can handle, even at top of the line.

The overhead becomes absurd, and the chokepoints tighten, breaking everything.

Simulation speed unable to keep up, with the calculation volume.


IE, Vastly different subjects.

Not applicable.

photo
1

I don't know how the planetary voxels are arranged, so I'll concede that, but I'm assuming they're still in a basically spherical grid, in which they're still 'blocks', bounded on six faces, with 'up' determined by a gravity vector. Not a cube, but still defined by a relatively straightforward 3D co-ordinate system + that gravity vector. It's still about comparing a variable to those six others (you do need to take the 'up' face into account with this, as you could still flow into that voxel on a slope)

photo
1

The answer is still no.

As there is no "up" in space.

As well, particle voxel bits, IE what mauls your miner is several pixels.

6 Faces: No as well.


Gravity is also not a consistent thing in SE either.

Welcome to dealing with multiple planets, of varied gravity, Having to simulate physics.

Your machine can not handle the processing of water, Nor the updates needed to check.

IE the volume of calculations for a patch, Is absurdly large.

photo
photo
2

would be a cool feature, but as the game has already problems with physic calculations, don't overload it anymore for the moment...

photo
1

We finally got a water mod of sorts and I made a planet for it and thats something at least and its not ice oceans. I think the water mod itself is pretty fun too its a heavy work in progress right now.

World I made for it https://steamcommunity.com/sharedfiles/filedetails/?id=1681475411&searchtext=water

Water mod itself https://steamcommunity.com/workshop/filedetails/?id=1654233231

photo
1

No i don't like the idea and and i feel it is not necessary, its just not needed and i feel it's not the type of game that needs it anyway.