As a French person I feel like it's my duty to explain strikes to you. - AdrienIer

Create an account  

 
Caster of Magic II Bug Reports!

GOG 1.01.02: Have a consistent crash during the turn change, during the AI's turns (seems to be at the end of Kali's actions). Very consistent for when it occurs, and loading from several turns ago doesn't stop it from occurring in the exact same fashion at the same turn. Crash message is just the request to report the crash with a save file (which is attached).


Attached Files
.zip   3.zip (Size: 128.09 KB / Downloads: 3)
Reply

It's the floating island crash. Kill the floating island that belongs to Horus, near the tower with 2 engineers and 2 jackal riders, and you should be able to continue playing.
If that's not an option, this crash seems to only happen on some computers for an unknown reason. You can also try playing on a different computer where the bug doesn't happen.

Did anyone see this crash happen in version 1.2? If not then we can probably assume the changes were sufficient to fix the bug.
Reply

Tiler>
Savegame from the next turn, I have pressed next turn. I have moved and done nothing.
Following citys finished their constructions and need something new to build "Fairwall, Hillshire, Melegok, Bantanu, Exeter."
Monster spottet near Charack. Started research on summon hero (Change with F3)
Horus floating island that made trouble is gone.
Horus still have a floating island near the city "Blake" on the east coast. Let me know if that one gives any trouble later in the game.
Except for that the game should work normally now. I love your hero names by the way, best of luck versus Kali wink
https://www.dropbox.com/s/zys3dav7fguk811/3.sav?dl=0

(Oddly enough this time the bug didn't crash on my computer? Getting more and more weird..)
I havn't had time to test the floating island bug on 1.2 yet.
Reply

Oh, how nice and curious. It sounds like you may have it sorted out for future versions, but if you want a dxdiag dump, I can send one. There's nothing exceptional, 64 bit windows 10 on a laptop. It looked like it was going to be attacked during that turn transition by Kali - I'm guessing memory read error during some auto resolve process that only involves code that handles the quirks related to floating islands? Since then it might only come up depending on how the client is configured - most of the time it just happens to work out. I'm guessing you already have a sound idea of what's going on but I love speculating on this sort of bug, they're really unpleasant - at least its consistent when it does happen.

In any case, murdering it worked to fix the crash - it'd be nice if there was a debug mode that could enable deleting offending things myself or disabling specific units in a pinch, tho I'd doubtlessly just misuse it to cheat in a single player game.

e: Oh, reading about it, someone already checked to see that it wasn't the AR doing it (probably). Maybe Kali tried to raise the island from the dead, heh. Or maybe AI-to-AI diplomatic resolution trying to pull garbage data to calculate relation changes due to floating islands not being in battle and yet having count as died?
Reply

I suspected a division by zero for this kind of battle as it was a possibility in the code if the Island actually wins or ties somehow but I have absolutely no idea why it doesn't crash on every computer if that really is the case.

There is a debug mode but deleting specific units isn't a feature in it.
Reply

It might be then that there's some kind of unspecified behavior in the code that makes it so the island cannot win solo fights in some setups but it is capable of winning them in others. Because, like you said, it really doesn't make much sense for an exception as straightforward as a divide by zero error to crash in some setups and not in others.

I'm surprised the auto resolve is so deterministic, however - I assume it can't just be randomly rolling the 'island wins, somehow' result so consistently otherwise. Maybe it only is specifically for AI-AI fights? Since it doesn't look like it is reproduced for players ever - but maybe its possible but players don't typically play with AR on. Random function or not, it might be that the unique quirkiness of the floating island solo engagement calls an inappropriate call to a function that returns unspecified values - maybe in some setups it returns a number anyways, and in others it returns 'null', or maybe some comparison using null data gets handled differently. 

If it ever gets figured out I'd love to hear what's going on.
Reply

“B30. Did you read the log file and confirm it wasn't Summon Hero?” The log.txt file in the same folder as the .sav files? Now that I open it, I see very little data in it. Nothing seems to be related to this topic. log.txt

“B33. It's replaced by the Animist's Guild. You can't sell it until you sell the Animist's Guild which requires it.
In general, you can't sell buildings that are required by others and only those buildings will ever be hidden.”
Yes, but my saved file shows an edge case when the Animist Guild was destroyed during battle, so it is still displayed as destroyed building. I can sell other buildings, but not Forester’s Guild.

S53. Playing battle vs. Night Stalker and other invisible units without ability to see them is fun. But it is a lot of micromanagement to scan the map every turn to detect them where they stand. I click my units scattered around the map and hover over their walking range. The place where the Stalker stands is displayed as a red X. This gives away their position and takes a lot of player time. A battle like this lasts 15 minutes just running around and scanning. I propose a solution not to display red X where invisible units stand. You can even give order to move there. Unit will try to go there and stop before entering that tile. It would be also much more fun not to know where they are and more realistic in addition to saving time and micro to the players. And most importantly, added challenge and depth. Please implement this at least as an option.


Attached Files
.txt   log.txt (Size: 2.61 KB / Downloads: 0)
Reply

Tiler>
Have tested it extensively.. All battles where the player is present, autoresolve or not, have not caused any crashes yet. Only AI vs AI.
The units stats does not matter because it dosn't count as a fighting unit in combat. (I have tried making floating island that could take down dragons, just to test, but didn't change anything).
And when it crash a game it does so every single time on the same machine. But not necessarily on another machine..
I belive that in 1.2 the solution so far is that it skips the fight calculations if there is only a floating island in the fight on the one side.

Whitemage>
B30. When you start the game the old log.txt is deleted and only a new log for this playing session remains.

B33. Debri will be cleared next turn.
Reply

Auto-resolve is 100% deterministic in this version.

The log file is cleared every time the game is started. It's way too late for that now.

B33. Destroyed buildings are cleared and "replaced" status refreshed at the beginning of each turn. This is no different from the original game. You can sell your Forester's Guild next turn.

S53. Don't scan if you don't want to. The feature stays as is.
Reply

Quote:I belive that in 1.2 the solution so far is that it skips the fight calculations if there is only a floating island in the fight on the one side.

Actually, no, I took a different approach and made it so that armies that have 0 total HP count as having 1 total HP.
Armies below 2.0 HP already counted as defeat for their side so it doesn't change the outcome or the calculations but eliminates the need to divide by zero due to zero army hp.
Reply



Forum Jump: