VCMI 0.99 crashes on start

Ok, i compiled it myself. That seems to work.

Anyone interested in a big map with many “random” towns to play with the new factions?

Well, it still crashes after some time playing. The log files do not contain anything interesting, they just end in the middle of the line. More interesting is the console output:
Battle AI best: hota.cove:cannon -> northerners:ntarcher at 100 from -1, affects 1 units: 30 0 0 0
Battle AI best: northerners:ntSnowCat -> northerners:ntarcher at 100 from 82, affects 1 units: 36 41 0 1
Battle AI best: northerners:ntVotary -> northerners:ntarcher at 100 from -1, affects 1 units: 16 0 0 0
Battle AI best: northerners:ntarcher -> northerners:ntSnowCat at 81 from 64, affects 1 units: 31 30 0 0
Battle AI best: underworld:unPreacher -> northerners:ntarcher at 64 from -1, affects 1 units: 6 0 0 0
Battle AI best: northerners:ntsentry -> northerners:ntarcher at 64 from 46, affects 1 units: 55 0 0 0
Failed string substitution with type 8 because index 1042 is out of bounds!
Player 6 (teal) ends turn
Player 6 (teal) ended turn
Player 7 (pink) starting turn, day 19
There is no known way to clear the way to tile (111 36 0)
There is no known way to clear the way to tile (111 36 0)
There is no known way to clear the way to tile (111 36 0)
Failed string substitution with type 8 because index 1051 is out of bounds!
Failed string substitution with type 8 because index 1051 is out of bounds!
Segmentation fault (core dumped)

Just for info: Player pink was Ruins faction, and the tile 111 36 0 is indeed within reach of pink. But it is not blocked.

VCMI is full of bugs. It’s common knowledge. You can’t do anything with it.

You can try my branch nullkiller-ai. Probably it will even load original save.

Interesting. Where can i find it?

If you built VCMI yourself just checkout branch nullkiller-ai

ok, good idea. Next month i’ll have more time, i’ll try it then. Until then, if anyone wants to test is with a huge map, here it is:
C01b.h3m (124.4 KB)
It is designed so that it is possible to play it with several of the new factions. And it is huge, so it is a stress test for vcmi. I replaced the ruins faction with courtyard, and that worked better. Still i got a core dump, much later in the game and not related to any of the new factions. But it worked for quite some hours.
Map faction list:
red: Inferno. Your main enemy. Should stay at inferno.
blue: Castle. Your ally. Mostly there for the story.
orange: A swamp faction. I mostly play it with Cove.
green: Underground faction. Tried it with Underworld.
tan: Necro faction.
pink: Mixed grass and dirt terrain. I tried it now with courtyard.
teal: Snow faction. Tried with Northerners.
purple: Human player. Dirt terrain. Designed to be played as Cathedral.

Till now i was able to complete it sometimes, but quite often it crashes.

There is one thing i observed which always crashes the game: If a scheduled attack would attack a dead stack.
For example: I played Cathedral, attacking a town. I moved a stack of dark templars near the moat. A single spearman went out trying to attack my stack of dark templars. It positioned itself in the moat and immediately died. Now dark templars retaliate first. So the retaliation took place, but targeted an already dead stack. That immediately crashed the game.

console output:
Opening BattleAI
Loaded Battle AI
Battle AI best: underworld:unSpearman -> cathedral:cthPaladin at 76 from 77, affects 1 units: 1 6 0 0

I hope this helps tracking down the bug :slight_smile:

So is it because these creatures retalitate first? Because I was not able to reproduce it with usual creatures. Tried Titan vs Champions.

In this case, yes. The crash cause is attacking a dead stack. I observed this occasionally. It is similar with experienced Gogs too. They first cast fireball before attacking. Now if the fireball already kills the stack, the regular attack targets a dead stack, and that crashes the game.
To reproduce this you need a situation where you attack an already dead stack. This is not possible on a regular base, only with those special effects.