Sanctimonia: Vegetation Trampling Works!
One of the neater features that Kevin Fishburne has been trying to implement in his Ultima-inspired online RPG engine, Sanctimonia, is vegetation trampling. So say that a player repeatedly traverses the same path across a spot of grass. After some point, the grass will wear away to reveal the dirt beneath, much the same as can be observed in any city park. This is actually a surprisingly complex feature, since it involves treating each texture applied to terrain as its own separate layer, rather than treating all textures as one “baked” layer permanently overlaid on the terrain.
And as of his last report on his progress, Kevin has this feature (partly) working:
Vegetation trampling now works! I set it up (as a test) to kill 100 inches of vegetation wherever players walk. The server permanently commits it to the landscape vegetation layer data file and sends it out to players when they require new cell data. It doesn’t show immediate results (unlike plant growth’s immediate feedback, which will be removed), so you have to walk out of the cell and back to see the new path. Outside of testing it will only remove one inch of vegetation rather than 100, so it will take multiple tramplings to reveal the soil beneath. Also the vegetation doesn’t grow back yet which is shitty. I’ll put up a proof-of-concept video in a moment.
It doesn’t appear that he has yet posted a video to his YouTube channel, but I’m sure it won’t be long before he does and drops the link in the comments.
Sweet, again the project news (mine and others) is awesome. Speaking of the devil, I’m rendering the aforementioned video right now. There’s this sinister bug (unrelated to trampling, though I’m still diagnosing the crap out of its cause), that crashes the game when you traverse cells in just the right way. It’s driving me crazy as it keeps crashing while I’m recording the trampling video.
Anyway, the video will be done in about 40 minutes according to kdenlive (1280×720 webm at 15 FPS). You’ll notice as mentioned that no trail is immediately viewable (by design), but when a cell is re-sent by the server it shows the effect. Just like you won’t be allowed to “watch the grass grow”, the results of vegetation trampling won’t be relayed in real-time. I also preserved the crash at the end of the video. Good ol’ “Out of bounds” error accessing an array when calculating the player’s elevation. I need a good brawl engine to vent my frustrations. 😉
As promised:
http://www.youtube.com/user/VasCorpBetMani?feature=mhee#p/u/4/3VqBMsHFxM8
That is awesome. I suppose you will add the fact that it will be updated on the fly, or will you keep the updates of trails as a “enter the cell” type.
Congrats!
That vegetation has at it too easy for too long. I’m glad someone is finally standing up to it.
Thanks. For a couple of reasons it won’t be visually updated on the fly. First it would look strange if you saw the textures immediately change from “dense vegetation” to “medium vegetation” as you caused tiles to cross their texture depth threshold, and second because it would drastically decrease the frame rate of the client having to constantly redraw tiles around the player as they walked. The number of vegetation sub layer textures and the rate at which the vegetation layer will be reduced should make the effect gradual enough that cell refreshes should be more than sufficient to represent the change realistically.
Also, yes, vegetation has been static for far too long. If you want a picture of Sanctimonia, imagine a boot stamping on vegetation–forever. At some point the vegetation will inexorably grow back, but as mentioned that has not yet been implemented.