Random map generator


There are really few creature dwellings generated. Can this be adjusted through rmg template?
I think it’s good if all 7 layers dwellings will be generated in player zone (if space allows)


Making first steps with adding another looks of standard objects.

Managed to add and check working of new Trade Post (it doesn’t require parameters like mine, for example, only handler “market” is needed:

	"core:tradingPost"		: {

		"types" : {
			"market_0a" : {
				"rmg" : {
					"zoneLimit"	: 1,
					"value"		: 100,
					"rarity"	: 100
				"templates" : {
					"newTemplate" : { "animation" : "markets/market_0a.def", 
					"visitableFrom" :  "---", "+++", "+++" ], 


I have an idea why this happens, but this will affect all static objects, like Utopias and Conservatiories.

EDIT: Didn’t help much. Still, it’s logical improvement.

However, the number of dwellings spawning in rich zones seems OK.


Another question:
I added a set of Subterranian Gates

	"core:subterraneanGate" : {

		"handler" : "teleport",
		"types" : {
				"subgateOBJ3334" : {

			"templates" : {
					"newTemplate" : { "animation" : "subgates/OBJ3334.def", 
					"visitableFrom" :  "---", "+++", "+++" ], 
					"mask" :  "VVV","BBB", "BAB"], 


But looks that RMG is still placing only index:0 object.


Yes. Subtype and template are very different things. Subtype is responsible for mechanics, while template is purely visual.


I’ve mistaken in words, sorry. I wanted to say it still places index: 0 template (standard map subterranean gate). I wait from it to place randomly choosen templates.


Object templates are not random and never will be, they are terrain-dependent.


I wrote allowed terrains in them all. But any of them still not appearing.

PS Templates for original object (subterranean gate) I can’t use - their information is incomplete in json (it’s taken from original config txt files).
If someone is to dump objects settings to json, it will be cool.


OK, I managed to make new mines appearances (I had to make all templates for standard mines and all terrains from scrath, and then added new templates).
So I will do with Subterranean Gate.

I must admit, that map objects configuration scheme is genieous. Ivan really did it great. I only hope it will not be very big changed in future.

UPD And looks now it’s time to start thinking about map editor…


I’ve added a few subobjects with several templates to core:cactus/core:crater.
For example, i made “pumpkin” object to “core:cactus”. And now RMG generates REALLY LOT of pumpkins everywhere (they are 1-square big). Same for crater subobjects.

I tried to configure “rmg” section (set “zoneLimit” to some number, and rarity to 50-100. But seems it has no effect at all - these objects still placed in large numbers.
Is it a bug?
Even it’s decorations, i still think it’s good to allow to set limited “zoneLimit” for them.


Warmonger, can you explain me this issue?

And another theme to think of.
Since there RMG can generate any sizes of maps, we must talk about this.
How can be impelented using other sizes of maps?

  1. Must be they added through table, and in which format?
    Like “wxl” for 252x144, “xxl” for 252x144, and so on?
  2. Or RMG template format must be changed to directly input sizes of maps? And how selection of map sizes can be made in RMG dialog in game?
  3. Or RMG can be made like separate utility, to allow generation of any sizes in independent interface? Or incorporated into Map Editor?


There is no zone limit for decorative objects and overall algorithm is simplest possible. I plan to implement obstacle sets as explained here.

I think it’s enough if we used HoTA interface and map sizes for now.


So it will be properties of objects, which object id/sub id decorations to use with current object?

You mean only XXL added like they did? OK. Maybe when map editor is ready, it can be allowed to generate any sizes.


BTW how large maps you are planning to generate? If larger than about 1000x1000 then it is nearly impossible by “technical” reasons.


1000x1000 will be cool:-)
The problem now, that map sizes are coded as strings like “xl” in VCMI. If we to add new sizes, it either will be coding new signings, or walk to use numbers of sizes.

I mean “standart sizes” at least, like 252x252, 512x512. 1024x1024 will be cool (if computer will be fast enough and will have enough memory).


By the way, is is will be possible in future to generate map with only 1 player?
And place victory condition to take some distant town?


Looks like I found issue:
github.com/vcmi/vcmi/blob/afaf7 … erator.cpp

359 							auto gate1 = new CGTeleport; 
360 							gate1->ID = Obj::SUBTERRANEAN_GATE; 
361 							gate1->subID = 0; 

That’s why templates don’t help - RMG places only subid = 0 object.


It is done on purpose for most of objects, since only objects with subID = 0 exist in basic game.


Most of objects I now adding new subobjects work well:-)
So far only boats and subterranean gates gave me no opportunity to add appearances.


Is there is a way to generate sea zones by RMG?
I found no answer in Wiki.