FakeFishGames / Barotrauma

A 2D online multiplayer game taking place in a submarine travelling through the icy depths of Jupiter's moon Europa.
http://www.barotraumagame.com/
1.77k stars 408 forks source link

Quartz was unreachable for a mission - Cold Caverns 💎⛏ #9414

Closed Danielkaas94 closed 2 years ago

Danielkaas94 commented 2 years ago

Disclaimers

What happened?

Quartz was unreachable for a mission, passage was so narrow a person could not slip in

Reproduction steps

Singleplayer - Cold Cavern, bad luck of map generation for mission caves looking for Quartz 20220619124205_1

Bug prevalence

Happens every now and then

Version

0.18.12.0

-

No response

Which operating system did you encounter this bug on?

Windows

Relevant error messages and crash reports

No Crash
Regalis11 commented 2 years ago

Thank you for the report!

You don't happen to have the save file or a level seed still available? Without those it's practically impossible for us to reproduce this (unless we happen to be lucky enough to get a similar level).

Danielkaas94 commented 2 years ago

It is my current campaign file I will take a look after work

Danielkaas94 commented 2 years ago

Map seed: MDLiJCPx

It was between Libya Linea Mining ➡ Salthole Habitation

Regalis11 commented 2 years ago

Hmm, I unfortunately couldn't find any minerals placed like this in that level. :/ They were all placed on an open area of the cave with plenty of space to reach them:

image

The size of the submarine can affect the level generation though, so I suspect I was using a different sub than you which causes the level to differ slightly. If anyone happens to run into this again, a copy of the save file would help us a lot in diagnosing this!

Danielkaas94 commented 2 years ago

STONKS.zip

I am pretty sure, I started the campaign with the Azimuth, But I have to confess, that I did use some mods (M1911, AK-47), but I guess these weapons shouldn't have any influence on the map generation

Regalis11 commented 2 years ago

Hmm, still no dice. :/ This is the level I get in the provided save: image

NilanthAnimosus commented 2 years ago

Tested against 0.18.15.0

I have not been able to duplicate it in the save, noticing the generation is different (May test 0.18.12.0 against that save at a later time)

For now though in the level editor I have noticed the following seeds with very narrow points in cave generation:

image

coldcavernsadvanced - VxBK9z0v - Barsuk - bottom right cave has an extremely narrow path with no other route available, looks to be impassable, can still swim through it but just barely. I imagine generation could get ever so slightly .

coldcavernsadvanced - oeRvyFtW - Azimuth - bottom left cave along the red line is extremely narrow (But alternate path is available)

Regalis11 commented 2 years ago

Addressed in https://github.com/Regalis11/Barotrauma-development/commit/588766b1d6fcdf60dd920ea205840bf15223658d

NilanthAnimosus commented 2 years ago

Tested against dev commit https://github.com/Regalis11/Barotrauma-development/commit/ceeaa1f6e103b64bd5f9084ae26ec7198e0c2185

I have found new potential seeds worth looking into when rapid firing leveleditor maps, the main path routes generally seem to be more accessible and I think the fix has improved things, but there are some narrow areas where I think it shouldn't be and another interesting effect of level gen that may or may not be concerning (IE. if resources spawn there).

Coldcavernsadvanced - Barsuk - BID1GrIH - Bottom left cave had a very thin point where the resources went down into, don't think its impassable but interesting it generated this way.

ridgebasic - Barsuk - GAHHHCOu - Leftmost cave at the bottom of it (though an alternative pass available) looks like the tightest point I've seen across all seeds.

ridgebasic - Barsuk - NGPusJUs - Top cave (alternative path available) has an extremely tight point.

ridgebasic - Barsuk - IPRoHMdM - Left cave (Not bottom left), very questionable ore spawning through a tight gap off the path, like the first seed but probably much worse.

Regalis11 commented 2 years ago

Pushed another fix: https://github.com/Regalis11/Barotrauma-development/commit/98e1ffdf5fa2f779c285a5da6894f1b2127cc81f

The issue in those levels seemed to be how we "round" the voronoi cells. In this pic, the blue cell is what the level generator initially creates, and the red is the final shape after we extrude the wall to make it rounder. image

There was some logic in place that should've prevented extruding the edge if there's another solid wall facing it, but the comparison was broken (trying to find a wall facing away from it, towards a solid cell, when it should be the other way around).

NilanthAnimosus commented 2 years ago

Tested against dev commit https://github.com/Regalis11/Barotrauma-development/commit/68d02ff7ba62555e380a24ff29b99b8a05450339, no issues found, closing.