Jump to content

Prevent "floating" tiles


Colin

Recommended Posts

Floating tiles can be very unrealistic when someone builds a "floating" bridge.

So I propose that when a player walks onto a tile, it does a simple X condition to see if the floor is connected to a support (i think 2 tiles connected is fair, since it is possible to build like this - with higher carp the length could be higher, e.g. 3-4 tiles), the support doesn't need to be all sides, just as long as 1 wall piece is below that tile.

If the floor tile has no connection and support, it collapses to the ground (the tile below) as unusable wood/planks and of course the player falls also which may cause damage....

 

On the 3 example images, the circle represents the player, the brown squares are tiles (floor), the green X is the conditional check, the blue box is a wall or support.

Image 1 we see the player is in the middle tile, there is a wall on the tile to the left so it is ok, same goes for image 2, there is a wall connected to the tile above the player. But on image 3 the wall is an extra tile up, so the condition fails and the tile the player is standing on should crumble and drop.

The condition check should be increased with carp level, if the tile looks bad condition it should support only 1, level 3 should be 2 tiles, 7 should be 3 or 4 tiles. (the images would represent a level 3-4 carpentry)

 

This would also be useful for building structural traps for other players or zombies.


What do you think?

collapse1.png

collapse2.png

collapse3.png

Edited by Colin
Link to comment
Share on other sites

3 hours ago, Kim Jong Un said:

This is a good idea, however having that small of a support radius is kind of counter-intuitive as it makes it terrible for people wanting to build cabins with larger main rooms.

 

Actually, I think this will not be a problem. At level 1, they could build a 2x2 room, which for real, if someone can't build a wall without holes, they certainly can't build a roof that is stable... at level 7 at 4 by 4, they could build a 8x8 room, which could be extended even larger by using columns :)

Link to comment
Share on other sites

Probably, if a tile is "unstable", it should also use the lowest quality sprite, even if you have level 10... so if you build a tile outside of the possible range, it will use a level 1 floor sprite, this will give users a chance to think about whether it is safe to step on.

There is also the possibility that it could instead receive damage as you walk on it and play a "creaking" sound, with enough time to turn back before it collapses.

Link to comment
Share on other sites

Well not necessarily if someone has bad carp skill or even good they could only make a 2x2, you could use pillars to add a bit of structural integrity.

9 hours ago, Kim Jong Un said:

This is a good idea, however having that small of a support radius is kind of counter-intuitive as it makes it terrible for people wanting to build cabins with larger main rooms.

 

Link to comment
Share on other sites

I understand that, but I'm thinking about how this would damage the ability to build something super extravagant without the ability of more kinds of supports that aren't totally intrusive. I'm confident that if it's introduced in the way the OP says I should be fine, but the radius should be a fair bit more generous. Either way people with skybases will be forced to produce a realistic compound so it's a win-win, I just think it shouldn't be so harsh.

Link to comment
Share on other sites

Although I'm primarily an Assembly coder, I decided to give a shot making a very simple proof of concept lua script for testing, however I have zero experience with the PZ API and having a little difficulty finding the documentation for the API to perform tile/IsoObject destruction, currently I am testing with object:RemoveTileObject(floortile) which seems to work, however, it does not replicate over MP/network or remain permanent, there are a few other problems with the API so far but as a test bed to see how it would work I think it is fine.

 

If anyone can tell me how to get RemoveTileObject to replicate on network, please do, I am very short on time at the moment, but if I solve this problem and make a few further adjustments I will post the script/mod as my first of hopefully many PZ mods.

Link to comment
Share on other sites

Not much to add except for OHMYGODPLEASEYES. My server took to adding wooden posts to our expanded second story walks because it looked too silly. Maybe if there were a roofing build mechanism that didn't require supports, this could still permit elaborate single floor structures but demand more forethought for taller buildings.

Link to comment
Share on other sites

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...