alephnaught wrote: ↑Wed Mar 13, 2019 12:19 am If roads were implemented, there's the potential for further use of procedural techniques to generate POIs along major routes (say, inns at crossroads, random shacks with bandits and loot, shrines etc) which would add yet more life and realism to the game world, and provide the player with reasons to actually explore. [...]
I couldn't agree more. Though most of them are longer than I would like to quote here, I also like jayhova's comments because, if implementable, his suggestions might be the best solution available.
I think the rules skipper outlined and jayhova's original suggestions actually do not contradict. I would appreciate jayhova's take on what Jay_H suggested in his 17 April 2019 post.Skipper wrote: ↑Tue Apr 16, 2019 6:39 pm Keep in mind, the game is not real, and it does not have to follow most of real rules.
Also, you want to keep an algorithm as simple as possible, getting somehow believable result at the same time.
Throw away everything, except few rules that make sense for a game and fit into it.
1. Roads connect places. This is good rule. It fits into game concept and allows to explore the world without need to constantly check your map. You just follow a path defined by road and you end up somewhere - a city, or other settlement type, or ruins, or tomb, or camp, whatever point of interest you want.
2. There should be various roads (not many types), e.g. stone roads between big cities, dirt roads leading to smaller settlements, and abandoned variations of both types for ruins and wild, secret or hidden places.
3. Roads cross each other sometimes. Period.
4. Roads are not straight lines, for various reasons. And, human's eye likes when roads are constantly wriggling, it gives more natural look to roads.
I am not sure how much the end result would differ. If there is just a little difference and it is a lot easier to implement (or to run the calculations for that matter), I would go the easier route, cause having a bit awkward roads is still better than having no roads at all.
If the problems is mainly that the algorithm yielding acceptable end results would take too long to compute on the map of DF, then perhaps the best way to go would be to make use of the computing power of the human brain first and then use algorithms to work out the details.
I mean there cannot be that many great population centers. As a first step, someone might manually go through these and see which ones should be connected by road independently of their other connections. We should refrain for excessive road-building. Building roads is expensive, so I think there should only be a few long high quality roads. If some two places are connected by water, then no point in adding a road - people would have just shipped their stuff via ships (small pun intended). This might make most of the inter-province roads unneeded.
So you have established which big places should be independently connected by road. Fine. Now, run an algorithm to calculate where these roads would be - one by one. There should be no need for many iterations, so we can afford to have a computationally demanding algorithm for this. This algorithm should make use of jayhova's suggestions, mainly about inclines and declines and computing the route commerce would actually take to reach place B from place A (perhaps even considering going past other settlements in the process - like if a steep decline is penalty than going past an actual settlement is a negative penalty). I wouldn't worry about turns and bends. If there are realistic enough hills on the map, this algorithm will generate the turns and bends pretty much like actual road-builders.
If the algorithms used presently are good approximations of the above, then I don't want to complicate things, go with those that you are using. I just cannot judge if this is the case. But you can, so just disregard my suggestion if it is redundant.
Thus, the backbone of the Daggerfall road network could be formed. Then, go by province to province (or even pick smaller sub-regions) to get every place that we want connected to the network actually connected. The algorithm used here should differ form the former one in that it would be designed to find the cheapest way to connect to the existing road network not to a given point. It takes more computing power to do so, but we'd only need to run it on a much smaller portion of the map. Ports should automatically be considered to be a part of the network so nearby settlements without any nearby roads would try to connect to these. This two step approach should yield results that are realistic enough and take much less computing power in comparison to any one algorithm used on the map as a whole. Perhaps a three step approach could also be considered if two steps are not enough.
Sorry if this suggestion is just a repetition of something that is already common thought, but having read the thread from its beginning, it was not obvious to me if this is the case. Better have it twice than not have it at all.