AoE DE disappointed me

@Sargius said:
I play single player on easy level. I tried playing DE several times, but the AI overcame any efforts I made to defend my town center and I was defeated.



I decided I must not know how to play (although I have owned and played AOE, AOE II, AOE III, and AOM). I went to the tutorial. The AI there is so aggressive, you cannot actual learn from the tutorial.



I wasted $20 on this game.

There’s a bug that puts the AI always on hardest regardless of what difficulty you choose. I expect it to be fixed soon.

@ExportedClown72 said:
I can’t express anything concerning the online problems. I hate online games. However, as far as the ai is concerned, I’ve yet to see them actually not function even on water maps. One ai enemy even created transports and sent troops at my island in one random map earlier today, as well as created dozens of triremes to counter my dozens of triremes lol. My issue with the ai is that it’s unpredictable. Sometimes it’s extremely easy and, while it does function, it still ends up killing itself by the mass suicide villagers thing many see. Other times it’s extremely difficult and sends units out to destroy you within the first couple minutes before you can even get anything really going. And the difficulty settings don’t seem to change that unpredictable nature. AI is definitely wonky in that regard.

Really? that is good. Are you referring to water maps on the campaign or all game modes? Because I am talking specifically about custom multiplayer games. I’ve seen a few games work with a lake in the middle. But games with large islands often times don’t work for AI. I built a couple interesting custom maps where a civ will be on a tiny island with nothing but some villagers, a TC, and some wood. And they all stand around because they won’t know to build a dock.

@AvallachAOE said:

I agree with a lot of what you said, but this just isn’t true. I’ve had quite a few high pop games in beta and release, and with a little bit of control it plays just fine. Pathfinding needs work, but it doesn’t make large armies ineffective at all.

I may have worded it a bit vicariously in my original statement. What I meant was that pathfinding is bad enough to the point where it actually becomes a serious issue when you have large armies. For example, when I play Chosen or Egyptian and reach 300 ish legions or 150 ish scythe, it becomes too difficult to micromanage all of them while maintaining economy so I just group and send them in. I’ll check back and they have barely moved because a lot of them got clumped up near a cliff or between groups of trees or just stuck on each other. I could upload videos of this if necessary. Seeing 20 Scythe chariots running in place because they are stuck stuck on each other is super annoying. Especially when they do it when the enemy helipolis are shooting at them. This has generally led me to leaning towards more ranged civs (heli, towers, archers) because they are so much easier to be effective with and not as dependent on AI.

I know this game was not a MMO, but comparing to the horrible launch of ESO (Elder Scrolls Online) to the thousands of bugs and broken quest, sadly AOE:DE has taken the cake. Path-finding, AI not working, ect. Graphics are nice, but when the game-play is not there, it just sucks.

@sulphuric66 said:

I spent many brutally difficult hours debugging out of sync (OOS) problems in the Age DE codebase, so I know a lot about this topic.

So far I’ve played literally dozens of hours of MP (during beta and after). Since release, about 12 hours of MP matches so far, with players all over the world. Some games lasted over an hour. Not a single OOS in the release build.

So far, I’m only aware of a single out of sync, caused by players either ripping the power cord or network cable from their PC. This situation is very tricky to handle in peer to peer lockstep RTS engines, because the command packets just suddenly and randomly stop going out to all the other clients. Even so, the game can usually handle this scenario.

Generally, this RTS game has far less OOS’s than others I’ve played.

As for saving and restoring MP matches, it’s possible (and it’s a feature I would like to see), but we had a lot of other more pressing matters to address first.

It is true that my single experiences may not be representative of the whole. However, my experiences have definitely not been good.
Yesterday alone I was trying to play with several of my friends that I got to buy the game. We were playing and then I tabbed out and it disconnected me saying that I fell out of sync. Then the next game it happened to another friend. So we decided we probably just straight up can’t alt-tab out of the game. Then the next game, (this is after not being able to fully complete a game for over an hour because of people dropping) We got pretty far and then someone finally figured out how to upgrade his long swordsmen to legions, he clicked on legions, and then he froze and got a sync error. His disappointment was palpable. When he saw that he was frozen he immediately saying “noooooo!” and afterwards, “how do I rejoin?” and me telling him he couldn’t rejoin an online game that was released in 2018 was pretty sad.
And this was all happening while one of my friends was still having issues just getting into the game because it keeps crashing at launch. He had been trying various solutions for hours, multiple reinstalls, resets, language pack deleting, antivirus stuff. He was in a call with us while we were all playing and while we were having fun learning the game itself, at one point he said, “wow wait should I even keep trying to download this? does this game even work?” because of how we played for almost 2 hours without being able to complete a single game. (We still havent been able to btw, we moved on to play a different game for the rest of the night.)
Another time when I was in a game, I clicked on the x4 zoom option because I wanted to see the beautiful art remastering and my game froze and it dropped me from a game with a sync error. My internet is not super unstable and drops/disconnects me often from games. It is only this game. So I highly doubt that I simply have poor internet connection.

We’re actively working on fixing the crashing at launch issues.

As for the out of syncs, I’ve played another few hours of DE online this weekend with no OOS’s. I’ve alt+tabbed in and out of the game several times with no problems. From what I’ve seen of the release build so far, I believe DE’s out of sync rate is quite low. I’m not saying you’re not seeing real issues, but they appear rare.

It’s worth pointing out that if your machine has any issues at all (memory problems, overclocked CPU, viruses/malware, OS issues, etc.) it’s certainly possible that what your machine computes for a turn and what the other players compute could differ. There’s nothing simple we can do about this class of issues.

We talked several times about supporting an “out of sync” recovery mechanism, where we could save the game on one client and transmit it to the others. Or perhaps we could support MP savegames. Both are very possible.

I get the 250 pop increase can be an issue with all the units running around in a limited real estate situation. I am wondering how the 500 in AoEIIHD rolls…

Personally, I don’t care if it’s on Steam or not. I’m just as happy to play it with an Xbox account via the MS Store as I would be if it were on Steam.

I just wish I could actually play more games rather than only see a handful of games, more than half of which I can’t join.

Release AoE on Xbox with keyboard and mouse.

So, we can just turn on and play.

I love this version of the game, certe there is some point has improved but I find this nostalgia so special!

@“Fate Astolfo” said:

@ExportedClown72 said:
I can’t express anything concerning the online problems. I hate online games. However, as far as the ai is concerned, I’ve yet to see them actually not function even on water maps. One ai enemy even created transports and sent troops at my island in one random map earlier today, as well as created dozens of triremes to counter my dozens of triremes lol. My issue with the ai is that it’s unpredictable. Sometimes it’s extremely easy and, while it does function, it still ends up killing itself by the mass suicide villagers thing many see. Other times it’s extremely difficult and sends units out to destroy you within the first couple minutes before you can even get anything really going. And the difficulty settings don’t seem to change that unpredictable nature. AI is definitely wonky in that regard.

Really? that is good. Are you referring to water maps on the campaign or all game modes? Because I am talking specifically about custom multiplayer games. I’ve seen a few games work with a lake in the middle. But games with large islands often times don’t work for AI. I built a couple interesting custom maps where a civ will be on a tiny island with nothing but some villagers, a TC, and some wood. And they all stand around because they won’t know to build a dock.

If you mean created maps by custom maps than no. Haven’t created and maps. But they were pretty active for me on the large island random map. Actually lost a few fleets trying to get through theirs lol. Maybe they ended up building a bit too many triremes against me really. AI is still pretty wonky.

I 1000% suggest AOE DE launches on Microsoft Store. it’s the best companion with Windows 10.
Steam is terrible.

And
The pathfinding in the game is terrible.

it is an older game, so you cant expect everything to be amazing. Im satisfied with it. I am even finding it impossibly hard just like the first game always used to be…

The pathfinding in the game is terrible.

First off, Age of Empires Definitive Edition is a remaster of Age of Empires. It’s not a rewrite, it’s not a new engine, and that’s what we’ve been saying for almost a year. Age of Empires 1’s path finding was really bad, as most reviews point out:

https://gamespot.com/reviews/age-of-empires-the-rise-of-rome-review/1900-2532811/

This is the code we started with in DE. Not Age 2, not new code, but the original code which had a ton of flaws and quirks we had to learn about the hard way. This code was almost a quarter of a century old, and it showed. The original movement/pathing code was very weak to say the least. Yet entire complex systems above it (combat, AI, etc.) depended on this super quirky movement/pathing code. It took multiple Ensemble engineers several years of development to go from Age 1 to Age 2 level pathing.

We made a number of improvements to the path finding and unit movement code without breaking the original system. It must be emphasized that Age1’s pather and movement code is extremely tricky and hard to change without breaking a hundred things about the game or AI (sometimes in subtle ways). It was a very tricky balance. The current system still has problems with chokepoints, which can be fixed with more work, but we instead had to focus on multiplayer which had to basically be 85% rewritten.

Here’s a list of fixes made so far to DE’s pathing and movement code in the time I had, which was only like 2 months:

  • DE’s pathing system’s findPath() function was speeded up by approx 3-4x faster vs. Age1’s
    I performed around a dozen separate optimizations passes on the core pather. I implemented the A* early exploration optimization (eliminating 1 open list insertion/removal per iteration), and massively tuned the C++ code to generate reasonably efficient x64 assembly. We retested the pather and game thoroughly after each major optimization pass.
  • Age1’s pather’s A* implementation was outright broken (the open list management was flawed, so the cheapest node wasn’t always expanded upon during each iteration). DE’s pather fixes all these bugs and is a proper implementation of A*.
  • DE’s pather gives up if after many thousands of iterations it can’t make forward progress towards the goal, to avoid spending CPU cycles on hopeless pathing unnecessarily. (It’s more complex than this, but that’s the gist of it.)
  • Added multiple lane support to villager pathing.
  • Villagers can use one of two collision sizes (either small or large), so if a villager bumps into another friendly villager we can immediately switch to the smaller radius to avoid stopping. So basically, villagers can get very close to each other, avoiding gathering slowdowns.
  • Movement of units through single-tile openings was greatly improved and tested with all unit types. Age 1’s handling of single tile openings was so bad that players would exploit it:
    http://artho.com/age/placeb.html
  • The DE pather was modified to have a much higher max iteration count than Age1’s, so longer and more complex routes can be found.
  • The per-turn pathing cap in Age1 was switched to short and long range pathing categories in DE. 8 short range paths can occur per turn, and for long range paths it supports up to 4 findPaths() per turn.
  • For short range paths, straight line paths are preferred vs. the tile path returned by findPath() if the straight line path is safe to traverse.
  • Boat movement was modified to have deceleration.
  • Waypoints along a path can be skipped if a unit can safely move from its current position to the next waypoint
  • Added support for 32-facing angles vs. Age’s original 8. Also, the unit direction/facing angle is interpolated in DE, instead of “snapped” to like in Age1. The interpolation is purposely disabled when units switch angles during combat.
  • Added stuck unit detection logic to DE’s movement code, to automatically detect and fix permanently stuck units (rare, but possible).
  • We ported Age2’s entire obstruction manager into DE, replacing the old bitmap system. Units use circular obstructions, and buildings use square obstructions.
  • Added several new behaviors to the movement code to help with chokepoints: A “wait” behavior, that checks every second or so for up to 45 seconds to see if the unit can be moved to the destination, and a stuck unit “watchdog”, which watches to see if a unit hasn’t made forward progress and tries to switch behaviors to get the unit unstuck. Age1’s code would just give up at the slightest problem.
  • The pather tries to path starting from the center of each tile, but this sometimes fails in tight spaces or with lots of units around. DE tries harder to find a good starting position, so movement through single tile openings isn’t broken.
  • Path caching system: Villagers and boats can reuse previously found paths in DE, for efficiency.
  • In situations that Age1’s pather would just outright give up and stop, DE’s pather tries a lot harder to get the unit where it needs to go using several randomized fallback behaviors.

Age1’s pathing/movement systems implements a form of randomized, emergent behavior. The units are basically like dumb ants. It’s imperfect in chokepoints, but it’s a continuation of the essence of what made Age 1 what it was. If all the units are moving in the same direction it can usually handle chokepoints (I tested this over and over with a wide variety of units on a pathing torture test scenario from MS before release). The fundamental behaviors the AI and combat systems expected were accurately preserved in DE’s pather, which was our goal.

Instead of people saying “the pathing in DE sucks!”, I would much rather hear about the specific issues with movement/pathing, and actually constructive suggestions on how to improve the system without breaking the game or turning it into Age 2.

-Rich Geldreich
Former Senior Software Engineer - Halo Wars Engine Lead - Ensemble Studios

@sulphuric66 said:

The pathfinding in the game is terrible.

First off, Age of Empires Definitive Edition is a remaster of Age of Empires. It’s not a rewrite, it’s not a new engine, and that’s what we’ve been saying for almost a year. Age of Empires 1’s path finding was really bad, as most reviews point out:

https://gamespot.com/reviews/age-of-empires-the-rise-of-rome-review/1900-2532811/

This is the code we started with in DE. Not Age 2, not new code, but the original code which had a ton of flaws and quirks we had to learn about the hard way. This code was almost a quarter of a century old, and it showed. The original movement/pathing code was very weak to say the least. Yet entire complex systems above it (combat, AI, etc.) depended on this super quirky movement/pathing code. It took multiple Ensemble engineers several years of development to go from Age 1 to Age 2 level pathing.

We made a number of improvements to the path finding and unit movement code without breaking the original system. It must be emphasized that Age1’s pather and movement code is extremely tricky and hard to change without breaking a hundred things about the game or AI (sometimes in subtle ways). It was a very tricky balance. The current system still has problems with chokepoints, which can be fixed with more work, but we instead had to focus on multiplayer which had to basically be 85% rewritten.

Here’s a list of fixes made so far to DE’s pathing and movement code in the time I had, which was only like 2 months:

  • DE’s pathing system’s findPath() function was speeded up by approx 3-4x faster vs. Age1’s
    I performed around a dozen separate optimizations passes on the core pather. I implemented the A* early exploration optimization (eliminating 1 open list insertion/removal per iteration), and massively tuned the C++ code to generate reasonably efficient x64 assembly. We retested the pather and game thoroughly after each major optimization pass.
  • Age1’s pather’s A* implementation was outright broken (the open list management was flawed, so the cheapest node wasn’t always expanded upon during each iteration). DE’s pather fixes all these bugs and is a proper implementation of A*.
  • DE’s pather gives up if after many thousands of iterations it can’t make forward progress towards the goal, to avoid spending CPU cycles on hopeless pathing unnecessarily. (It’s more complex than this, but that’s the gist of it.)
  • Added multiple lane support to villager pathing.
  • Villagers can use one of two collision sizes (either small or large), so if a villager bumps into another friendly villager we can immediately switch to the smaller radius to avoid stopping. So basically, villagers can get very close to each other, avoiding gathering slowdowns.
  • Movement of units through single-tile openings was greatly improved and tested with all unit types. Age 1’s handling of single tile openings was so bad that players would exploit it:
    http://artho.com/age/placeb.html
  • The DE pather was modified to have a much higher max iteration count than Age1’s, so longer and more complex routes can be found.
  • The per-turn pathing cap in Age1 was switched to short and long range pathing categories in DE. 8 short range paths can occur per turn, and for long range paths it supports up to 4 findPaths() per turn.
  • For short range paths, straight line paths are preferred vs. the tile path returned by findPath() if the straight line path is safe to traverse.
  • Boat movement was modified to have deceleration.
  • Waypoints along a path can be skipped if a unit can safely move from its current position to the next waypoint
  • Added support for 32-facing angles vs. Age’s original 8. Also, the unit direction/facing angle is interpolated in DE, instead of “snapped” to like in Age1. The interpolation is purposely disabled when units switch angles during combat.
  • Added stuck unit detection logic to DE’s movement code, to automatically detect and fix permanently stuck units (rare, but possible).
  • We ported Age2’s entire obstruction manager into DE, replacing the old bitmap system. Units use circular obstructions, and buildings use square obstructions.
  • Added several new behaviors to the movement code to help with chokepoints: A “wait” behavior, that checks every second or so for up to 45 seconds to see if the unit can be moved to the destination, and a stuck unit “watchdog”, which watches to see if a unit hasn’t made forward progress and tries to switch behaviors to get the unit unstuck. Age1’s code would just give up at the slightest problem.
  • The pather tries to path starting from the center of each tile, but this sometimes fails in tight spaces or with lots of units around. DE tries harder to find a good starting position, so movement through single tile openings isn’t broken.
  • Path caching system: Villagers and boats can reuse previously found paths in DE, for efficiency.
  • In situations that Age1’s pather would just outright give up and stop, DE’s pather tries a lot harder to get the unit where it needs to go using several randomized fallback behaviors.

Age1’s pathing/movement systems implements a form of randomized, emergent behavior. The units are basically like dumb ants. It’s imperfect in chokepoints, but it’s a continuation of the essence of what made Age 1 what it was. If all the units are moving in the same direction it can usually handle chokepoints (I tested this over and over with a wide variety of units on a pathing torture test scenario from MS before release). The fundamental behaviors the AI and combat systems expected were accurately preserved in DE’s pather, which was our goal.

Instead of people saying “the pathing in DE sucks!”, I would much rather hear about the specific issues with movement/pathing, and actually constructive suggestions on how to improve the system without breaking the game or turning it into Age 2.

-Rich Geldreich
Former Senior Software Engineer - Halo Wars Engine Lead - Ensemble Studios

Here are the two things about pathfinding I have found so far that I think work even worse now than they did in the original.

  • Units sometimes seem to have a hard time pathing around moving units. For example if a unit going east runs into a unit going west, they might get stuck on each other even if there’s plenty of room on the sides for them to go around each other.
  • I’m not sure if this problem is related to pathfinding, but villagers tasked to a resource sometimes go idle and stand next to the resource as if they are unable to find a path to it even though there is plenty of room around the resource for them to collect from. This seems to happen most often with overlapping berry bushes that you can find in some campaign missions. This happened in the original too, but not as often as it does now.

Other than those two points, I feel like the pathfinding is good and a definite improvement from the original.

@sulphuric66
Thanks for dropping by. I will help as much as i can.

Pathfinding problems that im sure of:

-Units dont know how to move together in masses, esspecially when theres a narrow way they cant come up with solution. Units in the front line, blocks backline, and then chaos begins: back line doesnt wait and walk same path, instead, they either move back or cancel their action. After a couple seconds its gets even more messier: whole army gets confused, both backline and frontline doesnt know what they should do, at one point you have to manually correct their behaviour. This whole process happens especcially when:

1-There is a narrow corridor.
2-Getting in through your enemies destroyed wall sections.

Note that, with this being a big problem for every unit overall, bigger units( such as elephants or catapults. ) have the most harder time.

How to fix? I guess, units should insist more on going targeted direction instead of going for alternative ways-directions. From my observation, they give up and seek alternate paths too quickly, resulting big armies to bump each other in seemingly random direction and repeating whole process over and over again, thus causing a “no progress of movement” as a result.

Villagers, have their own kind of problem:

what i noticed is, mass gathering causes going idle sometimes. this happens when you have a gatherer blocked by other gatherer. lets say you have 2 wood gatherers: if the one closer to woods needs to drop woods to storage and other wood gatherer who is on first ones path is still on task of gathering wood, first one just stands idle until second one also completes wood gathering task. This, on the first look, doesnt causes big problems but later, when you have a more crowded situation, causes big problems and sometimes results in some deep workers to go idle forever since the crowd in the back simply doesnt give him any time gap to break escape.

Also, semi related, but i believe attack move command should be looked into aswell.

-Attack move command doesnt have any priority. Your army, usually gets distracted by nearest unimportant buildings, such as randomly placed enemy storages. There should be some kind of priorty, instead of “attack what you see first”.

My purposal for attack priority, in order:
1-target enemy units in sight.
2-target enemy towers in sight.
3-target enemy buildings in sight.

P.S: Sorry for my english, this topic requires some good level english apperantly that i dont have lol.

So there wont be any changes in the pathfinding movement? :neutral:

@PEIBFC

@sulphuric66 said:
“Instead of people saying “the pathing in DE sucks!”, I would much rather hear about the specific issues with movement/pathing, and actually constructive suggestions on how to improve the system without breaking the game or turning it into Age 2.”

i think that phrase suggests otherwise. I encourage you to read whole posts before posting yours… For you know, to be able to discuss or comment on.

lol i have EXACT zero problems with the game on Technical level. In 99% is the Problem in front of the Keyboard.

It’s a shame that the developers themselves are so closed, and they believe that by adding some type of formations this will become AOE 2.

I think that the pathfinding will be solved at some point, because they are working on it, but leaving aside the organization of the big armies completely breaks the game.
I do not think it is a “characteristic of AOE 1” that in 1997 there was no possibility of add formations but Roman legions or Macedonians totally disorganized is a flaw, not a characteristic.

It is not even necessary that the formations work as in AOK. If you send a group to a specific point, currently this happens:

When in reality this would have to happen:

I think that does not transform it into AOK, it’s logical. If you send a group of people to a point, the most normal thing is for them to gather around that point and NOT to keep their distance, even if they are barbarians of the stone age.

That is the only thing I would add to the game to make it more friendly with the new players, and I do not think that for this reason the spirit of nostalgia is lost.

Currently it is very uncomfortable to manage large armies, especially that they have increased both the population limit.