HOW TO USE : Click on Make Map to create a new random map. If it takes a long time, wait. It should be worth it. Once the map appears, click and drag on it to see the terrain height profile along that line. The "Important Number" range is between 14 and 19. The optimal is 18, and 14 yields an interesting result.
TERRAIN - Priority 3
I am satisfied with the terrain generation algorithm for the time being - apart from the abrupt cut-off at great heights (hence the pronounced plateau effect on the mountains). Valeys and depressions are less course than the mountains (which increase in courseness as they rise up).
PATHFINDING - Priority 1
The pathfinding algorithm has improved considerably but is still, as you can see, not quite there yet.
I have had a look at a few of the most popular algorithms (A*, Dijkstra, Best 1st, etc.) but I have decided to try and figure it out for myself. Invariably I will be re-inventing the wheel, and my wheel will look and work very much the same as all those other wheels, but at least I can call it MY wheel :-]
Rought terrain and water bodies are considered obstacles to be avoided, but at this stage, not at all costs. The path will still traverse mountains and water if no other path could be found.
At certain points the path tends to "bunch up". This happens when it reaches a point where it is surrounded by impassible terrain but still finds terrain in its immediate vicinity which it qualifies as valid. It therefor ends up going around in circles. I have a very strong suspicion that the randomness I have included (for that natural, organic look) may have something to do with it ;-)
PATH ORDERS - Priority 2
Finally, the order in which villages are linked by paths is far from being ordered. I have a greatly simplified grouping orderer at work which tends to overstate the importance of a specific village in a group, and the "all roads lead to Rome"-effect becomes apparent. I'll sort it out once I get the pathfinding thing going.
ORDER IS IMPORTANT
The towns and paths -- or rather, the neural nodes and pathways, form the backbone of an AI learning system, the structure of which is almost entirely determined by the environment. Each town (community) has unique knowledge/skills, and each has the abitiy to form new knowledge/skills from new information. This information travels via the paths. The more connections a community has with others, the more information it receives, however, this places a burden on information processing which in turn reduces the informational capacity. Skills allow communities to prosper, but use the same resources as information processing in order to increase/improve in a way that is determined by circumstances and projections. The assessments about circumstances, and the setting of goals result from information processing. One of these skills, of course, is pathfinding.
NEXT STEP - Priority 4
This project started as a test run for pending work but has worked its way into my programming schedule as a semi-permanent fixture. Once the first 3 priorities are finalized, I will have a pseudo-3D map generator complete with places, roads, rivers and classifiable (sp?) terrain.
Yet, I don't know what to do with it. By the looks of it I'd guess one could build a game around it...some sort of multiplayer piraty-treasure-island-settlementy kind of RTSy thing.
Or, since the sea-level is easily adjustable, and the terrain cassification relatively simple...maybe a conway-game-of-lifey kind of real timey bio-simy thing.
Or both. I dunno. Any ideas? Mail me!