SomeGuy Posted October 19, 2022 Report Share Posted October 19, 2022 Still a noob here, enjoying a deeper dive into this awesome 0AD project. I've been trying to grasp how military maneuvers affect battle outcomes. My earlier question (partially addressed) can be found here: But I remain even more puzzled by what I'm now seeing... Having used Atlas to create a flat battle field with two equally matched armies (8 default spearmen against the same on open field), I initiate a Match with both teams at the same AI settings. Results: the same team repeatedly beats the other, with 3 of its initial 8 soldiers remaining (obviously, vs. none of the other team remaining, hence the "win"). I had expected that - at least on average - either team had a chance to win since their resources and AI capabilities are perfectly matched. Not the case; it's as if there's something about the skirmish that makes the same outcome inevitable each time. One possible explanation: The dueling AI models are "seeded" with a random numbers, but each time I restart the AI vs AI game, they each receive their same respective seed # as previously, and therefore, the same outcome repeats itself? Perhaps someone in this forum knows if this is a possibility. BUT HERE'S A MORE VEXING PUZZLE: Whenever I assume the role of Player 1 as human (myself) and do NOT intervene with any micro-control instructions, I wind up winning against the same opposing AI by a slightly greater margin (4 of my 8 soldiers remain standing) compared to letting the AI play (only wins by 3). In other words, by doing nothing I perform even better than the AI surrogate. This suggests the AI makes worse battle choices than me when I make no explicit choices. And comparing this to my tests of active intervention on my part, it gets odder still... I've tested each and every one of the formations available to the 8 spearmen before troops are engaged. Regardless of the formation I construct through the menu panel, the exact same outcome is produced, i.e., the same 4:0 (1/2 my initial 8 troops are left) regardless of any military maneuvers - i.e., the same as doing nothing at all. I'm left wondering what I'm missing ... Certainly engaging with the enemy using various maneuvers ought to influence results of in some way (better or worse). One would hope that there are outcomes associated with actively managing one's troops that produce superior results to doing nothing. Otherwise, what's the point? Can anyone replicate such conditions to see if they get different outcomes (I've attached the setup if interested, or create your own)? Clearly I'm missing something either about the AI settings or about how the game is designed to operate. Any insights greatly appreciated! Test-Matched-Opp_2p.xml Test-Matched-Opp_2p.pmp Quote Link to comment Share on other sites More sharing options...
alre Posted October 19, 2022 Report Share Posted October 19, 2022 the AI is very bad at battles, you do not want to learn how to play from the AI, that's mostly a dummy for casual players to have fun playing against. if you want to know what works best when giving battles in 0 AD, you must watch to competitive multiplayer. btw, what makes you think that the AI is random at all? not when engaging enemies I don't think. Quote Link to comment Share on other sites More sharing options...
SomeGuy Posted October 19, 2022 Author Report Share Posted October 19, 2022 25 minutes ago, alre said: the AI is very bad at battles, you do not want to learn how to play from the AI, that's mostly a dummy for casual players to have fun playing against. if you want to know what works best when giving battles in 0 AD, you must watch to competitive multiplayer. btw, what makes you think that the AI is random at all? not when engaging enemies I don't think. Interesting! Thanks for your follow up. I had assumed the AI logic package included varying degrees of military competence (defensive, balanced, aggressive - terms led me to this assumption). Since there's no distinction in battle capabilities - and they're bad - I'm not sure how much fun there is to be had in battling against the AI. It's still odd to me that when I play AI vs AI on a matched field, the same side always beats the other (by a healthy margin). One might expect that engaging the same (flat-lined) AI algorithm for both sides that it would consistently reach something approaching a draw. Kind of a chess AI playing itself repeatedly. All the more so if there's no randomized behavior involved. Regardless, you've explained why I perform better than the AI when it comes to battle (apparently, even a noob like me can beat the AI in swordplay). But what I'm still unclear about is why "doing nothing" vs doing "something/anything" in terms of my use of formations produces the same results regardless. Perhaps the situation I've tested just isn't complex enough (topography, mixed resources, etc.) for formations to make a difference in the outcome. More testing might produce interesting distinctions. In short, based on your reply I'm inferring that it's kind of pointless to bother engaging the various battle controls when playing against the AI, unless it's for learning which key+mouse combination does what. And if doing doesn't affect the outcome perhaps if should I get a cup of coffee once the blood flows and come back later ;-) Quote Link to comment Share on other sites More sharing options...
SomeGuy Posted October 26, 2022 Author Report Share Posted October 26, 2022 On 19/10/2022 at 2:19 PM, alre said: btw, what makes you think that the AI is random at all? not when engaging enemies I don't think. @alre FYI, I just came across this snippet of logic in the latest community-mod. It does seems to suggest varying degrees of random behavior in attack behavior given style of play choices for the AI. A lot more here for me to wrap my head around... // Put some randomness on the attack size let variation = randFloat(0.8, 1.2); // and lower priority and smaller sizes for easier difficulty levels if (this.Config.difficulty < PETRA.DIFFICULTY_EASY) { priority *= 0.4; variation *= 0.2; } else if (this.Config.difficulty < PETRA.DIFFICULTY_MEDIUM) { priority *= 0.8; variation *= 0.6; } if (this.Config.difficulty < PETRA.DIFFICULTY_EASY) { Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.