PlaneShift
Gameplay => Wish list => Topic started by: Darkvoid_bluff on December 27, 2007, 07:28:41 am
-
Just a thought on the paths throughout PS, would it be possible for the traffic between two points to be recorded & the paths shift accordingly?
Going from green/grassed on little travelled areas graduating to the white paths that we all know & love for the heavily trafficked lines, allowing them to follow the paths that people are actually taking.
In extreme areas of inactivity trees may begin to sprout eventually forming that will require woodcutting to move along ever again
Also possibly a stamina penalty for not staying on the path?
-
That would be great. But I bet it'd be damn difficult to code, I doubt it is possible with the tools at hand.
-
I'm sure things like different walking speeds on different kinds of terrain and "leaving footprints" on the ground that will form tracks eventually are things that are thought about in both the PS and CS league. However, it is not high on the list. Perhaps in a few years we will see it.
-
Different walking speeds etc. are thought of and afaik there also were some improvements regarding this. However, having *paths* altering the terrain... that's a completely new idea - and a great one, I must add. I'm pretty sure that it's possible to add with (relatively) little effort.
I imagine it could work as following:
A terrain-map (like grassland) is split into sufficiently small fields (thinking of hex-fields of 1m edge length), all numbered.
Each field has a counter "times_used".
When a land-moving entity moves onto a field, the times_used gets incremented.
This should not be a big impact on CPU since the server knows the pos of the entity and can check the field used each 1 m the entity has moved.
It's also not a problem if it's not exact.
There's a standard-grass texture for fields that have 0 <= times_used <10, a stomped on grass texture for 10 <= times_used <50, a mud texture for between 50 and 100 etc.
I think we even have these textures already.
After an ingame-day (5 hours or 6 RL) the times_used counters of all terrain fields get decremented.
The biggest problem I see is the interface between map, textures and server, which is basically a CS thing.
-
The heightfield grid is not hexagonal, rather squared (not to mention triangles, but that's one step too far), so it could rather easily be managed as an array.
Imagine the positional distribution display you may see as analysis of the two players after a tennis match. After each midnight of game time, this "map" could be overlayed onto the alpha map reliable for the "dusty road" texture, as the grassland texture is the basic one, if I remember right. And the "dark rock" areas won't be changed ever.
There is just one little issue... The updated alpha map has to be offered by the server as update day by day.
-
Thanks for taking the idea seriously, I suppose the update down side could be reduced with weekly rather than daily updates.
-
Indeed -- vegetation grows slowly. And differences will be little: a hardly noticable patch of grass less on the hill, another more on the road.
-
Does that mean very determined individuals could stomp their names into the ground? :P
-
I'd think vandalizing the Octarch's land would be a punishable offense.
-
Crystal Space supports both parallax mapping and decals. I wonder if one can put the two together to produce dents in the ground wherever the server needs to without changing the world geometry.
-
From what I know about CS, the terrain is a static mesh so you can't go around deforming it without rewriting CS. I also think that if you tried to cover the ground with "entities" (3d objects) like grass and plants, you'd get a huge number of entities really fast. With draw distance clipping it might be possible to cover the ground with entities, but that won't be efficient or good for the frame rate...
-
I love this idea! It's features like this that I think will separate PS from the rest in years to come. It's good to see another Tasmanian here too :)
-
@ aersixb9:
Altering the alhpa maps for the texture overlays is a lightweight operation.
And implementing adaptive foliage (differently probable temporary meshes in relation to a map) could be possible, but due to some issues people are already remarkably hurt by uniform foliage (the same grass patch everywhere).
Furthermore, comparing with the best foliage I've ever seen ("Serious Sam: Second Encounter", ~v1.5), the foliage in PlaneShift is much too opaque, or the full-opacity radius too large.
-
There is a thing I see that could cause problems, and that is the shortest route between two place is a straight line. Without some impementation of the earlier mentioned ideas, ie: slower walking for different terrain, lose extra stamina for climbing hills etc there is a danger of all the roads in PS becomg straight slines. I know for a fact that now I have progressed sufficiently in PS I no longer bother to follow roads, it's straight as an arrow to get where I want to be as fast as possible. If this is implemented there needs to be incentives to follow roads as they are in real life. ie: roads go around hills because heavily laden carts can't be pulled over them, roads go to river fords or ferries rather that straight through in the direction we wish to go.
I love the idea, and implemented right it would be great. Imagine going to someplace you havn't been for a long time and you get lost in the woods because the paths have changed, like where the hell did this forest come from anyway?
-
There is already a hard limit of steepness you can climb. A kind of "soft limit" would be nice, but will increase the server load due to more complex movement calculations.
I like shortcuts too. But I hardly use really the straightest possible direction.
-
There is already a hard limit of steepness you can climb. A kind of "soft limit" would be nice, but will increase the server load due to more complex movement calculations.
I like shortcuts too. But I hardly use really the straightest possible direction.
Who needs roads if you have paths? I understand the desire for scenic reasons, but I like the idea of eliminating the roads altogether and just allow paths to develop naturally. This would also lead to paths to mines and other areas of interest...the Gold mine would be a dust bowl, whereas the silver mine might have a light path to it.
This is a fantastic idea, if it is easily done.
I suppose you could leave the roads in place for use for carts/wagons, or whatever else may be on the way.
-
I imagine things like changing the vegetation and terrain slightly, as well as putting down paths wouldn't have to be a daily update.
Infact, a monthly update would be just fine.
I think monitoring quite a few activities to change the world accordingly wouldn't be impossible. When certain skills come in, I imagine it would be very interesting for other changes to be observed.
For instance, simply make forests smaller once people start cutting them down for wood, perhaps a change in hillscape when people dig and mine (though that would seem harder to change).
Hopefully fish will already move around in schools. I would also hope that people would be able to plant herbs.
Back to paths though...
I imagine that if one path is heavily traveled then there could be various stages of modification.
Eventually the path would become paved (to a point, I imagine that how far it is paved would depend on how close cities are as well as continued trafic).
I could even see some hills being lowered, and paths being cut through the landscape.
Eventually bridges would be a must.
More interestingly, I think small monuments and ornimental items that reflect the archetecture of the area could start showing up in heavily populated areas.
Perhaps some monuments can name the first player(s) who had traveled along the general path.
This is of course a low priority project, but I would find this small touch an awesome addition to scenery.
-
/me watches Lemming-like hordes of Kran walking over a hill over months to flatten it... :D
-
On that note, why not have paved roads that get potholes and such, and eventually get worn down and turn to gravel roads if nobody's taking care of them? Or get torn up by vicious monsters at some points?
Maybe some NPC guards could patrol it closer to the cities, too...I can see some opportunities for new quests coming from that.
-
I really like this idea. I must admit, it's not something I've ever seen in a game before, and I think it would be a very neat feature. It might also make traveling a bit easier; right now it's nearly impossible for newcomers. I was lost for hours, mostly going in circles, trying to get from Oja to Hydlaa, what with no maps or signs and all the paths looking the same (and mostly rather vague).
-
I bet that this is a good idea but my used to work on online games and he said that it would be extreamaly difficult but make the game more realistic.
-
That would require a team of professional programmers and woud more than likely result in over population of trees which result in alot of lag. I don't mind the idea of a forest being added to one of the roads, like off th the side maybe, but generally that would be extrememly difficult and time consuming to code.
-
That would require a team of professional programmers and woud more than likely result in over population of trees which result in alot of lag. I don't mind the idea of a forest being added to one of the roads, like off th the side maybe, but generally that would be extrememly difficult and time consuming to code.
It would require
1. Level of Detail for items. (which we need anyway)
2. Adaptive labeling for unpickupable items. (which we need anyway)
3. Random spawning with spawn rules over areas. (which we need anyway)
4. A feature to remove/substitute certain items with others over time. (which is needed for fields of fruits etc. as well)
5. Reactive Landscape. (which is discussed here)
I can't think of anything else that is required to do this.
-
I like this Idea. Just some thoughts:
there is the problem of straight line paths, but maybe this can be offset by requiring carts and vehicles to use static roads (im a noob, so i have no clue if they exist, and if there is a banking system, disable access from multiple location so that people have to travel with carts to other places to do large scale buy/sell). I think that the abilities could be developed, but shouldn't be implemented untill the game is more stable, and the experience is more aesthetically developed. There already seems to be problems with (baked in shadows?) in the first town, [insert name], especially involving the trees, so I can foresee how good intentions can complicate the game's development, hampering bug fixes before it can handle the challenges. That doesn't mean don't develop it, just don't add it to the public releases for a while.
other thought:
people will keep using populated paths, so I doubt the straight line paths would disappear, as for the world, Itd be a pity if it turned all dirt or paved and and jugs and artifacts were everywhere. This is an Idea that would have to be implemented very carefully.
-
This is an Idea that would have to be implemented very carefully.
Like any other >o)
-
About the paths becoming straight lines in PS..
If there were other features ingame such as bogs or streams and fallen trees or stony terrain people will avoid these because they slow down your journey(or so i hope),
so if these were in real life paths would not be straight but would be going around these types of things like in real life where paths go around marshes.. see where im coming from?
-
If there were other features ingame such as bogs or streams and fallen trees or stony terrain people will avoid these because they slow down your journey(or so i hope),
so if these were in real life paths would not be straight but would be going around these types of things like in real life where paths go around marshes.. see where im coming from?
Yes, this also fits very well with another idea I had not long ago:
For developers it is possible already to place items in maps and selectively turn on collision detection. You probably noticed the table and chairs near Harnquist's - that's an example for this feature. In guildhouses all items have automatically collision detection enabled.
This is not only possible for furniture or items but any mesh.
The second thing are the stalactites that apparently have fallen down from the skydome long time ago and now are spread over the landscape.
Now it would be possible to remove the stalactites from the static maps and make them item-meshes with collision detection.
It would be already relatively simple to place them manually in the maps and so forth, but I was thinking a bit ahead:
The starting point would be a blank landscape map, except "special" fallen stalactites. There would be dangerous areas, specified by devs.
In these areas the engine would randomly figure out a point in the map in a more or less random time frame. At a given time, a grey spot appears on the ground, which grows fast and gets more and more black. After a few seconds, the spot disappears and an impact effect comes into play. All entities in a given range are killed and a "fresh fallen stalactite" item is placed, still covered by a dust effect.
After a while the dust disappears and only the stalactite would remain.
Since there's rain etc. the "fresh fallen stalactite" item would be replaced by an "older fallen stalactite", then by a "pile of rocks" and finally vanish completely again.
Making the event of falling stalactites rare enough to not fill the landscape with stones but often enough to freak people out and make them avoid these areas would have similar effects like the one you described.
Edit: Of course this would also imply that specific items don't have labels. It is already strange enough to have table and chairs with labels.
Edit2: And it would require action locations to be stickable to dynamic meshes, too.
-
With the recent talk about adding grass to Planeshift I've been drawn back to these kind of ideas. The older thread "dynamic paths (http://www.hydlaaplaza.com/smf/index.php?topic=7888.15)" is locked so I thought I'd necro this one...
I've been doing some thinking and calculating about growing and stomping down grass to make and remove paths. First some base points:
- I've mapped one of the road to Ojaveda maps and calculated that it's total area is around 725k square coordinate units.
- I know of 4 outdoor areas that I could see this whole idea of dynamic paths making sense (2 roads to Ojaveda and 2 roads to bronze doors)
- From the Tech Talk we know that the bottleneck currently lies with the bandwidth. So the focus of these deliberations will lie with that.
- Since the server knows where every character is at all times and has CPU and Memory to spare the analysis of Player movements can be done server side
- 1 coordinate unit is about 2-3 times as wide as a character
- Making paths is a rather slow process
So I've been putting together a few numbers:
- On the basis of the grass shown in the dev blog about 8 degrees for the strength of a path would suffice. 16 would be hardly noticeable and 4 could be a little rough but might still work.
- 1 square coordinate unit looks like na adequately fine grained tile size to grow paths so lets run with that for now.
- Using that tile size we would have a total or around 3 million tiles for all the four road areas. At 3 bits per tile that would make about 1.25 MB (~300kb per road map) for a complete download of the grassmap.
- These grassmaps could arguably be cached for at least a day due to the expected slow build up of paths. That would leave us with an an absolute maximum of 1.25 MB per active player per day
- Aside for standard compression algorithms the size of the grass map could be further reduced by defining areas where grass cannot grow like rocky terrain, very steep slopes or stalactites. All the tiles in those areas could simply be omitted from the grassmap. All that would be required would be a static file client side to indicate which tiles are missing.
- Even finer paths could be extrapolated client side by projecting the grass map onto a 4 times finer grid and using something like a anti aliasing algorithm to smooth the paths
As for the serverside analysis of the player movements there are a few more points that came to mind:
- The weight of any player's steps would have to be put into relation to the amount of inhabitants that can be expected to live in these few and relatively small cities.
- Also instead of weighting the steps of all players the server could simply just monitor only a few random players to reduce the cpu load
- The server could monitor the paths and notify the dev/gm team about paths that remain over a prolonged time so that they can be moved from the dynamic model and into to static map.
- The server would only have to generate the grass map file once for every cycle. And with a simple hash comparison the clients could determine whether they need the new file or not.
-
@ Kerol:
You are crazy. In the best kind of meaning. :thumbup:
-
Me.. *twitch* - crazy?! *twitch* :sorcerer:
-
i like the path changing idea, but it would make playing the game harder if it overloaded the server.