Tell me what ails thee

ddr_c64Version 1.3 has now been pushed out on all formats. You will start to see it coming live over the next 7 days. As usual, Android will be first ( probably already is live ), with iOS and OSX being last. If you have a Windows or OSX version directly from this site, or through GoG, you should see an UPDATE menu option appear on the main menu. GoG.com will also go live with the update in their time.

There are a embarrassingly large number of bug fixes in this version. Thanks to a number of very eagle eyed players, in particular Mark Wright, I have been able to fix up many specific differences between the initial release version and the original 1985 release. I also spent a large amount of time pouring over the original code, looking for anything that might alter the way the game played in a way that I might not have foreseen.

doomdrk1On the whole, I think we have most of them, but there is always a chance that there are a few differences still. In particular, the remake is based on the original ZX Spectrum version, and there are definite differences between the Spectrum and the C64 version. So, if you were a C64 player, then the game will not being playing quite as you remember it.

The last few weeks has really made me understand the intricacies of the original game to a level that I never fully appreciated before. It’s quite amazing the small amount of time that the original game was developed and tested in, that said, it’s because of that that you understand why the original had more problems than Lords of Midnight ever did.

There are a number of bugs or oddities that I have chosen not to fix, these are because they are in the original. To players coming to the game anew, or even returning to the game without the same outlook of 30 years ago, some of the AI logic might not make a great deal of sense. I intend to address these issues in a later version by adding different playing modes.

The intention is to have the following playing modes, Original Spectrum, Intended Spectrum, Original C64, Updated.

Intended Spectrum will fix a couple of obvious bugs inherent in the original release, the main one being movement. There are some movement values that would change the way certain races move across particular terrain, for example giants and mountains, but these were never applied in the original due to a bug that referenced the wrong table.

The Original C64 will apply a couple of AI differences to the Spectrum version, namely the aforementioned movement issue. In C64 the functionality was added, but the terrains are different than the Spectrum Intended version. The other change would be that recruited lords start at dawn in the C64 version I believe. Please feel free to call out any other known differences ( apart from the sun 🙂 )

Updated will allow me to make a number of slight AI changes.

Firstly I will change the behaviour of fighting critters. I think it’s wrong that a lord with an army can be killed by a critter, especially on not much more than a flip of a coin. Currently a Lord’s army takes damage from the critter, which should remain, but a lord should not engage the critter until the army is wiped out.

Secondly, I will add some changes to make it less likely that a lord that you attack just continues on with their objectives and completely avoids a battle. I think that if they start the night in a location with an enemy army, there should be a large chance that they remain there and engage in battle. If they are near a location with an enemy army, there should also be a smaller chance that they will attack.

37 thoughts on “Tell me what ails thee

  1. Glad to be of help Chris 🙂

    One optional change that I’d like to see is that army-less lords in a friendly stack, or at a stronghold, shouldn’t a) flee, or b) engage enemy armies (“sword”) until the friendly armies are wiped out. They should still do battle with enemy lords, but battling enemy armies should wait to the end of the algorithm to see if friendly armies remain and thus have prevented it.

    Another possible change (which would be more difficult to implement) would be to align the battle algorithm with LOM, by pre-totalising the various armies numbers and then sharing out losses and kills. This would prevent the slightly annoying feature whereby if you have 20,000 troops but many early-ranked lords with armies of only a hundred or so, when they are attacked by just 1,000 troops your early lords do battle at 10:1 odds against them, despite the whole battle being effectively 20:1 in your favour…

  2. Hi there. Great game, and I’m looking forward to the 1.3 update.

    I have noticed two bugs which I haven’t seen reported. First is that when a lord with an army enters and proceeds down a tunnel, his army still visually appears at the mouth of the tunnel.

    The second may or may not be a bug; it has to do with giving items. For some reason I am not getting the ‘give’ option for a lord with an item when he is at the location of that item’s owner. For instance, in my current game Kahangrorn has the Sword of Imgudrorn at the same location at Imgudrorn, but does not have the option of giving it to him. There is nobody else there and Imgudrorn is carrying nothing. Other characters certainly can give items to each other – Luxor has the option to give the Hammer of Asorthane to Morangrim – so I don’t know whether this is to do with allegiances, the fact that Kahangrorn and Imgudrorn are both Icelords or something else. (There are other Icelords who can’t ‘trade’ with each other in my campaign as well.)

    Anyhow, thank you for your work in bringing back a game which I couldn’t get my head around at all in childhood, even if I’m not sure I can entirely get my head around it now!

    Ben

  3. Only generous lords can give items! If you want to get an item off a non-generous lord you’ll need to find another free item and pick it up to drop the first one…

    PS I reported the army still visually appears at the mouth of the tunnel issue a few weeks ago 😉

  4. Hi just installed the 1.3 update on windows and now I am unable to launch the game. Whenever I try and start I get

    An error has occurred
    Dll checksum 3f36c2c7 does not match stored checksum bac28649
    This loader is locked to loading a specific game binary. It cannot be used for other binaries

    Also from reading the article I got the impression that enemy lords will still be able to move away without fighting a battle, is this correct?

    • Try again. The installer doesn’t seem to like doing an update. I’ve uploaded a new version so see if that installs.

      • No I uninstalled and downloaded from GOG again and downloaded the update again and it came up with the same thing after installing the update.

        On Win 7 by the way

          • The update installer just gave me the option to repair or remove so I chose repair.

          • Excellent that worked thank you, except for some reason I can chose continue and I start with Imgorarg.

            Was lords moving away present in the original or has it just not been fixed yet?

          • Looks like it may have been which is a bit strange as I thought I removed everything including saves. It had Luxor taken over the nearby barbarian fortress while no one else had moved, just Imgorarg already recruited. At least I can confirm the Luxor’s troops spawn now though.

            Thanks for your help with this.

  5. I like the 1.3-version. The game works like the original now, as far as I can say (cross-played some steps with the ZX Spectrum version). Well done!

    The (minor) aesthetic issue with the clearly visible horizontal line under the clouds in the mist (daytime) still remains however…

      • Hi,
        I already sent you one screenshot concerning these lines on the 17th of february.
        I play on Vista 64. Resolution 1920×1200.
        The lines are not visible on screenmode: small. They are clearly visible in “medium”, barely visible on “large”. In “full screen” they are clearly visible again.

  6. Hi Chris,
    Have been thinking about the AI and how and when characters carry on regardless when either a) you have approached them and it’s rejected or b) attacked them. I certainly do remember this in the original but could never work out why it occurred. Perhaps in the Updated version, the probability of the AI moving a character away could based on how brave or cowardly they are? Ie a cowardly character always looks to leg it at the sight if trouble.
    Cheers
    David

  7. Ive played a couple of games on 1.2 and now a full one on 1.3. The AI seems much better in 1.3 (they don’t all sit around or wobble back and forth now!) but it’s still not quite right:

    1) I haven’t failed a single approach this game. I even managed to recruit Shareth (using Lorelorn the Icelord – no crowns). Shareth’s foe was Shareth which was fun 🙂

    2) When Shareth was recruited, Morkin started moving on his own. I could still ‘control’ him, but he was at night every day. His liege is still Luxor, and I can select, think, etc, but he is always night and definitely moving

    3) In every game I played on the spectrum, I’d defend some key points (Glormane being the normal bloodbath), and then face hordes of Icelords etc attacking me like crazy. Some would attack other points, but so long as I held a ‘line’ of key locations, most enemies would crash into one of those (seeking their foes/lieges). Enemies would nearly always be clumped up in large groups. In 1.3, I’m getting ragtag people mainly in 1’s, sometimes 2’s. Only about 2 icelords made it to the south by day 50. I think about 3 attacks have taken place all game, and always by individuals. As a result its just a ‘collect everyone and then hunt shareth’, and ofc she doesnt grab all her mates and hunt Luxor like she used to.

    So overall – looks great, plays well, just the AI seems to not be aggressive (or clumpy) enough still.

    • Bugger! Bugger! Bugger! Bugger!
      I know what I’ve done on 1! Left some debug code in!!! FFS!

      Don’t know about 3 though…

      • No problem 🙂 Would that explain 2) as well? It was kinda weird having Morkin doing his own thing. Some days he’d not move (pick the ‘do nothing’ option I guess?) and I could move him. Other days he’d run off semi randomly. Does Shareth have a ‘cant die to critters’ flag by the way? When i recruited her I then tried to kill her off by running into wolves/ice trolls etc. I think she must have killed about 100!

        On point 3, I’ve thought a little about this and the previous behaviour. I’ve a game design background, so while I haven’t seen the code, I can say how it ‘seems’ to be behaving versus the original, and while doubtless totally wrong, it may have some value!

        Based on how you described the AI, the key thing that seems to be different is how often AI changes objectives. For example I’ve watched characters ‘oscillate’ for days picking ‘liege’, then ‘foe’, then ‘nothing’ etc. Remember this is from observation not code reading ofc! While the method you described does support this, it does seem far more rando than the original. In the original AI seemed to ‘latch’ onto objectives and follow them for longer. This was especially the case with followers – AI used to clumb up into groups and all move together. In the remake they tend to scatter all the time and do their own thing. The two reasons that seems likely to me would be either 1) In the original when they did ‘follow liege’ they then kept on following (either indefinitely or 95% of the time), or 2) there was a flag to say ‘if doing X, continue to do X’.

        Likewise in the original certain characters would hunt Luxor remoreslessly – or groups would attack their foes in Glormane etc relentlessy. By with the AI as you described it, they woudl do what we are actually seeing: head to liege, change mind, go to foe, go home, etc and just end up wandering around the map not TOO far from home. That is (with a few exceptions!) what I’ve seen. It was much more so in 1.2, but still happening in 1.3. Not a single attack hit the cities of Glormane (20 characters), Imorthorn (all the Fey) Lorangrorn (all the Barbarians + Luxor). In fact I think I was attacked about 3 times in the whole game.

        Anyway, probably totally wrong, but just a perspective from someone who has done some AI programming elsewhere about what ‘seems’ off. Nonetheless this remains an awesome game and your huge dedication to it would have made Mike proud 🙂

  8. Actually decouple 1 & 2. They happened around the same time, but it was while Tarithel, Morkin and Icelord pal were escaping through the tunnel that I first saw Morkin in the wrong place. It said he was still following Tarithel and he was at night whe she finished moving so the bug may have been a couple of days before I recruited Shareth.

  9. Unrelated to game bugs, but still wondering… Why the Android version requires the permission about identifying the phone number and name of the phone calls I get?

      • Okay, I guess there is not much you can do. But Permission Explorer lists Revenge as needing the READ_PHONE_STATE permission. This gives also the PHONE_STATE_CHANGE permission that is described as:

        “Broadcast intent action indicating that the call state (cellular) on the device has changed.

        The EXTRA_STATE extra indicates the new call state. If the new state is RINGING, a second extra EXTRA_INCOMING_NUMBER provides the incoming phone number as a String.”

        http://developer.android.com/reference/android/telephony/TelephonyManager.html#ACTION_PHONE_STATE_CHANGED

        I just found it weird that Doomdark’s Revenge could be interested on finding out the phone number of the incoming calls. But maybe it’s just needed for something else in the framework you are using (Marmelade?)

  10. I was playing a very promising game in which I had managed to obtain the Crown of Varenand and get it to Luxor. After getting Tarithel to recruit Morkin I used the crown. I think I had slightly taken my eye off the ball as Shareth turned up at Luxor’s location somewhat unexpectedly, although there didn’t seem to be a battle going on, and when I hit USE the landscape got filled up with phantom armies, and I think the crown brought EVERYONE to Luxor’s location. It ended with Luxor getting killed by Imgormand the Fey, who I definitely hadn’t summoned, so on the whole I’m not very pleased.
    Furthermore, what is wrong with the AI characters? In the original game you never knew exactly what they were going to do but there was a lot that could be anticipated and it was always possible to take an educated guess as to where someone might be, e.g. with a liege lord, hunting down the liege lord’s enemies. I can’t make any sense of what they get up to in this version at all.

Comments are closed.