tsunamayo / Starship-EVO

Welcome to Starship EVO bug tracking repo !
112 stars 17 forks source link

[New build - EXPERIMENTAL] 21w12a: Physics engine overhaul #3681

Open tsunamayo opened 3 years ago

tsunamayo commented 3 years ago

Some big progress have been made on the physics engine overhaul with the migration of the brick narrow-phase logic to the new framework. It moves from a grid-based system to a Bounding Volume Hierarchy one.

Improvements:

Changes ahead: Unlike many voxel building game Starship-evo uses bricks that can be rescaled and placed in various increment. It only uses a voxel logic to allow a few features like voxel paint, smart border and HP armor computation and up until this update the brick physics narrow-phase. Having an hybrid solution has many drawbacks like memory usage and code complexity. Following the latest technological breakthrough it has been decided with the community to move away from the voxel logic.

Here are the impact for this and the following builds:

The upside for this switch are:

This was quite a heavy refactor so bugs are to be expected! Thanks for reporting any regressions.

Bugfixes:

3673 Opening the spaceship computer slows fps on large ship after close.

tsunamayo commented 3 years ago

Build is up! This is quite a massive one, there will be bugs. Also you can check the new look, it is quite a departure, you loose a bit of visual pop with the lack of border, but we will get used to it and forget about the older look. It dont think it justify the extra cost of keeping voxel.

ZachZent commented 3 years ago

image image It appears the blocks and system are defaulted a very dark paint both in the codex and when placed. Not the normal black paint as you can see I painted the bottom right the default color, black, then white. It also doesn't look like the entire stretched block can be painted like a brick

image When placing the starter block, it places at a very weird angle.

Finally, the invisible block bug is back with a vengeance and I may have found a pattern. When in my graveyard world when the game is first loaded, building on the first ship I interact with there is no issue. But if I decide to build on another ship, another entity, blocks will start to turn invisible seemingly random. Sometimes every block, sometimes every other block, sometimes completely random. I started a new fresh world, placed down a starter block, broke it, placed down a second and it was invisible. The blocks placed on it had the random invisible problem already stated. output_log.txt

cloudrambler commented 3 years ago

The patch notes on the main menu page are missing a lot of entries. Everything since 20w20c is absent, save for the current entry.

Kaiser-Indrasil commented 3 years ago

I think I know where all the edges ended up... it's corner blocks ;)

Starship_EVO_Uv5YiYPTl3

...and round blocks

image

Looks like the gravity and habitat terrain collision check are disabled so we did some shenanigans with the bois

image

When testing collision check optimisation, I noticed that it works very janky for very big builds like the Venator. When I tried to ram it in a Kodashi, it started glueing towards me, promptly accelerating itself towards me to a ridiculous speeds of 2-3 km/s.

image

I've noticed that turrets happily choose to shoot through their own grid. This is not a problem for now since you've disabled damage, but it will eventually become one.

Starship_EVO_BYUtgZ1X38

On the positive not, collision calculations are much easier on performance! On top of that, looks like you somehow fixed #3640!

Tocks13 commented 3 years ago

Sooo, very cautiously asking:

Improvements:

Significantly less memory usage, especially for large build. On a normal game RAM saving are between 300MB and 400MB. Entity / Entity collision check is now fully using the new Data oriented logic and multi-threaded, which means that FPS will stay steady during collision heavy situations. Children entity collision check is also using the new framework but have yet to be multi-threaded. Some large FPS improvements have been made.

Does this mean, size/weight limit on child entities can be gotten rid of/increased? Last time I asked, a long time ago, Tsuna said he doesn't want to right now, because the collision calculations were too costly for large moving parts. But this engine change seems to address that problem. So maybe increased limit or limit as option soon? insert cat with puppy eyes Emoji

Dwarf-LordPangolin commented 3 years ago

So maybe increased limit or limit as option soon? insert cat with puppy eyes Emoji

I don't think we'll ever see the size/weight limit being made optional, as a large part of the reason for that element is related to the gameplay: bigger, more powerful turrets are supposed to track more slowly. You can have a fast, rapid-tracking turret, or a powerful turret, but not both. But it would be nice if it were increased; there are some larger moving parts I'd like to have on ships as well. 😄

Tocks13 commented 3 years ago

I don't want to move large things faster. I actually like that there already is a slowdown for larger parts. What I mean with increase is only to be able to move larger Parts at all. Don't really want to increase the speed. More control over the speed might be nice, but I think that was proposed a few times already and Tsuna said he likes the idea, but that he has other priorities right now. And I mean option not optional. Like a server side option for setting their own limit, at which you can't move parts at all anymore.

Uncle-Ulty commented 3 years ago

Well, I'm noticing some CE disapeared, idk. Also, the light logics are missing

Some huge block details:

image

this is cursed!

image

oh lawd... My beautiful interior!

image image

I loved the borderless bricks! image

goodbye tiles :(

image

omg, my wing is so ugly now x.x

image

cursed wings

image

tsunamayo commented 3 years ago

@Uncle-Ulty I see, there is a few brick where I forgot to remove the border (wood floor, hepta / corner). Will be fixed for next build. Light are not working on your build? @Kaiser-Indrasil there should be collision with terrain, where you in multiplayer? Also do you have a link to the venator? @ZachZent let me check this. Also it is weird the no glow issue should have been fixed...

Kaiser-Indrasil commented 3 years ago

@tsunamayo Nope - I was in singleplayer. Also that Venator is Gmunga's, and I think he uploaded it somewhere on GitHub for you

tsunamayo commented 3 years ago

I just saw there was no gravity indeed, but I have collisions with the terrain...

Briaireous commented 3 years ago

I too am having the same problem as Indrasil with no gravity and no terrain collision. My new entity blocks when placed, appears sideways just like the image Zach shared. any spawned builds will also be at that same slant.

tsunamayo commented 3 years ago

@ZachZent both issue are fixed for 21w12b. Thanks

tsunamayo commented 3 years ago

Does everybody have the no terrain collision issues?

Briaireous commented 3 years ago

well... i exited to title, went back into the same character, and then terrain collision is a thing again as well as gravity to an extent

Uncle-Ulty commented 3 years ago

@Uncle-Ulty I see, there is a few brick where I forgot to remove the border (wood floor, hepta / corner). Will be fixed for next build. Light are not working on your build?

Most of them aren't working, just a few. This is strange.

tsunamayo commented 3 years ago

@Uncle-Ulty I have an issue with light on blueprint load. At game startup they are fine...

tsunamayo commented 3 years ago

@Uncle-Ulty light issue fixed for 21w12b. Thanks

Uncle-Ulty commented 3 years ago

The lights are ok now ! I'm kinda sad that we lost the tile effect for while, but I'm very happy that the curves are more smooth now. This makes a huge difference in interiors. The overall change is awesome!

image

image

Kaiser-Indrasil commented 3 years ago

Also, hovercraft do backflips now (footage pending)

Garrett-C commented 3 years ago

When testing collision check optimisation, I noticed that it works very janky for very big builds like the Venator. When I tried to ram it in a Kodashi, it started glueing towards me, promptly accelerating itself towards me to a ridiculous speeds of 2-3 km/s.

image

Oi I haven't officially published that yet. The zip file said for tsuna you fool. :p