Jump to content

Below ground farm (or greenhouse) in winter biome?


Dukex13

Recommended Posts

Right, but the suggestion was to use light level as a proxy for "inside". It is not difficult to create a low light level without actually creating a structure that would really be considered "enclosed". A medium-sized ceiling-only canopy would create very dark shadows. Heck, just stand next to a large pine tree and you're in low-light conditions. But...warmer?

 

The only way for the game to determine "inside" in a way that would be reasonable would be (I think) for it to do a bunch of vector tests, constantly. Like constantly shooting arrows of infinite velocity in every direction and testing what they hit. Then there have to be rules about terrain vs blocks vs trees vs everything else. Then you have to test for contiguous walls somehow, since it's possible the vectors all impact a block, but those blocks are actually part of independent structures. And etc.

 

It's just not easy, which is why games don't go there. I have only an academic knowledge of the computational problems involved; I trust that the experienced, professional game developers would solve the problem if they could, within the constraints of consumer CPUs, GPUs, and memory.

 

Edit: Also everything Oz said.

 

Hehe. Worse even than spraying vectors in all directions, you'd have to do like a A* pathing in all directions and in all combinations, because, as you mention, a blocking block as it were, might itself still lead to an open area, so I reckon only A* pathing (or similar like it) would truly ever accurately resolve whether a block was enclosed or not.

 

- - - Updated - - -

 

Its not just calculated vertically.

 

Unless it has very recently changed, it's calculated vertically, and then flows out 5 blocks in all directions.

Link to comment
Share on other sites

Hehe. Worse even than spraying vectors in all directions, you'd have to do like a A* pathing in all directions and in all combinations

 

Some ways, possibly, the game could kinda sorta do it:

 

1) If the player is standing on a spot known to be within a generated POI, and no blocks of the POI have been destroyed, then the player gains some insulation. No vector or A* checks just (Player is inside POI) && (POI is intact) = insulated.

 

2) Survival hut: do a 3M radius vector check. If all vectors impact terrain (not trees) or solid blocks, then gain some insulation. The short vectors are a hand-waving solution to the A* "drafty building" problem. Yeah there could still be pathways to "outside", but it's all close enough that it's reasonable some insulating effect could be gained.

 

3) Pine trees: when standing within 1M of a live pine tree (especially the ones with branches reaching to the ground) you gain some small insulation.

 

I am absolutely not recommending these; just noodling ways that maybe some sort of "inside" insulating factor could work. I still think the risk/reward of using fire is more fun.

Link to comment
Share on other sites

Some ways, possibly, the game could kinda sorta do it:

 

1) If the player is standing on a spot known to be within a generated POI, and no blocks of the POI have been destroyed, then the player gains some insulation. No vector or A* checks just (Player is inside POI) && (POI is intact) = insulated.

 

2) Survival hut: do a 3M radius vector check. If all vectors impact terrain (not trees) or solid blocks, then gain some insulation. The short vectors are a hand-waving solution to the A* "drafty building" problem. Yeah there could still be pathways to "outside", but it's all close enough that it's reasonable some insulating effect could be gained.

 

3) Pine trees: when standing within 1M of a live pine tree (especially the ones with branches reaching to the ground) you gain some small insulation.

 

I am absolutely not recommending these; just noodling ways that maybe some sort of "inside" insulating factor could work. I still think the risk/reward of using fire is more fun.

 

1 would limit the effect to POI's only, so player made bases wouldn't benefit from it.

 

2 would mean the enclosed structure could be only 3 blocks wide, kinda squeazy eh? And it would still have to be periodically re-checked to ensure it was still enclosed.

 

3 could work, but not sure how useful it'd be, but yeah, it wouldn't kill the PC to do it.

Link to comment
Share on other sites

Its not really rocket-science to program a simple approximation of enclosed spaces. Its just needs to be good enough to work in most situations.

 

Alright, then, let's agree to disagree. I'm not sure what your current career path is, but if you have this particular issue solved - when many games have not solved it - then I might suggest a path to riches for you: formalize your algorithm and publish it. Charge licensing fees to use the technique in games.

 

Nobody yet has found a solution for computing "inside" in a player-modifiable world which will run on consumer-grade hardware. You will make many millions. Just be sure to publish and get the copyright ASAP, and at least a patent application started. Protect your IP.

Link to comment
Share on other sites

Alright, then, let's agree to disagree. I'm not sure what your current career path is, but if you have this particular issue solved - when many games have not solved it - then I might suggest a path to riches for you: formalize your algorithm and publish it. Charge licensing fees to use the technique in games.

 

Nobody yet has found a solution for computing "inside" in a player-modifiable world which will run on consumer-grade hardware. You will make many millions. Just be sure to publish and get the copyright ASAP, and at least a patent application started. Protect your IP.

 

First: I know how to program a volumetric floodfill search. Second: Im talking about approximations for gameplay purposes, not some scientific proof of enclosure.

The game pretty much has the algorithm already in place with the lightlevel, enough to determine a difference between "outside" and "in some structure". even with different levels between them (and more than just a vertical trace).

Link to comment
Share on other sites

1 would limit the effect to POI's only, so player made bases wouldn't benefit from it.

 

2 would mean the enclosed structure could be only 3 blocks wide, kinda squeazy eh? And it would still have to be periodically re-checked to ensure it was still enclosed.

 

3 could work, but not sure how useful it'd be, but yeah, it wouldn't kill the PC to do it.

 

Completely agree on all three. Sorry it looked like I was refuting your point about really needing A* instead of just vectors. I was not. Just positing some Q&D ways that maybe something kinda-sorta like OP was asking for could be done.

 

The more I think about the weeping pine-tree idea, though, the more I like it. Make them juuuust insulating enough to help with survival in the snow biome if you get caught out there. Huddled in the freezing temps, barely protected by pine boughs, hoping a zombie doesn't uncover your hiding spot. Do you light a torch for some additional heat?

 

They could work like the Dimetrodon in ARK:SE (another game with the exact same issues surrounding temperature) - they confer +5 degrees insulation when you're close (but don't add to the heatmap). You could even plant several in a small circle and make a little protected area. To be clear, the "protected" comes from the combined +5 (or whatever) insulating factor radiating from the trees, not from some real-time calc about whether you're "inside" the tree ring.

Link to comment
Share on other sites

First: I know how to program a volumetric floodfill search. Second: Im talking about approximations for gameplay purposes, not some scientific proof of enclosure.

The game pretty much has the algorithm already in place with the lightlevel, enough to determine a difference between "outside" and "in some structure". even with different levels between them (and more than just a vertical trace).

 

I'm not talking scientific proof either. I'm talking making a crapload of money, man. Many people whose job it is to figure these things out have failed where you have succeeded. The "publishing" isn't about scientific journals, it's about protecting your idea. Then license it.

 

I personally cannot see any way that light level can be used to make even an approximation for "inside" vs "outside" but to be fair I do not know how to program a volumetric floodfill search either! Which is why you're going to be rich off this and not I.

Link to comment
Share on other sites

I am a bit confused. Skimmed this thread and am seeing some stuff that I question.

 

1) About indoors not changing the temperature. I could have sworn we already had this. It is why you will lose the freezing or overheating debuff once you go inside for a bit, or go underground. And why the loading screen tells you "build a fire or get indoors"

 

2) The underground green house used to work but it was a bit more complex than a hole every 10 blocks. You had to calculate it in a diamond pattern of blocks below each hole (This was useful in PvP to keep a hidden farm that wouldnt get rekt) Light also diminished more the higher the ceiling was (where the hole for the light to shine through was) I forget the exact measurements as its been a few years.

 

I have no idea how all this is changed in a17-18, nor do I understand all the scientific mumbo jumbo. Just curious if it is because this stuff has changed recently or what.

Link to comment
Share on other sites

I am a bit confused. Skimmed this thread and am seeing some stuff that I question.

 

1) About indoors not changing the temperature. I could have sworn we already had this. It is why you will lose the freezing or overheating debuff once you go inside for a bit, or go underground. And why the menu tells you "build a fire or get indoors"

 

2) The underground green house used to work but it was a bit more complex than a hole every 10 blocks. You had to calculate it in a diamond pattern of blocks below each hole (This was useful in PvP to keep a hidden farm that wouldnt get rekt) Light also diminished the higher the ceiling was (where the hole for the light to shine through was) I forget the exact measurements as its been a few years.

 

I have no idea how all this is changed in a17-18, nor do I understand all the scientific mumbo jumbo. Just curious if it is because this stuff has changed recently or what.

 

Yes, true, just checked, it does determine the temperature already based on beeing indoors or not. Was not sure if it did (I usually play in the forest area)

Again, shows that its a problem that is solvable with some proper coding.

 

And it does determine enclosure horizontally, not just by a trace down. You can test that with building some simple structure, filling the the blocks.

Link to comment
Share on other sites

While you guys are arguing if it's impossible, I went into the snow biome and built a 3x3x3 wooden shack with a door.. go inside, close the door. "Feels like" raises 10 degrees. Open door, walk outside, drops the same 10. Repeat about 5 times. (Just to check if it still works tbh)

 

Soo, it's not only possible, it has been in the game for quite a while now. Slow, perhaps buggy, but it's there.

Link to comment
Share on other sites

I am a bit confused. Skimmed this thread and am seeing some stuff that I question.

 

1) About indoors not changing the temperature. I could have sworn we already had this. It is why you will lose the freezing or overheating debuff once you go inside for a bit, or go underground. And why the loading screen tells you "build a fire or get indoors"

 

 

Yes, the problem here though (from what I've seen) is that glass blocks don't count when "being indoors" is calculated. Build a room with wood and you can go inside. Build it with glass and you cannot.

Link to comment
Share on other sites

Yes, the problem here though (from what I've seen) is that glass blocks don't count when "being indoors" is calculated. Build a room with wood and you can go inside. Build it with glass and you cannot.

 

Heh I should have read the OP. Makes sense though that if it lets the sunlight in it will let the weather in too, it will count as not being enclosed for both.

 

As far as plants not growing, If I remember correctly, stuff like corn needed 4 blocks of clearance (maybe it was 3) To test just destroy a single block in the ceiling so there is 4 blocks of clearance then try to plant under that. If it works, there ya go.

 

Used to be if you could not even plant the seed it was most likely clearance. If they didnt grow it was most likely light. Just my experience from the past. If none of that worked than stuff changed.

Link to comment
Share on other sites

Used to be if you could not even plant the seed it was most likely clearance. If they didnt grow it was most likely light. Just my experience from the past. If none of that worked than stuff changed.

 

As of a couple of nights ago, you still can't plant something if there isn't enough room about it.

Link to comment
Share on other sites

Since I was there, continued testing..

 

Closing the door isn't actually necessary.

 

Don't lean on the wall, seems to count me outside on the back wall of the tiny cube.

 

Break the roof block, inside temp drops 2 degrees. Replace it with wood, back to normal.

 

Break the roof, replace with Glass block (the lootable trash block, cube shape), same results. Repeat

 

Break the roof, replace with Bulletproof Glass block (the craftable block, center plate shape, horizontally), same results. Repeat

 

Replace Door with Bulletproof Glass. Temp rises 1 degree

 

Replace Door and roof with Wooden Blocks, temp rises yet anoth 6 degrees (16 degrees total, in a complete wood cube)

 

 

So, the glass insulates better than a door, but worse than a wooden block.

 

I don't know how much better one would want this tbh? :)

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...