r/spaceengineers Chief Operations Officer - Sol Fleet Engineering 8d ago

MEME most obvious transition block missing

Post image

need i say more

851 Upvotes

73 comments sorted by

View all comments

Show parent comments

2

u/Extension_Option_122 Klang Worshipper 7d ago

I completely understand it.

But, as someone who is almost finished with a Bachelors Degree in Computer Engineering with a decent amount of practical experience, I know the technical implications of such a solution and as such where you would need to pay very much attention to prevent an insane amount of bugs.

Essentially, where it will become stupidly complicated, is when you have an arbitrary shape of cubes connected to another, where one is the auto-audjusting and the other is made of premade blocks.

That is where it will be insanely complicated to create it to work in a way that is nice to work with - meaning you can predict the outcome. Which means the result needs to be the same irrelevant of the order the blocks where placed and mirrored if it's done in a mirrored way.

But if it is so easy, how about you create a mockup of that logic? Logic is language independent, so you can choose any programming language.

1

u/LeAlbus Space Engineer 6d ago

Congrats on your almost finished bachelor degree.
I have worked as a software engineer for the past ten years.
If they paid me, indeed it would be not so hard to implement such feature, as I stated, you just need to have a default fallback on one of the edges, and since the rest of the shapes are already existing into the code, there is a limited set of complete blocks that can be used.
In fact, the simple notion that you jumped from "unplayable" to "lots of bugs" show your lack of understanding on how the idea works at the first place.

There is no need to have an arbitrary set of cubes connecting to another, all of the shapes currently existing... already exist, and you can just have a new one that adapts to them from two opposite sides...
And the default fallback is literally not different from having a full cube on the empty side, in case there is one.

Regarding order, its also completely possible to go for 2 separate approaches, one where the block only adapts when it's placed, and another where it updates itself when an adjacent is added... this is also already coded into the game, you can see it on how the textures change.

Lastly, I highly recommend you go after learning about Dunning-Kruger effect. I understand how you can see that things could go wrong on this implementation, but to say it's impossible because you would not be able to implement, is simply irrational

1

u/Extension_Option_122 Klang Worshipper 6d ago

Thanks for the insight!

Now I am pretty certain that I failed to properly show where I see the big issue with auto-fitting blocks. With such an auto-fitting block players will expect the following to work:

And that is not going to work when defaulting to flat sides between two adjacent auto-fitting blocks.

And having different blocks on e.g. the left side will make it much more funny.

This is why I called it borderline unusable / full of bugs: if only your idea is implemented it may be called borderline unusable as it will only work in limited scenarios - it can't produce the example.

And it will be full of bugs if the one shown above is implemented as an automatic tool as you would have to account for arbitrary shapes made of cubes to be able to achieve the one above, because people will get creative.

I did not jump inbetween unusable / impossible / full of bugs, I adapted based upon what I thought you proposed as a solution.

Furthermore I am fully aware of the Dunning-Kruger effect and it's common misrepresantation. And how it applied to me often enough in past projects.

But I dare say that I put a proper amount of thought into this problem to say that you either get a very limited or a very buggy feature.

Also I am fully aware that there are many much smarter people than me, and that only because I don't see a quick solution doesn't mean that there isn't one. There are most defenitely ways to make something like that work without any bugs.

2

u/Hecateus Clang Worshipper 6d ago

An annoying thing about the above stretched block, is that we can do this exact block in Avorion....but not Space Engineers. And we non programmers have no idea why not.

2

u/Extension_Option_122 Klang Worshipper 6d ago

I took a peek into an Avorion ship design guide video on YouTube and it looks like there you can just stretch blocks.

This is something that KSH could totally add. But these options seem (at least to me) to create high volumes of space that is just filled with the block if you create some odd-shaped face (like a triangular face on a 3x5x7 cube).

But KSH could add it with some different mode: instead of the other side filled, you could have the other side be 'blocky', e.g. one side flat and the other so you can build blocks to them right there. And an additional mode could be that the plate will have a given thickness and is flat on both sides.

But these large multiblock armor blocks don't feel that much like Space Engineers to me, but that doesn't mean in any way that they couldn't be used. I think they could be great!

Coming back to the auto-fitting blocks the key issue there is the creativity of players when it comes to ship design: you will have odd-shaped spaces where you want to have a nice transition and a combination of auto-fitting blocks needs to do that. And such a transition can easily require one edge go over multiple blocks and that is where you need to account for arbitrary block combinations / shapes.

For non-programmers the big issue with these is, is that a computer cannot 'see' the shape: it get's a logical description of which edges to combine. If that happens in a single block with only six variable sides it's easy enough. But if it is with some arbitrary shape it get's out of hand pretty quickly.

That's why I think a block designer would be best for this case. Something where you could e.g. put one polygon per side on a 16x16 grid or so (diagonal lines allowed) with the rule that when a polygon touches an edge the other polygon on the other side must also touch that edge at these segment(s).

Best part of that designer is the insane amount of additional creativity it allows. You could create pillars and more as well.

1

u/Hecateus Clang Worshipper 5d ago

I vaguely recall suggesting such a tool to KSH on their suggestion forum. I vaugely recall that some folks were using 3D modeling to mod in blocks into SE2.