M28AI Devlog (v206)
-
We were talking about AI in our games last night and something that came up is that none of the AI know how to play PhantomX. Is this something that you think would be possible in the future? I imagine the simple part is teaching an AI that they need to break if they're the Phantom, but more complex is simulating how they would come to decide who the other phantoms are and who are the innocents.
Just a fun thought. Played a few games with M28 though and watching it kite me out is infuriating. Great job. lol
-
@Doompants I can't think of a straightforward way of making it work. I've not played phantom but my understanding is that every player is hostile, but that 1 is the 'phantom' with a bonus to resources, and you win if you kill them;
in which case the more straightforward options for the AI are either it treats everyone as hostile (which is what I'd expect to happen if you can attack other players), or it ignores units that aren't those of the phantom (which would presumbly make it fairly easy to tell who is the phantom, and also lead to it suiciding units into other players). -
v201 Update
9 changes, mostly based on yesterday's rainbow cup games, including:- Improved early T1 bomber so the ACU is less likely to build the air factory ontop of itself, and the bomber is more likely to try killing other engineers even when low health
- If the nearest enemy base is killed but their ACU escapes, M28 should reassess where the nearest enemy base is
- Land experimentals should be more cautious based on the enemy's global air threat, even if it doesnt detect any nearby air threat
- Made the temporary map-wide vision at the start of the game (to tell the AI where civilians are) take place earlier and for less time, so human teammates should no longer get to see if an opponent is going first air.
- MAA should be more likely to take into account enemy tanks that are in an adjacent zone and almost in range of them (so less likely to suicide into them).
Acknowledgements
- Fearghal - Organising and funding the Rainbow Cup Tournament VIII
-
V202 Update
23 changes, including:- 3 more changes from Bosem Valley RC games (including that strikers should be more likely to attack with auroras than to shadow them; tanks should be more likely to attack when the ACU is in combat)
- 8 changes from Adaptive Kusoge RC games (including if the enemy tries hiding their ACU on a transport or in water M28 should, when in a dominant position, try killing them; ACUs with advanced nano should be more aggressive; removed code that would result in a land factory being built if an air factory was currently under construction)
- 7 QUIET specific changes, including fixing some late-game issues with factories getting stuck in a cycle of constant enhancements, and multiple paragons being built in the same arti template area)
- 5 more general changes, including expanding M28's ACU snipe logic so if an ACU is near-death underwater M28 should consider sniping with torp bombers.
Acknowledgements
- Fearghal - Rainbow Cup VIII tournament
- Azraeel - Replay featuring various late-game issues for M28
- TheWatherAI - Replay with pathing related errors (although I was disappointed they then posted a negative review due to incorrectly thinking this was the cause of a crash they suffered)
-
V203 Hotfix
Mini-update to fix a couple of bugs agead of today’s Rainbow Cup:- Fixed a bug from v202 with M28’s ‘attack ACUs hiding in water’ logic
- T2 navy should be got sooner if enemy has t2 navy
- Fixed a bug that could cause frigates to suicide if the enemy had a submarine
- ACUs should try and stay slightly closer to a stealthed ACU they’re attacking
Acknowledgements
- Radde - mapgen replay
-
v204 Update
Small update for a few changes from the Swamp City Redux rainbow cup semi-final game that I had time to put through, with 7 changes, including:- If a teammate's ACU dies in full-share, and later loses their base, M28 should no longer treat that base as a safe location to run to (and so should be less likely to suicide into Wifi and an army of tanks...)
- Various adjustments relating to certain AI personalities, including increased use of PD for turtle AI, and decreased use of factories
- Certain AI personalities should no longer adopt a 'spam T1' approach to the game even if they had a teammate who was adopting such an approach and died
Acknowledgements
- Fearghal - RCVIII tournament
-
v205 Update
Update for the first rainbow cup finals match (amongst others) with 30 changes, including:- Swamp City (RC Semi-final) - 5 changes, incl PD placement adjustment, and logic to drop engineers to capture neutral civilians
- Kolbut (RC Semi-final) - 7 changes, incl improved T1 bombing of engineers where M28 hasn't gone first air (with clumps of engineers prioritised, and use of micro to increase chances of dropping bombs), and delying T2 land for navy personality
- Fortress Ascent II (RC Final) - 12 changes, incl more aggressive GCs when underwater; greater use of PD for turtle AI; more aggressive subs when enemy lacks anti-navy units; and fixing some issues caused by M28 inheriting a far away base (and thinking it can send its air units to that base)
- 2 Radde mpagen replays - 3 changes, incl a bugfix that made ACUs too aggressive when on full health
- 3 other general or mod specific changes (slightly decreased the advantage M28 wants to engage with outranged units, it should build a higher ratio of asfs to gunships when lacking air control, and slightly adjusted its initial build order for QUIET and LAND)
Acknowledgements:
- Radde – Mapgen replay
- Azraeel – Highlighting M28 heavily stalling mass with its QUIET build order
- Fearghal – Rainbow Cup VIII
-
@maudlin27 said in M28AI Devlog (v205):
Kolbut (RC Semi-final) - 7 changes, incl improved T1 bombing of engineers where M28 hasn't gone first air (with clumps of engineers prioritised, and use of micro to increase chances of dropping bombs), and delying T2 land for navy personality
I'd also suggest for it to change engy targets if there are multiple engineers nearby (indicating a base, u wouldnt want it to drop 1 bomb on expanding engineer and then leave). It was super easy to deal with ai first bomber because it only went for 1 engineer and has predictable aim. The power of an early bomber honestly lies in disrupting all engineer orders by forcing dodges more so than killing 2-3
-
@waffelzNoob I'm not clear what you mean/what scenario it was easy to beat - are you saying that expanding engineers should be ignored altogether and the bomber should just try and find clumps of engineers (and if it cant it keeps looking)? Or just that it should prioritise groups of engineers over single engineers? If the latter, then that's what the quoted change aims to achieve (although it does depend on whether the AI has intel of the engineers).
Engineer targets should also get reassessed when the bomber isn't that close, but once it gets to a certain difference it needs to retain its target to avoid the risk it gets stuck in a cycle of switching targets and never actually dropping a bomb. -
v206 Update
7 changes from 1v1 games against M27 on maps where M27 was initially winning, including:- Added logic for tanks to do an all-in push to kill an enemy ACU
- Significant increase in the global MAA M28 should consider building.
- ACU should be a bit more aggressive vs enemy air
- Land units should be more aggressive if they outrange the nearest enemy unit and the enemy doesn’t have longer ranged units close by.
- A second air factory should be built on 10km+ maps even in t1 spam mode.
Acknowledgements
- Relent0r - providing a mapgen and a non-mapgen map where M28 was losing to M27 1v1
-
@maudlin27 Sorry, typed that on my phone so it wasn't super clear. What I mean is that it should not always repeatedly try to bomb the same engineer if that engineer did not die after the first bomb (it dodged).
https://replay.faforever.com/24337913 In this replay the AI first bombs me and gets one kill, then repeatedly tries to bomb the same engineers. There's a few issues with this:
- It's predictable for me what engineer to dodge with
- If the bomber had gone for the other engineers I would've had to dodge them around which cancels their build queue that I'd then have to requeue, very tedious and in my opinion the main reason early bombers are so powerful. In addition to this my other engineers were not 'ready' to dodge, as they're stood still, so higher chance the bomb lands there
- Its perfect aim makes it incredibly easy to dodge because it's so predictable. Maybe give it a 50/50 chance to not drop on the engineer's course but behind it, or directly on top of the engineer?
So if the AI can recognise our spawn point, make it so that it won't try to repeatedly go for the same engineer if near our spawnpoint, but switch it up
-
Makes sense, thanks