Jump to content

Recommended Posts

[Notice: Read @Tigin's post below for info on door pusher mechanics]

All of my tests so far have been with powered mech doors (except in the videos where I shot it all in one take)

 

Vertical [Greater than 50kg Common]

 

1st - Top Center

image.png.e872ddf2b6c2c425c34276973517c996.png

 

2nd - Upper Right

image.png.0bd295343bdf02985684fb141cf3723c.png

 

3rd - Upper Left

image.png.3a4185e24c13f5e2aa2ef79c443a1a79.png

 

4th - Top Right Corner and God bless you ✝️

image.png.9725ba1c1fd0bff2ebd8f56cab984b90.png

 

5th - Lower Right

image.png.df29458509f412fe600d3bb7533516fb.png

 

6th - Top Left Corner

image.png.dcd62cddb8c75cb6974ca965ed8de111.png

 

7th - Lower Left

image.png.56a7fe05d641ad6d8282c8a18750d6bf.png

 

8th - Buried Upper Center of Door

image.png.325e723540e3b2795da46e0aee3c6453.png

 

image.png.e4122832fe46bca4863c10f0ac7dde50.png

 

9th - Unburying Objects [Shenanigans!]

 

While testing, towards the end of the video, something peculiar happens.

Found the reason as to why this happens. If you pause the game at the right time while unburying debris, they will be pushed as though their offset places the debris 1 tile above. This is because the debris is always teleported to the upper tile of the door when unburying.

To clarify

bury debris -> open door -> pause game immediately after opening -> debris which is usually teleported to upper tile of door, now has its offsets placed in the tile above the door -> uses the usual trapped debris mechanics to decide what cell it ends up in.

I have tested this on <50kg debris and can confirm it happens in that case too.

This is so much worse than I originally had thought. With items under 50kg, the timing for pausing is very lax when it comes to placing debris to the Lower Right OR Top Center of the door. I can see why a lot of builds fail now when using debris formation in tiles. I'd say when building something that has debris formation in tiles, you might need to add some sort of buffer or weight plate automation to mitigate this effect.

 

Vertical [Less than 50kg Common & Without Pausing]

1st - Lower Right

image.png.08651b2736ec4108d4744bcba33a304f.png

 

2nd - Lower Left

image.png.0602b2d153a528b5ff43780bcfa922e8.png

 

3rd - Upper Right

image.png.f6d2869bdf6753d0c0d3dada3c5315e9.png

 

4th - Bottom Right Corner

image.png.c5a6d99f4eed6b780a52bf4542f7747a.png

 

5th - Upper Left

image.png.7d8c4774dc54a614d1c0a6c1d2c5290d.png

 

6th - Bottom Left Corner

image.png.d49366486e841d5e371221db10582262.png

 

7th - Buried Upper Center of Door

image.png.3e7650ec2eec238ab5a835017ba47503.png

 

8th - Unburying Objects

image.png.a2ae295f13e0acb1728b5d76b3943302.png

 

Horizontal doors treat all mass the same and I could not reproduce the pause bug with horizontal doors.

Horizontal [Any Mass Common Left Cell]

1st - Top Center Left

image.png.beae6b00cfcc7a1aaf4d62b761cf9723.png

 

2nd - Center Right Cell

image.png.5c3c96b419e2dbbffec31c3d80dc7d8a.png

 

3rd - Top Center Right

image.png.87cbfaebc2d92068d7013a3544974efd.png

4th - Right Most Side

image.png.54735e94df8baf5e6dbd944655e2d293.png

 

5th - Left Most Side

image.png.c1750e4c4b826fdf9dd26e61e83f5729.png

 

6th - Top Left Corner

image.png.2d3dbdcb02ce3dfa705f5b047bf08381.png

 

7th - Bottom Left Corner

image.png.375ab0da013fe75178a6fb3eb64271e7.png

8th - Buried Center Left Cell

image.png.e35b87e1382b2d4b8fa8a6c4e2fc1934.png

 

9th - Unburied Center Right Cell

image.png.bf49740a7ade5737eb6f0dde68be160f.png

 

10th - 2nd Closing Top Right Corner

image.png.6903f5cab2f3aafee92d149487727fb9.png

 

11th - 2nd Closing Bottom Right Corner

image.png.632af45a1ab798379f99234bb8649ffd.png

 

12th - Loop Detected

1 - Start

image.png.8e8b605166e3d59237010b23bc68510b.png

2 - After Locking Before Closing

image.png.f140131979e92c9ff266308060e733c6.png

3 - After Closing

image.png.9437f2de778cf28ef878073545edcf20.png

4 - After Opening

image.png.e825b8dcbe52acceb310930912155594.png

5 - After Locking Before Closing

image.png.9473e7b7e934e43967e54625db3925cd.png

6 - After Closing

image.png.826d14a0833a40fabc2710f96818fba3.png

This cycle repeats from the start

 

Horizontal [Any Mass Common Right Cell]

1st - Top Center Right

image.png.6bbc37940eb1f7ca58b15adfc2ef0c45.png

 

2nd - Right Most Side

image.png.23737301216682bee028e8cc314dd6cd.png

 

 

 

3rd - Center Left Cell

image.png.b57d7e85ca980941f09804b37653e0a5.png

 

4th - Top Center Left

image.png.9e28244307e62aac7876360b1614a5cb.png

 

5th - Top Right Corner

image.png.0bf1850413928aae17e411a8819f1297.png

 

6th - Bottom Right Corner

image.png.1c793bf381bb069ce0a05884cfb09ff3.png

 

7th - Buried Center Right Cell

image.png.03d17fb6c1a1349733b0ad7ab87871c9.png

 

8th - Unburied Center Left Cell

image.png.2f03ef2adb04ec06a046664663f78ed6.png

 

9th - 2nd Closing Left Most Side

image.png.b4f54fc602b66e171d43508f063c8c02.png

 

10th - 2nd Closing Top Left Corner

image.png.392d300af38ef60a25e3a9cc22316f08.png

 

11th - 2nd Closing Bottom Left Corner

image.png.433bee17d1a31d9e3163404a7bfa6796.png

 

12th - Loop Detected

Same as previous horizontal door loop.

 

 

[To Do: test <50kg on horizontal doors and whether the pausing bug affects them]

 

 

 

All of the pics shown above align with @Tigin's post

 

Edited by BLACKBERREST3
  • Thanks 1

This sounds actually very useful if you could do it for all elements in some methodical way! Are you testing only vertical doors, or horizontal too? I imagine for horizontal ones it would be reasonable to test both tiles?

I think I tracked down the mechanism, or at least parts of it (There may be more door shenanigans).  It's purely based off the collider radius - offset of the pickupable. Large values will be placed in the upper tile of the mechanical door immediately before closing. Otherwise it will remain in the lower tile of the mechanical door.

When the door closes, it'll then look in the following order for an open spot to place the debris:

(0, 1)   UP
(0,-1)   DOWN
(1, 0)   RIGHT
(-1,0)   LEFT
(1, 1)   UPPER-RIGHT
(1,-1)   DOWN-RIGHT
(-1,1)   UPPER-LEFT
(-1,-1)  DOWN-LEFT

So if the pickupable is in the upper tile, then it's easy to see it'll move the item directly above.

If the pickupable is in the lower tile, then UP isn't available (the door is in the way) and DOWN probably isn't available (it's the floor) so the next candidate is to the right.

For specific items:

Eggs are huge (kBoxCollider2D.y = 0.8) but have an equally huge offset (0.36), so they always close to the bottom. 

Egg shells are deceptively huge (kBoxCollider2D.y = 0.6) and have no offset, so they always close to the top.

Normal pickupables like ores scales its size with mass every 50kg. I did not find any difference between refined metal and ore. At >50kg, the pickupables will go to the top tile. At <=50kg it will go to the bottom.

https://oxygennotincluded.wiki.gg/zh/wiki/Module:Data/Items contains info about kBoxCollider2D.y, but unfortunately doesn't contain data about its y offsets. You specifically need to look for low values of kBoxCollider2D.y / 2 - offset.y. It seems the only other item besides eggs that really satisfy this are feather fibers though.

Edited by Tigin
  • Thanks 2

forgot to put the link for the vid I was talking about. debris forming in mesh tile is also found in the wiki as well. Very similar mechanics it seems.

From what you said @Tigin

This could explain why sometimes builds break when using this mechanic because items change size and location randomly as they fall causing debris to clip into entirely unexpected positions. (gonna do some tests real quick, I forget what the average deviation is when they fall, I'm pretty sure I've seen them stack midair and fall 1-2 tiles away left or right)

edit; okay I was half right, I didn't see them stack midair, but they do fall X amount of tiles away when deconstructing or forming. The distance depends on height of the fall, the higher the drop the further the deviation can occur.

This is exactly the mechanics I’ve observed as well. debris gets pushed in a certain order and now I know that it depends on its collision box and offsets.

makes sense to me.

I think that’s most all of it. I’m just gonna read your post every time I need to know where items will end up.

 

 

1 hour ago, Tigin said:

https://oxygennotincluded.wiki.gg/zh/wiki/Module:Data/Items contains info about kBoxCollider2D.y, but unfortunately doesn't contain data about its y offsets. You specifically need to look for low values of kBoxCollider2D.y / 2 - offset.y. It seems the only other item besides eggs that really satisfy this are feather fibers though.

I never knew about this, there is so much info here 😮. Even oni-db doesn't have all of the stats. What is "SurfaceAreaMultiplier"? it says crushed ice has a gas surface area multiplier of 1000 compared to other elements at just 1. nvm, it's written on the wiki under thermal conductivity. between temperature clamping, microgram clamping, temperature duplication with doors, and other fun mechanics, I usually just try to play the vanilla way with temperature management for this game. Never got into figuring out how exactly temps worked in this game aside from shc, tc, and just stacking every layer of building I could at something. tbf, I did beat the game that way years ago. game is still buggy, but I love it.

Edited by BLACKBERREST3
33 minutes ago, BLACKBERREST3 said:

I never knew about this, there is so much info here 😮. Even oni-db doesn't have all of the stats. What is "SurfaceAreaMultiplier"? it says crushed ice has a gas surface area multiplier of 1000 compared to other elements at just 1.

This is a data dump the wiki uses from an exporter mod. Surface area multiplier refers to Element <-> Element TC: Generally cells exchange heat each tick via

0.2 x Delta Temperature x Geometric Mean(Cell1, Cell2) x Cell1 Surface Area Multiplier x Cell2 Surface Area Multiplier (This is where the x25 gas multiplier comes from, and the x625 liquid multiplier comes from) and there's a few special cases like snow/thermium as well.

  • Like 1
10 minutes ago, Tigin said:

This is a data dump the wiki uses from an exporter mod. Surface area multiplier refers to Element <-> Element TC: Generally cells exchange heat each tick via

0.2 x Delta Temperature x Geometric Mean(Cell1, Cell2) x Cell1 Surface Area Multiplier x Cell2 Surface Area Multiplier (This is where the x25 gas multiplier comes from, and the x625 liquid multiplier comes from) and there's a few special cases like snow/thermium as well.

I remember where I read that from now. I think I remember mathmanican writing a piece on that at one time. I was never smart enough back then to follow his posts 100% of the time. it was more like I grasped 20% of it and then I would play around with waterfalls XD

I'll probably use all of that at some point to create a massive boiler room and 02 chiller. I got by years ago with a much smaller design, but I think I'll go bigger this time and see how much material I can boil at once. One of the reasons I like to have an open base design is because it's easy to just dump pools of water to somewhere below instantly cooling whatever I need to. Getting it back up is the problem though.

Edited by BLACKBERREST3

I’ll share a few pics later just to add some graphics on pushing items. it’s late. I’ll do it tomorrow.

2 hours ago, Tigin said:

(There may be more door shenanigans)

I’ll see if I can find any, but I am pretty happy with that answer.

I've updated the op...SHENANIGANS!

I don't know if this is crossing bug territory or not. It is documented and repeatable now, but I don't like the fact that it's tied to pausing the game.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
  • Create New...