[Bugs] Legacy

List of legacy bugs

Ok, people can make a list of bugs which are legacy bugs from previous SD games here.  Hopefully, one thread will make it easier to respond too for them.

18,175 views 34 replies
Reply #1 Top

Thanks!

Reply #2 Top

Once we get this started, I'm going to ask Island Dog to keep together a list.

 

Reply #3 Top

Would the fact that enemy armies of different factions still stack on top of each other, instead of fighting, be a "legacy" bug?

Or the fact that enemy units will sometimes accidentally stack on each other? Or did that get fixed, because I haven't seen it in a bit.

Reply #4 Top

the was an issue I think was resolved awhile ago in LH. It's definitely a non trivial issue. mukithreadedness is a huge trade off. We get real fast turn times but there is no true, unified, game state.  Civilization: beyond earth would be an example of a non threaded game state. 

Reply #5 Top

[deleted]

Reply #6 Top

AI

AI has not been really updated in a very long time, I mean one used for the tactical battles. New mechanics were introduced, new spells, new skills, and it seems AI is the same it was in early FE. It is not strictly speaking a bug, but still it starts to be really annoying, if you are playing a new game, yet you know exactly how the enemy units will behave in any situation.

One of the issues that is really wearisome, which I have reported couple times, is that right now it can be said that AI (understood as a decision making process) is virtually ended once the enemy unit is in the zone of player’s unit. It leads to multiple problems, and makes many fight – including those against bosses trivial.

Let’s see an example. I am fighting one of the lieutenants (ice one, I will refer to him as IL). This battle should be epic in scale and in challenge. My army is at best average. Here how it goes: first my hero gets active. I cast dire wolf right beside the IL. Right now I know that IL will attack it the very next turn. All my archers and casters attacks IL, IL kills the wolf. Then I cast fire elemental right beside IL. Again, IL will attack my elemental. Then I move my hero in and cast cloak, so he cannot be harm.  IL will spend 2-3 turns attacking my hero. Once the spells expires, I will start to move in a melee unit (that was so far just watching) into the zone of IL and attack. When it is the turn of IL to attack he pounds my unit, and it barely survives. I move the unit one tile out of IL’s zone and move another melee unit in. While new unit is being pounded I heal the one that was damaged …. Then the healed unit goes in, and the unit that has been wounded goes out of IL’s zone. While all this turns happen, my archers slowly and safely kill IL (actually I once killed him with 1 archer). Actually if IL had 2k hp I would probably still kill Him with no units or hp lost. Why? Because I can always control who IL will attack by moving in and out my units from his zone of control.

Similarly, there are many other problems with this AI deficiency. I can swarm enemy unit and it will never move 1 tile to avoid it, it will attack also my units and be swarmed in counter attack (though if it moves just one tile it can attack the very same unit without swarm penalty for counter attack). I can have three archers units, each one with 1hp 1 tile away from enemy melee unit and I know they are safe, b/c once engaged in fight the enemy will never move to finish them off.

This rule which I call “never move if you can attack” truly makes AI look and play very dumb.

Actually, I think some units should be dumb. I would like wolves to be dumb. They should not run after my archers, but instead attack whatever is closest to them. Ogres can be similar, but from bosses and enemy’s elite armies I would expect some thinking.

 

Another problem with AI is using skills, which is an old problem. It seems that AI units are forced to use a skill whenever they can, not when it is actually useful. I know wolves after howling will use their devastating “bite” skill, but I can chose whom they will attack. Again, a unit which is in their zone, and again, they will bite it immediately (in other words, they will never save the skill for later use). Don’t want to expand on this problem, b/c it was mentioned so many times: spiders still try to web an unit that are beside them, or casters, wargs shifting non-stop, ogres hurting their own units etc.

 

Units path-finding in tactical battle

Path finding on the strategic map was a pain for a very long time, but it got eventually fixed. Tactical battles however inherited the same algorithm. It manifests itself that when I want to attack enemy from a distance and when I directly click on it - my units seem always to choose the most complex, and the longest path toward enemy. Though I played WoM, FE, LH and SK for hundred of hours I still cringe, when the unit that is 1 tile away from the enemy makes a run around the map to strike enemy (somehow I still make the same mistake ever and ever again). It gets more serious in SK, bc movement points are huge, so the unit that has 11 mp can really choose the most bizarre path before eventually striking enemy. Second, right now we have tiles which can cause damage to units passing them. Recently I have a spearman attacking enemy (again 1 tile away) by going around this enemy and passing through the cloud of fire and taking damage with each step. Very annoying. And it gets even worse at times due to another bug:

Cursor

Very old problem in the tactical battles. It is sometimes difficult to attack enemy, or move to the selected tile, it requires moving cursor around till proper tile is activated. It is so much worse now that you cannot turn around the map. When I fight lieutenant sometimes there is no way to get closer to him, without actually attacking him – all the tiles around him do not activate, but the cursor always shows “attack” instead of “move”. Recently my fire elemental was 2 tiles away from him, and I tried to move 1 tile and use his skill – I could not. I had to attack Lieutenant normally in the end. Placing oneself behind IL on the selected tile is impossible. If we know add the problem with path-finding I basically have no choice and my units attack IL in totally random pattern from random tiles. Very old problem.

Multithreading

It is great that the game is multi-threaded. However, it is buggy, and it was not ever fully fixed. SK should work with the clarity of Endless legend – all events neatly waiting for players intervention. In Stardock engine it is a mess, however, especially in two conditions: end turn and loading.

Saving/loading does not really save actual position of armies, but instead when game is loaded it automatically moves all the units. Thus, if one has many armies, which in the same turn attack cities, start the quests, and pillage ruins/chest, when the game is loaded one is bombarded with series of pop-ups in random sequence – I can have a battle, but following it I have an information about quest demanding choice(who? Where? No clue), followed by the victory screen from the battle, followed by the chest finding (again who? Where?) and then the second part of quest…. Occasionally, though it is getting better, it leads to enemy armies and mine occupying the same tile, entering the chests without pop-up triggering at all.

Auto-save and loading allows many abuses. Auto-save should happen at the beginning of the turn. As I said though, when I load the game all my units move. Sometimes, however, my units move BEFORE the enemy – who moved past turn – and I can avoid the fights I do not want, or being attacked by enemy. It is also problem going back to WoM.

 

Reply #7 Top

And i forgot one more issue: 

Auto-resolve

Still very far from reality :) Does not take into account distance (archers), positions, skills etc. 

Very unrealistic - some battles I cannot win tactically, but I win with no losses through auto-resolve (FE especially). And contrary, losing units to easy battles. 

Reply #8 Top

Great stuff.  Commenting below:

AI

AI has not been really updated in a very long time, I mean one used for the tactical battles. New mechanics were introduced, new spells, new skills, and it seems AI is the same it was in early FE. It is not strictly speaking a bug, but still it starts to be really annoying, if you are playing a new game, yet you know exactly how the enemy units will behave in any situation.

End of quote

There is some truth to this.  I have been updating this in SK a bit and plan to do more, especially in beta 3.

 

One of the issues that is really wearisome, which I have reported couple times, is that right now it can be said that AI (understood as a decision making process) is virtually ended once the enemy unit is in the zone of player’s unit. It leads to multiple problems, and makes many fight – including those against bosses trivial.

Let’s see an example. I am fighting one of the lieutenants (ice one, I will refer to him as IL). This battle should be epic in scale and in challenge. My army is at best average. Here how it goes: first my hero gets active. I cast dire wolf right beside the IL. Right now I know that IL will attack it the very next turn. All my archers and casters attacks IL, IL kills the wolf. Then I cast fire elemental right beside IL. Again, IL will attack my elemental. Then I move my hero in and cast cloak, so he cannot be harm.  IL will spend 2-3 turns attacking my hero. Once the spells expires, I will start to move in a melee unit (that was so far just watching) into the zone of IL and attack. When it is the turn of IL to attack he pounds my unit, and it barely survives. I move the unit one tile out of IL’s zone and move another melee unit in. While new unit is being pounded I heal the one that was damaged …. Then the healed unit goes in, and the unit that has been wounded goes out of IL’s zone. While all this turns happen, my archers slowly and safely kill IL (actually I once killed him with 1 archer). Actually if IL had 2k hp I would probably still kill Him with no units or hp lost. Why? Because I can always control who IL will attack by moving in and out my units from his zone of control.

End of quote

This is a good point.  Now,l strategically, what would you say the LT should be doing?

This is more an issue of it having a bad strategy.  I can program a better strategy and will put in the time to do it.  What I'd like to see is is what it should do (not what it shoudn't do because you can't make an algorithm around what it won't do, it has to be about what it will do).

Similarly, there are many other problems with this AI deficiency. I can swarm enemy unit and it will never move 1 tile to avoid it, it will attack also my units and be swarmed in counter attack (though if it moves just one tile it can attack the very same unit without swarm penalty for counter attack). I can have three archers units, each one with 1hp 1 tile away from enemy melee unit and I know they are safe, b/c once engaged in fight the enemy will never move to finish them off.

This rule which I call “never move if you can attack” truly makes AI look and play very dumb.

End of quote

This is indeed the rule.  What I would need is a general rule to replace this with.  

So picture the code like this:

IF enemy in range, attack it.

Very straight forward but very problematic too.

What I need to replace it with is:

IF X then Y 

while avoiding a bunch of "except IF" type conditions.

Actually, I think some units should be dumb. I would like wolves to be dumb. They should not run after my archers, but instead attack whatever is closest to them. Ogres can be similar, but from bosses and enemy’s elite armies I would expect some thinking.

 

Another problem with AI is using skills, which is an old problem. It seems that AI units are forced to use a skill whenever they can, not when it is actually useful. I know wolves after howling will use their devastating “bite” skill, but I can chose whom they will attack. Again, a unit which is in their zone, and again, they will bite it immediately (in other words, they will never save the skill for later use). Don’t want to expand on this problem, b/c it was mentioned so many times: spiders still try to web an unit that are beside them, or casters, wargs shifting non-stop, ogres hurting their own units etc.

End of quote

Overall, since I do have the engineer hours budgeted to this, A bullet list of specific things you guys would like to see would help.  

For example: I can definitely make sure that debuffs aren't cast on units only 1 tile away.  That's an improvement that is easy to make.

 

Units path-finding in tactical battle

Path finding on the strategic map was a pain for a very long time, but it got eventually fixed. Tactical battles however inherited the same algorithm. It manifests itself that when I want to attack enemy from a distance and when I directly click on it - my units seem always to choose the most complex, and the longest path toward enemy. Though I played WoM, FE, LH and SK for hundred of hours I still cringe, when the unit that is 1 tile away from the enemy makes a run around the map to strike enemy (somehow I still make the same mistake ever and ever again). It gets more serious in SK, bc movement points are huge, so the unit that has 11 mp can really choose the most bizarre path before eventually striking enemy. Second, right now we have tiles which can cause damage to units passing them. Recently I have a spearman attacking enemy (again 1 tile away) by going around this enemy and passing through the cloud of fire and taking damage with each step. Very annoying. And it gets even worse at times due to another bug:

Cursor

Very old problem in the tactical battles. It is sometimes difficult to attack enemy, or move to the selected tile, it requires moving cursor around till proper tile is activated. It is so much worse now that you cannot turn around the map. When I fight lieutenant sometimes there is no way to get closer to him, without actually attacking him – all the tiles around him do not activate, but the cursor always shows “attack” instead of “move”. Recently my fire elemental was 2 tiles away from him, and I tried to move 1 tile and use his skill – I could not. I had to attack Lieutenant normally in the end. Placing oneself behind IL on the selected tile is impossible. If we know add the problem with path-finding I basically have no choice and my units attack IL in totally random pattern from random tiles. Very old problem.

End of quote

I'm not really familiar with these problems as I've never run into them.  I will say, however, that moving the camera around will be coming back.

One change we are making is to display, on the tactical map, a unit's zone of control so that it's more obvious where you can and can't move.

Multithreading

It is great that the game is multi-threaded. However, it is buggy, and it was not ever fully fixed. SK should work with the clarity of Endless legend – all events neatly waiting for players intervention. In Stardock engine it is a mess, however, especially in two conditions: end turn and loading.

Saving/loading does not really save actual position of armies, but instead when game is loaded it automatically moves all the units. Thus, if one has many armies, which in the same turn attack cities, start the quests, and pillage ruins/chest, when the game is loaded one is bombarded with series of pop-ups in random sequence – I can have a battle, but following it I have an information about quest demanding choice(who? Where? No clue), followed by the victory screen from the battle, followed by the chest finding (again who? Where?) and then the second part of quest…. Occasionally, though it is getting better, it leads to enemy armies and mine occupying the same tile, entering the chests without pop-up triggering at all.

Auto-save and loading allows many abuses. Auto-save should happen at the beginning of the turn. As I said though, when I load the game all my units move. Sometimes, however, my units move BEFORE the enemy – who moved past turn – and I can avoid the fights I do not want, or being attacked by enemy. It is also problem going back to WoM.

End of quote

This particular case is more of an edge case. I.e. it's not going to get addressed because the effort it would take to make it behave as you want versus the number of users who care about it (versus the number who care about other things). (here I'm specifically talking about auto-save abuse).  That said, I can move auto save up and see how that works too.  Like I said, we have some time here to improve this. But some of this stuff is very difficult to do much with.

The event system is getting a lot of attention in being more synchronous.  You can see this in the quest system which has gotten a lot better.  We are working to improve that in other areas as well.  I would say that the way dialogs are thrown at the player is in my top #5 list of complaints.

Reply #9 Top

How about it look at units within it's movement range, calculate which unit it could kill in range, and then move to kill.  This would help by going after the weakest units first.

If no units in range it can kill, what units can it incapacitate in range or what units can it do the most damage too.

Reply #10 Top

I think, regarding AI like this: 

First you make a pool of available targets - those close by and those who require movement to be attacked (within 1-turn movement though).Once you have filter the possible targets, then you choose one of the possible targets by priorities: 

1) Finishers - if you can kill the unit, go for it.

2) Choose maximum damage you can deal. 

 

Then there is ranking of targets - if you can kill more than one unit/or deal similar damage to many units: 

1) type of unit (archers/healers/casters)

2) units with highest combat rating 

 

Reply #11 Top

Anyone up for playing with custom EXEs with some of these changes in?

Reply #12 Top

Sure, you have my skype, send me the link there.

Reply #13 Top

Quoting Frogboy, reply 11

Anyone up for playing with custom EXEs with some of these changes in?
End of Frogboy's quote

YES PLEASE!!!

Reply #14 Top

Yes. Very much yes. Will it include random maps?

Reply #15 Top

It might.  It's going to be my EXE from my machine.

Reply #16 Top

BTW, interesting factoid on AI programming:

So much of doing AI work boils down to CPU speed for debugging.   I didn't write the original tactical code but tweaked it as I coudl because it was incredibly slow to debug it.  But the machines now are literally 3X faster than what I had to work with at the time.

Reply #17 Top

Ok, here it is:

https://dl.dropboxusercontent.com/u/8051911/SorcererKing.zip

This basically updates the AI to make use of suggestions like BMorris's and bpal.

Reply #18 Top

Great, now if it stinks, we're to blame.  ;)

Reply #19 Top

I do not see any changes in behaviour - enemy units still attack whoever is in their zone, and refuse to move and finish other units. 

Reply #20 Top

Quoting bpalczewski, reply 19

I do not see any changes in behaviour - enemy units still attack whoever is in their zone, and refuse to move and finish other units. 
End of bpalczewski's quote

I can tell you it's not deciding based on who's closest now.  So there may be something else involved. However, I definitely noticed a difference as they went around one of my units to attack my weakened hero.

That is, I'm not above using cheese. I had my dwarf in there, he got hurt, so I moved him behind the spider. Normally that's all I have to do. But the Urxen moved around the spider and attacked the dwarf. That was definitely new.

Reply #21 Top

BTW, if you have a saved game and want to diagram out how you think the AI should play the battle based on your turns, I will run it thorugh the debugger to see why it's doing what it's doing and change if it's making an obvious strategic mistake.

Reply #22 Top

Well, I just run the battle with Yeti and six of my units. 

I would not attack Yeti, but just let him to hit my units. Once the unit was almost dead I would move 1 tile away. There was a moment five units were almost dead all around of Yet and he still was trying to attack the one in its zone of control. 

Here is the link to my save - just enter into the quest with my main army

Save link

Reply #23 Top

First off, it DOES include the random maps. So. Much. Good.

 

Secondly, I can confirm Bpal's issue/game behavior. Had a very similar incident just now. I also made it painfully obvious for the AI to finish me, yet it didn't...

 

Reply #24 Top

Thanks bp!

Reply #25 Top

Grrr.

Thanks to your save I found it.

I don't know who wrote this.  But it basically undoes my AI. 

So the AI calculates WHO it should attack.  In this case, it had the cleric down to 1HP but I simply moved the cleric 1 tile away.

The AI wants to attack the cleric. that's why my fancy AI algorithm (there's about 2,500 lines of code involved in deciding who to attack) and that one line above simply goes, screw it, attack the guy whose closest.