VCMI 0.96b

Here’s new development version.

Download VCMI 0.96b

Most notable change is working RMG which generates full, playable maps. Check it out.

Only a few templates are available for now, so only maps with these parameters can be generated:

	"Upgrade" :
	{
		"minSize" : "s+u", "maxSize" : "m",
		"players" : "2"
},
	"Analogy" : 
	{
		"minSize" : "m", "maxSize" : "m+u",
		"players" : "4"
},
	"Golden Ring" :
	{
		"minSize" : "m+u", "maxSize" : "l",
		"players" : "3"
},
	"Jebus Cross":
	{
		"minSize" : "l+u", "maxSize" : "xl+u",
		"players" : "4"
}

Knowns issues:

  • WoG mod with russian translation doesn’t contain correct object info. Switch to English version to generate correct random maps with WoG.
  • Game tends to crash when underground, better play only one-level RMG maps

Another innovation is new creature window designed by Ivan. It also involves repackaging game graphics. Make sure all necessary files are in the package.

We also adopted FFMpeg library for decoding videos thanks to AVS. Again, check if all libraries are in place and work on your system.

You may also enjoy significant speedup of adventure AI. I mean, really.

Changelog:

0.96 -> 0.next
GENERAL:
* VCMI can now be compiled with SDL2
* (windows) Moved VCMI data directory from '%userprofile%\vcmi' to '%userprofile%\Documents\My Games\vcmi'
* (windows) (OSX) Moved VCMI save directory from 'VCMI_DATA\Games' to 'VCMI_DATA\Saves'
* (linux)
* Movies will use ffmpeg library

ADVENTURE AI:
* Significantly optimized execution time, AI should be much faster now.

ADVENTURE MAP:
* Non-latin characters can now be entered in chat window or used for save names.
* Implemented separate speed for owned heroes and heroes owned by other players

GRAPHICS:
* Better upscaling when running in fullscreen mode.
* New creature/commader window
* New resolutions and bonus icons are now part of a separate mod

RANDOM MAP GENERATOR:
* Random map generator now creates complete and playable maps, should match original RMG
* Fixed major crash on removing objects

LAUNCHER:
* Implemented switch to disable intro movies in game

Please test new build and report all issuen on our Bugtracker. Thanks!

Not very much known “side effect” - now VCMI should be able to load pretty much any video, not only bik/smk. All videos must have extension “avi” however.

Actually you have too many files in package :slight_smile:
Directory Mods/vcmi should contain:

  1. Submods from that archive I uploaded somewhere, will copy it to vcmi.eu a bit later.
  2. Files from git for creature window / quest window / stack queue.
    Old “core.zip” is no longer needed, game should work without it.

for Win XP Launcher don’t work (

And so very pleased to have this assembly :wink:

Test the different maps. In turn, I want to say that there are two global challenges:

bugs.vcmi.eu/view.php?id=1902

Without fixing these bugs release a new version, you should not, this is what users will curse vcmi. Is very common. Just I do not duplicated on the bug tracker.

That update broke my all HoMM game and I can’t play it with WoG installed :confused:
Yes, I tried to download and install WoG manually, but it does nothing. It just shows command window “Vcmi_Client.exe” and just loads, and loads, and loads and seems to never fully load and start the game.

@Edit: VCMI now doesn’t see even the old WoG and now I can’t play with WoG.
@Edit2: Ok, I reinstalled All HoMM, then I installed quite new WoG 3.58F, then Your WoG, then 0.96 and then 0.96b and it’s now working.

Yes WoG 8.97.0 is bugged on VCMI 0.96 and 0.96b
I can’t download him whith VCMI Launcher
"Encountered errors:
wog: Mod archive is invalid or corrupted"
Plz fix it or give other link to mod :wink:

Read the main post again, carefully.

I look into WOG.zip and see “core:creatureBank” entries.
Do modder can do new creature banks already, acting the same way as there?

As you can see, they all work. You can try porting Cove banks as well, Ivan will be happy :wink:

However, new adventure map objects are work in progress and may change a bit in future.

I made mod for new banks, added 9 banks. And when I start the game, VCMI writes “Mod handler 0” and stops not loading anything.
When I remove my mod, all works.
Seems like there is no complete support for new banks etc. Or there are some syntaxis errors, that VCMI cannot work with and gives no debug.

I fixed WoG mod so it can be correctly downloaded and updated via Launcher.
However, don’t know why WoG russian translation still gives incorrect map objects.

WoG banks have defined index which follow object info in original WoG files. To make it all work they should be given automatically. Maybe Ivan will be able to tell more about it.

Just remove it… I’ll try to figure out why it still gets enabled by default once I’ll get some free time.

Try debugging this - check where vcmi hangs, try to figure out what’s causing this, then fix & submit pull on github.

IIRC support for new banks is 90% ready - we still have some hardcoded bits for H3 banks but they shouldn’t be critical. The only problem are texts:

  1. H3 uses different rules for different texts, e.g. one bank may have “You defeated %s” text with placeholder for creatures while other may have “You have found %s” for artifact name. Not critical for new banks support.
  2. Hardcoded text id’s. All texts are loaded from H3 txt’s. Best approach would be to move them to config as such: 1) if field is number - load from appropriate txt string with such index. 2) if field is string - load text directly.

WoG banks at least don’t have issues with their names - name is a part of config, while the rest of text is standard.



Another question for a distant future.
If video is supported, is there a way in future to add to map objects the possibiblity to open window and play video when visited, before going to window with options?
Or show video in window with object dialog?
Or you don’t see any necesarity to do something like this?
Or can it be made by scripts when they will be available?

I’ve managed to get additional banks to work.
It started working after I removed WOG dependence.

Another few questions on adding Banks.

  1. Seems like “spells”:{“level”:1}] do not work now (I defeat guards and get nothing). Didn’t test Pyramid, but think it’s same story

  2. Is there any way to give experience points as reward? Or secondary/primary skill as reward in banks?

I noticed that the computer does not buy troops. And even made a ticket for the Mantis bugs.vcmi.eu/view.php?id=1914

But. If you give him money, (I gave 100,000 from the start in startres.json) troops then he buys. Offered in an assembly put money default computer. 100 000 At what all levels of complexity. As a temporary solution. Or solve the problem of complex.

Played with rmg.json, made test template to check how it’s going to make templates.
It’s cool, template worked, map with dungeon enters and portals has appeared.

Just insert this template in rmg.json after “Jebus Cross”, and you can play xl maps with 8 players:

	"totalAssault":
	{
		"minSize" : "xl", "maxSize" : "xl+u",
		"players" : "8",
		"zones":
		{
			"1":
			{
				"type" : "playerStart", "size" : 35, "owner" : 1,
				"matchTerrainToTown" : true,
				"playerTowns" : { "castles" : 1 },
				"neutralTowns" : { "towns" : 4 },
				"monsters" : "strong",
				"mines" : {"wood" : 4, "ore" : 4, "gems" : 2, "crystal" : 2, "sulfur" : 2, "mercury" : 2, "gold" : 1},
				"treasure" : 
								{"min" : 15000, "max": 32000, "density": 2},
								{"min" : 500, "max": 1600, "density": 6},
								{"min" : 300, "max": 3000, "density": 14}
							]
			},
			"2":
			{
				"type" : "playerStart", "size" : 35, "owner" : 2,
				"matchTerrainToTown" : true,
				"playerTowns" : { "castles" : 1 },
				"neutralTowns" : { "towns" : 4 },
				"monsters" : "strong",
				"mines" : {"wood" : 4, "ore" : 4, "gems" : 2, "crystal" : 2, "sulfur" : 2, "mercury" : 2, "gold" : 1},
				"treasure" : 
								{"min" : 15000, "max": 32000, "density": 2},
								{"min" : 500, "max": 1600, "density": 6},
								{"min" : 300, "max": 3000, "density": 14}
							]
			},
						"3":
			{
				"type" : "playerStart", "size" : 35, "owner" : 3,
				"matchTerrainToTown" : true,
				"playerTowns" : { "castles" : 1 },
				"neutralTowns" : { "towns" : 4 },
				"monsters" : "strong",
				"mines" : {"wood" : 4, "ore" : 4, "gems" : 2, "crystal" : 2, "sulfur" : 2, "mercury" : 2, "gold" : 1},
				"treasure" : 
								{"min" : 15000, "max": 32000, "density": 2},
								{"min" : 500, "max": 1600, "density": 6},
								{"min" : 300, "max": 3000, "density": 14}
							]
			},
						"4":
			{
				"type" : "playerStart", "size" : 35, "owner" : 4,
				"matchTerrainToTown" : true,
				"playerTowns" : { "castles" : 1 },
				"neutralTowns" : { "towns" : 4 },
				"monsters" : "strong",
				"mines" : {"wood" : 4, "ore" : 4, "gems" : 2, "crystal" : 2, "sulfur" : 2, "mercury" : 2, "gold" : 1},
				"treasure" : 
								{"min" : 15000, "max": 32000, "density": 2},
								{"min" : 500, "max": 1600, "density": 6},
								{"min" : 300, "max": 3000, "density": 14}
							]
			},
						"5":
			{
				"type" : "playerStart", "size" : 35, "owner" : 5,
				"matchTerrainToTown" : true,
				"playerTowns" : { "castles" : 1 },
				"neutralTowns" : { "towns" : 4 },
				"monsters" : "strong",
				"mines" : {"wood" : 4, "ore" : 4, "gems" : 2, "crystal" : 2, "sulfur" : 2, "mercury" : 2, "gold" : 1},
				"treasure" : 
								{"min" : 15000, "max": 32000, "density": 2},
								{"min" : 500, "max": 1600, "density": 6},
								{"min" : 300, "max": 3000, "density": 14}
							]
			},
						"6":
			{
				"type" : "playerStart", "size" : 35, "owner" : 6,
				"matchTerrainToTown" : true,
				"playerTowns" : { "castles" : 1 },
				"neutralTowns" : { "towns" : 4 },
				"monsters" : "strong",
				"mines" : {"wood" : 4, "ore" : 4, "gems" : 2, "crystal" : 2, "sulfur" : 2, "mercury" : 2, "gold" : 1},
				"treasure" : 
								{"min" : 15000, "max": 32000, "density": 2},
								{"min" : 500, "max": 1600, "density": 6},
								{"min" : 300, "max": 3000, "density": 14}
							]
			},
						"7":
			{
				"type" : "playerStart", "size" : 35, "owner" : 7,
				"matchTerrainToTown" : true,
				"playerTowns" : { "castles" : 1 },
				"neutralTowns" : { "towns" : 4 },
				"monsters" : "strong",
				"mines" : {"wood" : 4, "ore" : 4, "gems" : 2, "crystal" : 2, "sulfur" : 2, "mercury" : 2, "gold" : 1},
				"treasure" : 
								{"min" : 15000, "max": 32000, "density": 2},
								{"min" : 500, "max": 1600, "density": 6},
								{"min" : 300, "max": 3000, "density": 14}
							]
			},
						"8":
			{
				"type" : "playerStart", "size" : 35, "owner" : 8,
				"matchTerrainToTown" : true,
				"playerTowns" : { "castles" : 1 },
				"neutralTowns" : { "towns" : 4 },
				"monsters" : "strong",
				"mines" : {"wood" : 4, "ore" : 4, "gems" : 2, "crystal" : 2, "sulfur" : 2, "mercury" : 2, "gold" : 1},
				"treasure" : 
								{"min" : 15000, "max": 32000, "density": 2},
								{"min" : 500, "max": 1600, "density": 6},
								{"min" : 300, "max": 3000, "density": 14}
							]
			},
			"9" :
			{
				"type" : "treasure", "size" : 50,
				"neutralTowns" : { "towns" : 3 },
				"terrainTypes" :  "lava","grass","dirt","snow","sand" ], "matchTerrainToTown" : true,
				"monsters" : "strong",
				"mines" : {"wood" : 4, "ore" : 4, "gems" : 2, "crystal" : 2, "sulfur" : 2, "mercury" : 2,"gold" : 2},
				"treasure" : 
								{"min" : 35000, "max": 55000, "density" : 3},
								{"min" : 25000, "max": 35000, "density" : 10},
								{"min" : 15000, "max": 25000, "density" : 10}
							]
			},
			"10" :
			{
				"type" : "treasure", "size" : 30,
				"neutralTowns" : { "towns" : 2 },
				"terrainTypes" :  "lava","grass","dirt","snow","sand" ], "matchTerrainToTown" : true,
				"monsters" : "strong",
				"mines" : {"wood" : 3, "ore" : 3, "gems" : 1, "crystal" : 1, "sulfur" : 1, "mercury" : 1,"gold" : 1},
				"treasure" : 
								{"min" : 35000, "max": 45000, "density" : 3},
								{"min" : 25000, "max": 30000, "density" : 8},
								{"min" : 15000, "max": 20000, "density" : 7}
							]
			},
			"11" :
			{
				"type" : "treasure", "size" : 40,
				"neutralTowns" : { "castles" : 2 },
				"terrainTypes" :  "lava","grass","dirt","snow","sand" ], "matchTerrainToTown" : true,
				"monsters" : "strong",
				"mines" : {"wood" :2, "ore" : 2, "gems" : 1, "crystal" : 1, "sulfur" : 1, "mercury" : 1,"gold" : 2},
				"treasure" : 
								{"min" : 25000, "max": 45000, "density" : 3},
								{"min" : 30000, "max": 35000, "density" : 7},
								{"min" : 12000, "max": 25000, "density" : 7}
							]
			}
		},
		"connections" :
		
			{ "a" : "1", "b" : "9", "guard" : 35000 },
			{ "a" : "2", "b" : "9", "guard" : 35000 },
			{ "a" : "3", "b" : "10", "guard" : 35000 },
			{ "a" : "4", "b" : "10", "guard" : 35000 },
			{ "a" : "5", "b" : "9", "guard" : 35000 },
			{ "a" : "6", "b" : "10", "guard" : 35000 },
			{ "a" : "7", "b" : "11", "guard" : 35000 },
			{ "a" : "8", "b" : "11", "guard" : 35000 },
			{ "a" : "9", "b" : "10", "guard" : 35000 }

		]
	}	

FYI everyone I am working on fixing bug 1914. I’ll PM Warmonger to let him know as well since he’s assigned to it.

Oh yeah you don’t know me but I’m just an H3 fan who loves what you’re doing here and want to play VCMI but can’t because of this bug so yeah giving it my best shot. I’ll let you know if I give up, and I’ll let Warmonger know if I fix it.

  1. Template format is not complete yet, so better wait until it is.
  2. You can copy settings from one zone to another to simplify the template.