May 29, 2015

Second step on Global Map.

I can report a success of Global Map implementation. 
We start at vertical map of Frontier Catacombs;

We can enter location we are currently visiting and this location will have all entrances it has on global map (Ancient lift and tunnels).  
Lift and tunnels are interconnected by roads, so you can travel to next “millstone” without frustration.
So, when you enter a location through tunnel you will be near tunnel entrance and can follow the road of move to forested area and explore caves.


Of course, we need normal GUI and graphics for global map. GoodSir, do you hear me? ^_^
Now you can explore “dangerous catacombs of the Frontier”, but generator know how to create only one single scene for you: big town under attack of necromutant horde.
This is it. You understand my next goal. Teach generator to create different scenes, based on some basic seed.

Here are my plans:
We have two (yet) major “features” to add to local map: town and forest.
When forest is a placeholder. When map generator ends adding “major features” to a map it will run one additional cycle and place forest to every single empty map block that remains empty.
Forest is named as “major” feature, because it includes small features inside of itself.
It means that forest may different “tree” density and two algorithms of three placing. Scarce and thick blocks.
It has different “forest” items: stones, truffles or sticks.
Local creatures – semi-neutral giant roaches and  “minor” features.
Minor features are objects that are to small for global generator to care about them.
It is farms, lumbermills, abandoned shacks, nests and so on.
When ‘forest’ generator creates forests it add “minor” features on its own behalf.
What have I add to this model?
a. ‘feature’ probability. Features has their default probability, but main generator should have ability to modify it if needed.
b. Flags. It isn't needed right now. Because all caverns have one setting, ugh, underground caverns, but later on we will need guiding flags to prevent irrelevant objects to pop at wrong places.

Okay. This is enough for the forest for now. It is a placeholder for ‘empty’ map blocks. Let’s speak about ‘major’ map features.
There is only one ‘major’ map feature right now – town;
It creates sprawling underground city along roads and one square near nearby. Then it turns building into houses and shops in predefined proportion.
Also it add a lot of neutral ‘citizens’ and ‘necromutans’ to make a scene ‘town attacked by mutants’.
So, what have I do here?
a. Different sizes of towns: None (hehe), homestead size (one block), town (near roads), city (near roads + 1 additional square around).
b. couple of additional features for the town except houses and shops. Tavern, maybe? Any ideas?
Population:  I want global generator to have an ability to adjust population. For example, by default, towns will be populated by humans, but global generator should be able to spice it up with mutants.
These are my close plans for generator itself. Of course,  we need more ‘major’ features and so on, but I speak about future couple of days of development.

Second part is generator “seed”. The script for a generator.
I have two levels of development for the ‘seed’.
Every single local level of Catacombs would have a list of parameters (for upcoming versions):
Town size, population (humans, neutrals, animals, necromutants etc);
Forestation limits (scarce to thick);
Features flags;
Mana contamination (affects additional “roaming” necromutants);
These parameters should be filled for every level with help of procedurally generated algorithm. So map will look somewhat balanced.
From other hand, this algorithm is long term plan. During this weekend I’ll make seed generator based on totally random generation. We will see how it will work.

So. This is my plan for this weekend.
Cheers!




No comments:

Post a Comment