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 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.
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);
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!
Cheers!
No comments:
Post a Comment