C2C SVN Changelog

Sounds doable. If you come up with turn totals I'll make them.
Unlike other parts messing with the game speeds will not be remapped properly.
So in save games the 6th game speed will stay the 6th game speed and if you add one in between that one will be used.

Unless Koshling adds remapping there like for a lot of the other info XMLs it is better to add new speeds at the end, even if they are faster.
 
Wasn't somebody saying just the other day that adding or removing speeds would break saves?
 
Wasn't somebody saying just the other day that adding or removing speeds would break saves?

Yeah, AIAndy said that above, and that's unfortunate. I think I'll hold off on adding new speeds for now and focus on balancing the existing ones.
 
Update
Properties can now automatically build buildings or apply promotions when they are in a certain range. When the property gets lower or higher than that range the building/promotion is removed.
 
First stage of some ongoing AI changes just pushed to SVN.

This is very much work-in-progress, so feedback is welcome. The changes so far are all about the AI's baseline pathing (in some circumstances it applies modifiers, but think of this as being the base it applies stuff to), and are as follows.

When calculating paths to follow:
  • Try to avoid pathing adjacent to enemy cities or forts (medium weighting)
  • Account for damage from city adjacency when city adjacent damage defenses are present (increases weight given to avoiding being adjacent at a turn end by an amount proportionate to the likely damage)
  • Try to avoid pathing such that end turn is adjacent to threatening enemy stacks - this takes into account the size of the stack that is moving when assessing how threatening an enemy stack is
  • Try to avoid terrain damage (the code for this was already there but weighted by a global define that in C2C was set to 0!! I have corrected that in the global defines)

There are a couple of issues with what I have done so far, which I will be trying to address over the next few weeks:
  1. I didn't really want to account a penalty for being adjacent to an enemy unit except on the first turn of a calculated path (since it may well move before we get to the second and later turns), but due to limitations in the core game pathing engine, the code for which we do not have access to, it is impossible to make the costs differ depending on how deep in the path we are
  2. It's having to do relatively expensive calculation to implement all of the above, so there is a small performance penalty. Some of this is again down to weaknesses in the core pathing engine (see below), but some I can address with a few tweaks. It's not a huge slowdown so it should be ok for now - I will address it more fully before v22.

I have also added a new player option 'use AI pathing', which will cause human unit paths, generated as you use the UI, to also use the new baseline AI pathing calculations. This generally produces more sensible results, but may not be what you intend in detailed combat situations, so I'm unsure how truely useful it will be. Mostly I added this as a debugging aid so I could easily see what sort of paths the AI WOULD take in various circumstances. I encourage you to turn it on and play with it, if only out of curiosity (and also because if you see really bizzare results that implies a bug I need to know about). It can be truned on and off dynamically as much as you need to, even mid-turn.

Next steps (next week or so):
  • Change stack whether-to-attack decisions to weigh likely losses relative to the benefit of killing whatever it is considering attacking. Right now it just assesses the probability of a win stack-on-stack, which means that if it has a stack of 10 it will go for it against a stack of 2, even if the likely result is a win with only 1 unit surviving!
  • Change stack whether-to-attack decisions to weigh the exposure of the resulting position, having moved into the tile the to-be-defeated stack is in
  • Optimize performance at least somewhat

Beyond that but closely related:
  • Consider partial stack attacks, where the goal is not to destroty the entire enemy stack, but just some of its units (e.g. - enemy stack in exposed grasslands - often better to leave it at one unit rather than finish the win and leave ourselves in the grassland). Such partial attacks are especially good in many situations where great commanders are involved and a primary goal is to get them promoted. Currently the AI only considers full target destruction as a goal.
  • Consider opmtimal stack splitting on victory. Similar to the previous case - if we win the combat do we really want to move our entire stack in (or at least all that still has movement)? Often we want to ensure good (full health) defensive units are left in both locations. Currently the AI always moves its entire stack (all that can)

Further out of course there is an almost endless list (GC tactics, surround and destroy tactics, fort usage tactics, ...) but I'll get to them eventually...

As I mentioned above, I am somewhat handicapped by the restrictions of the core game pathing enegine, so the rest of this post is a technical digression on that subject. Read on if you're interested or else feel free to skip from here on.

The game pathing engine implements a textbook A*-least-cost graph traversal algorithm (http://en.wikipedia.org/wiki/A*_search_algorithm). It uses callbacks into the DLL for:
  • Edge traversal cost
  • Edge traversal validity
  • Edge traversla heuristic cost (must be very cheap)
  • Add node to path
It also caches edge traversal costs once calcuated and re-uses them without further callbacks.

This leads to several probems:
  1. An edge traversal cost (i.e. - cost of moving between two tiles) cannot change depending on context (e.g. - how deep into the path we are when trying to traverse that edge). This is because the same edge might be traversed on different candidate paths at different depths, and the first calculated will be cached and reused in the second context.
  2. It has no concept of the edge cost actually being composed of an edge-specific element and a target-node-specific element. This means if the cost of moving to tile X is large because of something about tile X (not because of something about the link between X and wherever we're coming from), the game engine doesn't realise this. The result is that to calculate the best path from a tile right next to X to tile X it calculates possibly hundreds of looping subpaths because the direct path has a large cost relative to the sum cost of various loops ending up in the same place minus their last edge. If the core engine understood that part of the cost was a direct contribution from the <anywhere>-><X> move it could eliminate all of these loops almost immediately, but as things stand it has to calculate its way around them all and only sees the cost on the last step.
  3. There is no way to tell the engine to adandon a branch in the pathing tree from the callbacks. This means (common situation) that if we are only interested in paths that take (say) no more than 2 turns to execute, and the shortest path is actually (say) 5 turns, it has to calculate the entire 5 turn path, after which we can reject the result, rather than abandonning each subpath in turn when it grows past length 2.
For the above reasons, I'll probably eventually bite the bullet and rewrite the entire pathing engine, bypassing the core game one entirely for AI usage. However, this is non-trivial (expect it to take a week to get it right and performant), and has complications when it comes to the human player (which uses the core game engine when displaying paths in the UI, but the DLL engine when actually executing them, so these MUST have the same behaviour for at least human units, both for usability reasons, and for multiplayer sync reasons). Note also that having our own pathing engine (for the AI) removes a major obstacle to making the AI multi-threaded (at least for single player games - I suspect it's just intractable for multi-player games, possibly excepting pit boss games, because multiple async threads would roll random numbers in non-deterministic orders).
 
@Koshling: Man, I'm going to need a new pot of coffee to read all of that! I do like the sound of multithreading the AI in the mid future though. Great work as always!
 
For the above reasons, I'll probably eventually bite the bullet and rewrite the entire pathing engine, bypassing the core game one entirely for AI usage. However, this is non-trivial (expect it to take a week to get it right and performant), and has complications when it comes to the human player (which uses the core game engine when displaying paths in the UI, but the DLL engine when actually executing them, so these MUST have the same behaviour for at least human units, both for usability reasons, and for multiplayer sync reasons). Note also that having our own pathing engine (for the AI) removes a major obstacle to making the AI multi-threaded (at least for single player games - I suspect it's just intractable for multi-player games, possibly excepting pit boss games, because multiple async threads would roll random numbers in non-deterministic orders).
Random numbers are no problem. Just generate a separate seed for each of the threads with the synced RNG (and some math) and then use an async RNG with those seeds in the threads. That way you will have a separate random number sequence in each thread but the same result on all computers.
Far more important is that the whole is deterministic. If each AI uses a separate information base and does not alter anything that might influence one of the other AIs then that will be the case.
So each of the AIs can think and queue missions but they should not be executed until all AIs are finished with thinking.
 
Wow thx for giving the insights, Koshling. It's really astonishing what bullets you are biting to make c2c so much better. Respect! And good luck with your efforts!
 
Change stack whether-to-attack decisions to weigh likely losses relative to the benefit of killing whatever it is considering attacking. Right now it just assesses the probability of a win stack-on-stack, which means that if it has a stack of 10 it will go for it against a stack of 2, even if the likely result is a win with only 1 unit surviving!
Oh, yeah, that was making for some interesting combats:
Other Player Actions:
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (8.00/8) defeats Barbarian Cobra (Prob Victory: 98.3%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (8.00/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (8.00/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (8.00/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (8.00/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (8.00/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (8.00/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (8.00/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (8.00/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (8.00/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
Douglas MacArthur (Great General) born in Carchemish Thanks, Barbarians!
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (6.72/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (6.72/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (6.72/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (6.72/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (6.72/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (6.72/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (6.72/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (6.72/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (6.72/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (6.72/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (6.72/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (6.72/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (6.72/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (6.72/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (6.72/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (6.72/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (6.08/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (6.08/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (5.44/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (5.44/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (5.44/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (4.72/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (4.72/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
By that point I was thinking the game was in an infinite loop and I was about to kill the process...
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (4.72/8) defeats Barbarian Javelineer (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (4.72/8) defeats Barbarian Javelineer (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (4.72/8) defeats Barbarian Javelineer (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (3.12/8) defeats Barbarian Javelineer (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (3.12/8) defeats Barbarian Javelineer (Prob Victory: 97.3%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (3.12/8) defeats Barbarian Spearman (Prob Victory: 97.3%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (3.12/8) defeats Barbarian Spearman (Prob Victory: 97.3%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (3.12/8) defeats Barbarian Javelineer (Prob Victory: 97.3%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (2.24/8) defeats Barbarian Javelineer (Prob Victory: 97.3%)
While defending in the wild near Parthian, Explorer 5 (Hattusas) loses to Barbarian Light Crossbowman (0.06/6) (Prob Victory: 59.4%)
While defending in the wild near Parthian, Subdued Cobra loses to Barbarian Stone Axeman (3.00/3) (Prob Victory: 0.0%)

Surely surrounding my Explorer first to use surround and destroy would have made the AI waste less units...
 
Suggestion on new techs.

Since we have Mathematics and Algebra, why wont we add Arithmetics (before mathematics), Geometry and some other later math techs such as Non-Euqlidean Geometry, Logic, Mathematical Analysis, Theory of Probability, Matrix Analysis, etc. At least those would appear to be more a tech that useless postmodern art techs such as dada and cubism :)
 
Suggestion on new techs.

Since we have Mathematics and Algebra, why wont we add Arithmetic (before mathematics), Geometry and some other later math techs such as Non-Euclidean Geometry, Logic, Mathematical Analysis, Theory of Probability, Matrix Analysis, etc. At least those would appear to be more a tech that useless postmodern art techs such as Dada and cubism :)

@Talin, wrong thread, please place ideas/suggestions in that sticked thread thx., but it is a good idea.
 
@Talin, wrong thread, please place ideas/suggestions in that sticked thread thx., but it is a good idea.

arrrgh, sorry, i was pretty sure im posting in ideas thread :) sorry
 
Oh, yeah, that was making for some interesting combats:
Other Player Actions:
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (8.00/8) defeats Barbarian Cobra (Prob Victory: 98.3%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (8.00/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (8.00/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (8.00/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (8.00/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (8.00/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (8.00/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (8.00/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (8.00/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (8.00/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
Douglas MacArthur (Great General) born in Carchemish Thanks, Barbarians!
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (7.36/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (6.72/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (6.72/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (6.72/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (6.72/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (6.72/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (6.72/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (6.72/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (6.72/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (6.72/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (6.72/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (6.72/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (6.72/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (6.72/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (6.72/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (6.72/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (6.72/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (6.08/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (6.08/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (5.44/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (5.44/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (5.44/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (4.72/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (4.72/8) defeats Barbarian Homo neanderthalensis (Prob Victory: 100.0%)
By that point I was thinking the game was in an infinite loop and I was about to kill the process...
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (4.72/8) defeats Barbarian Javelineer (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (4.72/8) defeats Barbarian Javelineer (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (4.72/8) defeats Barbarian Javelineer (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (3.12/8) defeats Barbarian Javelineer (Prob Victory: 100.0%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (3.12/8) defeats Barbarian Javelineer (Prob Victory: 97.3%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (3.12/8) defeats Barbarian Spearman (Prob Victory: 97.3%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (3.12/8) defeats Barbarian Spearman (Prob Victory: 97.3%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (3.12/8) defeats Barbarian Javelineer (Prob Victory: 97.3%)
While defending in the wild near Alemanni, Explorer 5 (Hattusas) (2.24/8) defeats Barbarian Javelineer (Prob Victory: 97.3%)
While defending in the wild near Parthian, Explorer 5 (Hattusas) loses to Barbarian Light Crossbowman (0.06/6) (Prob Victory: 59.4%)
While defending in the wild near Parthian, Subdued Cobra loses to Barbarian Stone Axeman (3.00/3) (Prob Victory: 0.0%)

Surely surrounding my Explorer first to use surround and destroy would have made the AI waste less units...

It would, but that's a lot harder to code. Phase 1 will be just not picking fights like that. Later we'll get to the surround and destroy.

Edit -actually this one is down to them being barbarians, who have no regard for their own lives! That might also need toning down a bit.
 
Back
Top Bottom