Click here to play with the prototype.
This latest update includes an event which fires every time the player moves to a new tile on the world map. Right now it returns the x and y coordinates and the elevation (based on color) of the current tile. Using that information, I will be able to set up a random-ish encounters table which takes into account environment (e.g. elevation), and factors such as distance from civilization, latitude, and the like. But for right now the deciding factor will be elevation. The system will work something like this: Each creature in the creature library has, as two of its attributes, a minimum elevation and a maximum elevation. This ensures that critters will not appear in inappropriate places - nobody wants to fight a squid on top of a mountain. It just isn't done.
This is pulled from the design document:
There are attributes for time and date, which I am not currently using. If the particular game whcih I build with this engine requires it I can add times of the day and seasons, and adjust encounters accordingly. This will make things more complicated however; right now I am looking at a single variable - elevation - to sort out the encounter. Each additional factor doubles the amount of data to sort through before the fighting begins - Day or night? Spring or winter? Close to a city? In water or on land? Full moon? You get the idea.
In my 4E5 project (unfinished) I played around with having "sources" for different raw materials - salt, iron, wheat, and the like - the distance from which determined the likelihood of coming across a random deposit, and also helped set the buy/sell cost of the material while trading. This could also be determined by elevation, if I really want to go to town on the granularity of the game.