Page 1 of 1

Deterioration

PostPosted: Sat Feb 02, 2013 02:15
by Mgdie
I would like that nature reclaim its lands.

Normally if a player builds a house but abandons it later the house will stay there forever and some other player will grief at it but it will never be gone, soon this buildings will flood zones near spawn becoming a bunch of ugly structures with holes(and no one wll bother removing them instead they will go a little bit further of spawn and build another home maybe repeating the cycle).

Image

So the solution would be lets say if the home doesn't detect a player in a week dirt may fall rock develop mold, vines wood become fungi or disappears, ultimately the home is gone or some minimums remains are left of it. Decay of things

PostPosted: Sat Feb 02, 2013 02:21
by Traxie21
To do this requires that the chunk be loaded, which means if the player does not live in a well-traveled area, then this will be ineffective. Also, the rate of decay will vary based on the amount of time chunks are loaded.

PostPosted: Sat Feb 02, 2013 02:29
by Mgdie
Traxie21 wrote:To do this requires that the chunk be loaded, which means if the player does not live in a well-traveled area, then this will be ineffective. Also, the rate of decay will vary based on the amount of time chunks are loaded.


the amount of times a chunk is loaded in a certain time, can that be used?

PostPosted: Sat Feb 02, 2013 02:31
by Traxie21
Perhaps, but it will be sketchy and unreliable :L

PostPosted: Sat Feb 02, 2013 09:08
by BZab
Nice idea, but for me useless, eg. when i go somewhere for few weeks, then come back... and what? House dissapeared?

PostPosted: Sat Feb 02, 2013 10:49
by rubenwardy
How about, on chunk load, it sees when it was last loaded, and if that time was a week ago then it decays the building

PostPosted: Sat Feb 02, 2013 12:14
by Calinou
Is there any reason to do this? We aren't in real life. :P
BTW, furnaces work when they are not in loaded mapblocks.

PostPosted: Sat Feb 02, 2013 13:35
by PilzAdam
Calinou wrote:BTW, furnaces work when they are not in loaded mapblocks.

Nope.

PostPosted: Sat Feb 02, 2013 14:43
by Casimir
Another solution for the core problem would be to make somehow clear what buildings are free for all (to destroy, repair, build new, mine...) and what buildings are not. And I mean not some mods, or admins doing this but the players themselves.

PostPosted: Tue Feb 05, 2013 11:02
by thetoon
rubenwardy wrote:How about, on chunk load, it sees when it was last loaded, and if that time was a week ago then it decays the building


I think that's the way to go. Make decay parameterized, and on chunk load apply an amount of decay equivalent to time passed since previous load.

It could be as simple as running the decay function several times (let's say once per computed "day") in a loop, but there might be more efficient ways to do it.

PostPosted: Tue Feb 05, 2013 11:33
by Casimir
The following code gives a sign that shows the date it has been placed. On a server you could discuss to reach some consensus like: Everyone is allowed to place signs like this. And when it is hanging for more than a month on a building and no one removed it the building can be destroyed (or whatever).

Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
minetest.register_node("oldsign:wall", {
    description = "Sign",
    drawtype = "signlike",
    tiles = {"default_sign_wall.png"},
    inventory_image = "default_sign_wall.png",
    wield_image = "default_sign_wall.png",
    paramtype = "light",
    paramtype2 = "wallmounted",
    sunlight_propagates = true,
    walkable = false,
    selection_box = {
        type = "wallmounted",
    },
    groups = {choppy=2,dig_immediate=2,attached_node=1},
    sounds = default.node_sound_defaults(),
    on_construct = function(pos)
        local meta = minetest.env:get_meta(pos)
        local server_date = os.date("%x", os.time{year=1970, month=1, day=1, hour=0})
        meta:set_string("infotext", ""..server_date.."")
    end,
})

PostPosted: Sat Feb 09, 2013 02:30
by Mgdie
Only need the people to get around the code

PostPosted: Sat Feb 09, 2013 20:01
by Sokomine
While decay might improve some buildings (that where bad and not very creative to begin with), it would be devastating for better creations. The quality of a building and thus the decision weather it's worth keeping it or better to remove it to gain more space closer to spawn is something that requires humans to take a look. It cannot be done by a program or by the elapse of time. Get moderators to do the job - not mod(ifications) to the game.

PostPosted: Sat Feb 09, 2013 22:45
by Casimir
Sokomine wrote:It cannot be done by [...] the elapse of time

If you mean my suggestion, then you might misunderstood it. The sign is a way of communicating with each other.
I think it is a bad idea to let moderators decide what to keep and what not. It's like making the major of a city decide all alone if the house you live in should be pulled down.
With the sign it is like talking to each other. Most of the time just a few people are on the server at the same time, but much more are building. By adding one of those signs to a building you say that you think this should be destroyed. If no one removes the sign, then no one disagrees. If someone removes it than you can start discussing.
This way you can search for a consensus together. No governance needed.

PostPosted: Sun Feb 10, 2013 01:51
by Sokomine
And how often do you visit far away regions if there's nothing new there? A sign could hang for days on a house in a remote location without someone else *noticing* that there is someone trying to tear it down. The sign might even be hidden in shadows on a house on a popular road. Griefing would get extremly easy. Moderators are there to serve their fellow players and handle such situations.
The deterioation of a building might still be intresting. Provided you do it with the full consent of the owner of the building (i.e. automaticly generated structure or building built for that purpose).

PostPosted: Sun Feb 10, 2013 11:58
by 4aiman
And I like the idea.
It just needs some tweaks ;)
Here's what will satisfy me:
- No signs - just time.
- Deterioration probability should be low - like 1/100 or even lesser.
- Any node placed by player should be destroyed by nature or that very player. (Instant ownership on_place. There is a mod for this.)
- "Deterioration" effect's start should be set to 3-4 months.
- If player who owns a block that already may deteriorate (e.g. 3-4 months old) places new block near it - all loaded blocks nearby should reset their "timer" if they are owned by placer. %)
- Unloaded areas considered "out of time & space" therefore not deteriorate. (It would be nice to discover some "ancient" buildings left untouched from early days of the map)
- If owner didn't show up within 2-4 weeks from the time deterioration began - all loaded blocks placed nearby by that "owner" should be considered community/no one's property.

PS: Griefing-shmiefing... when I login at a new server, I check for mods installed first. Once done, it's only player's responsibility for not reading/understanding what "deterioration" means. Even if he/she don't understand - one can always ask.
PPS: Do not forget - most part of mods is licensed under wtfpl/gpl, so: you want it - you do it. If you can't/haven't time to/smth else - then ask for a fork, just as Linus Torvalds did regarding Gnome2 ;)
PPPS: Do not need - do not install ;)
PPPPS: Sorry if I offended someone...

PostPosted: Mon Feb 11, 2013 19:46
by Sokomine
You're right that I don't have to install it. That I don't like it the way you plan to do it does not mean that I wouldn't enjoy deterioation under other circumstances (=buildings built specificly for that purpose or really bad buildings). There are some places on Redcrabs server where the mapgen bug led to intrestring structures. Some buildings may even have gained from beeing partly destroyed. That is one factor. The other factor is that good buildings which are destroyed becaue someone placed a sign or nobody went there for some time in my eyes is nothing but automated griefing. It shows the same disrespect for other peoples creations as do griefers. It's not a good way to get place for new buildings. In such an environment, in the long run, all you will get are buildings that require deterioation because they're so bad and people didn't take time to build something good. Maybe a mod for a PvP server. Could cause severe damage if someone misconfigured it on a creative server.

PostPosted: Mon Feb 11, 2013 20:01
by 4aiman
I get your point ;)

Sokomine wrote:becaue someone placed a sign

Answer was (and still is):
4aiman wrote:- No signs - just time.


As for this:
Sokomine wrote:or nobody went there for some time

I think that if a creator of a particular building would not visit his building, then he probably don't mind that it would suffer partial destruction.
To justify this moment signs may be used. Not the signs of destruction, but of protection. Irremovable & indestructible by ANY~thing/~one of course.

PostPosted: Mon Feb 11, 2013 20:26
by Sokomine
Maybe we're thinking of completely diffrent buildings. Those that I try to construct and that I like to visit are very high-quality buildings where the creator spent time to build something as excellent as he/she could. Those buildings ought to be preserved for future visitors so that they can enjoy them as well. Maybe you're thinking of huts built in 5 minutes by players trying to kill each other in the meantime. Those buildings might look even better with deterioation at work.

PostPosted: Mon Feb 11, 2013 20:42
by 4aiman
You just don't get me. Probably my fault. Probably not.
I'm thinking about big well-designed awesome buildings. But ABANDONED. If creator spent 5 month to build smth and no one pay attention to that (even that very creator), then it should be destroyed or have a protective sign to became NOT destroyable.
Hope now it's clear ;)

PostPosted: Thu Feb 14, 2013 13:08
by andrea65751
hi..
nice post my friend.

PostPosted: Mon Feb 18, 2013 21:52
by 0gb.us
What good is this deterioration? When a player finishes a project, yes, they will move on to the next project. But that doesn't mean their old work should be lost! What this will do is put the game into a constant state of maintenance. Players will haver to run around to all their creations to make sure they don't fall apart. And what if a player wants to make a hidden shrine for someone someday to find?

This may be a good idea for some types of servers, but I think it would be bad for most servers.

PostPosted: Tue Feb 19, 2013 03:21
by jojoa1997
If you want deterioration just allow everyone to vandalize other's works