Something ain't right about combat and possibly other mechanics

Home Forums The War of the Solstice Feedback Something ain't right about combat and possibly other mechanics

This topic contains 10 replies, has 2 voices, and was last updated by  Markus Ramikin 6 months, 1 week ago.

  • Author
    Posts
  • #1181

    Markus Ramikin
    Participant

    I only played this for a few minutes, to try this quick test:

    View post on imgur.com


    I took Luxor to recruit Blood, had Blood recruit 300 warriors, found shelter in order to max vigor, and waited for battle. Result:

    View post on imgur.com


    Somehow, the warriors are not shown to be participating in the fight, despite the fact that they are part of Blood’s army and that we didn’t run out of enemies to kill (the battle continues). I tried this 3 times and got similar results.
    Also, are the enemy movement algorithms the same? I keep getting a battle on night 2, whereas in other versions typically I had to wait for day 3-5.

  • #1182

    Luxor
    Keymaster

    Hi Markus, many thanks for the interesting bug report!

    I will do some deeper debugging on your test case at the next opportunity, and come back with the findings

    Stay tuned…

  • #1184

    Luxor
    Keymaster

    1st test is with the current Unity version (still under development)
    Result: Battle algorithm looks ok, ice fear “very mild” vs originals “mild”
    WOTS Unity Battle Test Case
    Next test the last native version…

  • #1186

    Luxor
    Keymaster

    2nd test with the last native version 1.0.2.7 (never released)
    Result: Battle algorithm looks ok, ice fear “very mild” vs originals “mild”
    WOTS Native Battle Test Case 1.0.2.7
    Last test will be with 1.0.2.6 which I assume is what you are running..

  • #1189

    Luxor
    Keymaster

    Last test with the native version 1.0.2.6
    Result: Warriors didn’t engage (same as you have), ice fear “very mild” vs originals “mild” (same as you have)
    WOTS Native Battle Test Case 1.0.2.6

  • #1190

    Luxor
    Keymaster

    Conclusions:

    Battle algorithm: It would appear there was indeed a bug in the last released version which has been fixed in 1.0.2.7 and the Unity version (warriors are engaging in those versions).

    [The reason for battles occuring after Day 2 and not 3-5 is a known discrepancy with all current versions. I think it has something to do with the way that random numbers are generated differently to the original z80 and dos versions]

    Ice fear: There seems to be a difference which still exists from the originals. I did come across a comment in the Ice fear calc the other day which left me slightly confused… I will look deeper in due course.

    Thanks for reporting this, I will make sure these issues are explored fully before the next release.

  • #1191

    Markus Ramikin
    Participant

    Cool! Thanks for sharing all these tests.

    While we’re on the subject, looking at your results I see warriors seem to do proportionately more damage than the riders. 1200 vs 300 is 4:1, but the ratio of kills in that battle looks more like 2.5:1 or 3:1. Maybe it’s RNG, though I can’t check because, again, my warriors don’t engage. But I saw the same thing in the Midnight Engine and it replicated. Does this replicate in WotS? If so, why is that? Are the calculations different for riders and warriors?

    In fact, I’d be VERY interested in learning the full battle algorithm: damage calculation, the effect of forests, keeps, citadels, riders vs warriors, ice fear, and whatever else might apply. What little Chris Wild posted here is not all that enlightnening. Especially since it seems the calculation is different for every version of the game (see the screenshots in my first post).

    BTW, I see a very useful set of toggles on the map: waters, cups of dreams, slayer swords etc. I don’t see horses, and those would be quite useful too! When saving Korinel the Fey, for example, who starts unhorsed. Correct me if I’m wrong, but I think you put horses under “vermin”, with all the wolves and skulkrin, which isn’t very helpful.

    Also, the circular indicators don’t align with the hero shields, which in turn don’t align with the grid. In the pictue below, there is no way I would have guessed that the Guidance and the heroes are on the same square if I didn’t already know this:

    View post on imgur.com

    Lastly, in these screenshots I’m looking, respectively, at Lord Shadows, a group of Skulkrin, and some horses. Am I supposed to somehow be able to tell that they are there? I neither see them drawn, nor are they mentioned in any of the “think” screens… (They are actually there if I go to their squares, of course.)

    View post on imgur.com

  • #1193

    Luxor
    Keymaster

    Don’t remember putting in that last screen 🙂

    To your questions:

    Looking at your results I see warriors seem to do proportionately more damage than the riders. Does this replicate in WotS? If so, why is that? Are the calculations different for riders and warriors?

    I’ve done a pass over the battle code and spotted a potential bug which I’m querying with Chris… will report back when he’s replied

    I’d be VERY interested in learning the full battle algorithm: damage calculation, the effect of forests, keeps, citadels, riders vs warriors, ice fear, and whatever else might apply.

    Chris’ page does give a good overview of how the battle algorithm is structured. I don’t intend to document it any further to be honest. I did add some debug output to the battle algorithm which I used for basic testing several years ago. It’s currently disabled but I could enable and send you the relevant output from the battle at the keep of blood which might throw some more light on things for you.. ?

    Correct me if I’m wrong, but I think you put horses under “vermin”, with all the wolves and skulkrin, which isn’t very helpful.

    Yes horses are under Vermin which I agree is not ideal. I’ll separate out in the next release.

    The circular indicators don’t align with the hero shields, which in turn don’t align with the grid.

    The circles should align with the locations, but the hero shields may be offset due to the code which positions characters/regiments in a location. When there are multiple characters/regiments in the same location, each one get’s offset by a small amount.

    Lastly, in these screenshots I’m looking, respectively, at Lord Shadows, a group of Skulkrin, and some horses. Am I supposed to somehow be able to tell that they are there? I neither see them drawn, nor are they mentioned in any of the “think” screens…

    The implementation of characters and vermin (and horses!) ahead was not ideal in the native version. A few other people also mentioned the difficulty because of that. You’ll be pleased to know I’ve reverted to the big character/vermin/horse display in the new release. see below

    WOTS Unity Looking Ahead

  • #1194

    Markus Ramikin
    Participant

    Huh, Skulkrin look like Gretchin!

    Chris’ page does give a good overview of how the battle algorithm is structured.

    It’s a start, but it’s kinda confusing if you actually think about it. For example, soldiers “strength” is mentioned, but nowhere is their strength value given, if they even have one and if it doesn’t refer to “energy” (tiredness).

    And doesn’t explain the way every single version of this game seems to be doing something differently about calculating battles. Hell, even the DOS conversion, which is apparently a direct translation of the Spectrum code, gives somewhat lower damage values compared to the Spectrum. Lord Blood’s 1200 riders can kill, when utterly invigorated:
    – up to 1275 kills on the Spectrum (how?! do some of them attack twice?)
    – up to about 1100 in DOS
    – up to about… 600? in Midnight Engine, but I’m going from memory
    – WoTS – you saw
    – GOG – up to about 315, lulz
    I can’t possibly be the only person over all these years who noticed this stuff…

    I did add some debug output to the battle algorithm which I used for basic testing several years ago. It’s currently disabled but I could enable and send you the relevant output from the battle at the keep of blood which might throw some more light on things for you.. ?

    Sure, I’ll take whatever I can get!

  • #1200

    Luxor
    Keymaster

    Well you kept Chris and I busy over the last couple of nights 🙂

    We found 2 bugs:
    1. Riders success did not include their energy level. As a consequence they were much weaker in battle
    2. Doomdarks influence on the ice fear was lower than it should have been due to not counting all the strongholds that Doomdark occupied

    I fixed these bugs in the Unity version resulting in the following which closely matches that of the original emulated version:

    WOTS Unity Battle Fixes

    Then here is the debug as promised up to the battle on the 3rd night. (Take a deep breath!). Maybe it helps your deeper understanding of how the battle AI is working under the hood.

    WOTS Unity Battle Debug

    Many thanks for your testing, which has thrown the light on these issues.

  • #1201

    Markus Ramikin
    Participant

    > Well you kept Chris and I busy over the last couple of nights 🙂
    Hope no one takes this out of context!

    Yeah, good to know about the riders thing. Chris told me too. However, the interesting thing I notice in your screenie, is that the 300 warriors did about 200 kills. This looks correct, in line with the Spectrum/DOS versions – yet in the GoG version they do about 90-100 kills. So either GOG has another bug that WotS doesn’t, or the changes you guys just implemented did not affect only riders…

    Thanks for the output! Combined with Chris kindly sharing with me the battle calc code, including the Assembler versions, it looks like I’m out of your hair for a while!

    But of course every horror monster eventually comes back… and stronger…

You must be logged in to reply to this topic.