Resource icon

AI+ v13.1

A meeting was called to discuss the future of AI+

Spoiler :

upload_2018-3-3_11-33-55.png




I wanted to ask y'all how you feel about AI cheating going forwards now that I can actually program stuff and move units around to some degree. It's kind of important I decide early since it'll change the way the code needs to be structured, switching later will be a massive pain.
Basically, the way the lua API is structured, vision cheating is trivial, actually accounting for vision is hard. There's basically three routes I can go in, and wanted to ask you what you would be happiest to see.
- No AI vision cheats. This is the most immersive, but, it will lead to both the longest develop time, the weakest AI and the lowest performance. It'd take significant extra time to set up the architecture (to track vision), and it would be hard to mimic the humans ability to 'feel' where units might be hiding in the fog as well as the ability to chase units etc.
- Full on vision cheating + abuse. By far the easiest to make and get good results out of, but well, it makes some tactics like sneak attacks impossible. This will result in the strongest opponents by some margin.
- Decide on a case by case basis. I might for example not have the AI respond to enemy macro troop movements that are invisible, but would allow vision cheats in unit micro situations.

Note that the standard AI also does significant vision cheating, it's just not very good at having anything (visible or not) influence its behavior.
 
that's difficult to answer, one of the challenge you'll have to face with a cheating AI is to make it in a way that the player will not detect or get frustrated by.
 
that's difficult to answer, one of the challenge you'll have to face with a cheating AI is to make it in a way that the player will not detect or get frustrated by.

Although I agree with this quote, I do think that the "strongest" AI is what players are going to want.

Personally, I would be OK with an AI that can have full on vision. 3 reasons for this:

1. I do not like the fact that I can create one "mega army" and go conquer in one direction leaving my flank completely wide open, exploitable and "safe"
2. A stronger AI will allow for King, Emperor, and Immortal to be more playable in lieu of having to go to DIety to have a challenging game
3. Easy to make for you means easy to maintain and update as patches/etc. come out.

If the AI becomes too strong, you can lower the difficulty level. I agree that No AI vision would be completely immersive, but it will also make Diety more of a cakewalk.
 
that's difficult to answer, one of the challenge you'll have to face with a cheating AI is to make it in a way that the player will not detect or get frustrated by.

I agree with this reasoning - thus: let the AI cheat on vision but it should not be "obviously seen/felt" by the human player.
So: Decide on case by case (as You, Siesta, wrote it...)
 
Would it be possible to have the AI know where units are that moved out of vision for X turns and then become properly invisible again? That would allow for them to account for units that were in fog, as long as they were recently visible, without them actually knowing everything.

@ggalindo001 makes some very good points as well, in my opinion.
 
Someone said civ5 VP Ai sees all tiles that were once revealed in its present turn - I guess this could be one case rule (if possibble) here too.

And then AI should use reckon units/light cavalry/air units first to reveal tiles
(and perhaps make sure that the reckon does not end turn on vulnerable position tile, so end turn on hill/forest or retreat with last movement point)
 
I agree with this reasoning - thus: let the AI cheat on vision but it should not be "obviously seen/felt" by the human player.
So: Decide on case by case (as You, Siesta, wrote it...)

Alright, I think I'll end up doing this. I'll avoid anything extreme but will allow it to be able to use vision cheats where it just won't make much of a difference in player experience.

Would it be possible to have the AI know where units are that moved out of vision for X turns and then become properly invisible again? That would allow for them to account for units that were in fog, as long as they were recently visible, without them actually knowing everything.

It's possible for sure as long as you accept it won't carry over upon loading games, but it's one of those things that'll make it significantly harder to build something. I'd not only need to make some method per unit to decide whether they should be visible, based not only on the current state and some history, but then after that, still allow the AI to also 'guess' at locations of invisible units, after having myself discarded the real information.

For example, suppose I'd want to write a method that estimates whether I'm winning on some area on the map. For humans this kind of thing comes trivially just by looking at what's happening.
If I were to use a bot, a sort of obvious metric would be to count the amount of units in the area, this would work pretty well.
However, if I can only look at visible and previously visible units, it won't be able to infer like humans that there's probably more units there. So on top of a unit counting mechanism, and a history-unit counting method, I'll now also have to look at the terrain, at nearby cities, at the enemies 'military score', etc.
 
It's a bit hacky, but you can put tables in a saved game using a serializer and GameConfiguration.SetValue("Name", string).
 
Alright, I think I'll end up doing this. I'll avoid anything extreme but will allow it to be able to use vision cheats where it just won't make much of a difference in player experience..

I'd actually prefer this as well (the case by case basis), but I do think that the reveal all could be done in a way where it isn't felt as a "cheat" to the player. Obviously, you would know they could do that, so you would always have that in the back of your mind. I always thought in the early days of Civ V that the AI did exactly that when they would have everyone all of a sudden declare war on you.

The reason I think the "reveal all" might be a better way to go again remains in the simplicity of implementation and maintenance, as well as providing the largest level of reasonable advantage to the AI without it being an absolute cheat (production bonuses, etc.).

In any event, either has the potential to really bring the AI up a scale, and to me that is a major positive.

In my view, if we could have the AI credibly counter the "mega army" that I can build and conquer without worrying about my rear defenses.....we will have made a major step forward.
 
Someone said civ5 VP Ai sees all tiles that were once revealed in its present turn - I guess this could be one case rule (if possibble) here too.

And then AI should use reckon units/light cavalry/air units first to reveal tiles
(and perhaps make sure that the reckon does not end turn on vulnerable position tile, so end turn on hill/forest or retreat with last movement point)

to me, if this could be implemented, it would really solve a number of issues. I presume by this you either mean lift the "fog of war" on all previously explored tiles even if not in line of sight (or reachable by a unit) in the current turn.

One thought that would seem "fair" -- tho I think this would be a bear to implement:

1. Full visibility for all tiles for any unit that could reach that tile on the current turn (even if it means a DoW to reach that tile). So, if a warrior is on my border, it could reach 2 spaces inland to my territory, and the AI has previously explored all of my territory, it would be able to see as tho it is already 2 spaces into my territory.

This would make horse more valuable, and air even much more valuable -- as air would open up large swaths of territory. this would also help to balance the fact that the AI will build air but not use them -- now there is tangible benefit to their build.

2. All visibility is done before any AI move -- to be able to orchestrate "intel" before movement

3. No visibility for any previously unrevealed tile (ie, AI cannot see what it hasn't previously explored). So, in my example, if the warrior on my border had not explored the next tile adjacent to the tile it could reach on the current turn, it remains unexplored.

Although this is a slight "cheat", I think this would allow the AI to coordinate movement in a more meaningful way without it feeling like an overwhelming cheat.

Tho, I do think full reveal will provide the strongest AI and a real challenge to the player.
 
that'll make it significantly harder to build

Siesta, don't make AI+ something "significantly harder to build" - do yourself and us a favour :)

I think, it would be OK to have the AI cheat with a method, if the method is technically simple, effective on the result the AI can get/make and is not breaking my player experience.

AI as now is bad enough to let some cheats and enjoy better AI results... we need AI that bring better experience in gamplay, I can forgive the cheats as long as I enjoy them ;)
 
Siesta, don't make AI+ something "significantly harder to build" - do yourself and us a favour :)

I think, it would be OK to have the AI cheat with a method, if the method is technically simple, effective on the result the AI can get/make and is not breaking my player experience.

AI as now is bad enough to let some cheats and enjoy better AI results... we need AI that bring better experience in gamplay, I can forgive the cheats as long as I enjoy them ;)

Agree -- do everyone a favor and don't make it so difficult to build that it becomes a dead-end mod at the first Firaxis patch.

I agree with V. Soma -- some cheats that drive better AI results is great. And in all honesty, anything that causes me to cut back the difficulty level if welcome even if it is "cheating". In my mind, the AI having full visibility of all of my units on tiles that they had previously explored is not game breaking. I'm sure for others it might be -- but I am up to that challenge.

But first and foremost -- I would keep to simple to build, simple to update, and simple to keep up to date.
 
Fully agree with above. If full reveal is the easiest to implement, please do that as we all want a more challenging AI.
 
I did an AI autoplay test

Firaxis TSL Europe, 11 AI civs, Smoother immortal, standard speed
played 170 turns

CombatStackingOverhaul mod
AI+ 12.0

some notes:

- religious civs build well, religious district. OK. But no other district - may this be because of small city size? (next time I check this)
- Rome built econ district, but only Rome...
- Greece Pericles had culture district, nobody else
- I see AI building cities very far away, makes no sense
- defending AI sometimes does not attack enemy catapult next to own city though it could...
- defending AI goes to capture a free city and thus leaves own city undefended, though it is attacked by enemy

question:
- can you make AI decide on to make a city specialized to sci/culture/military/economy/industry...?
I think I see that for example Russia build religious district in all cities... not effective...
 
- can you make AI decide on to make a city specialized to sci/culture/military/economy/industry...?
I think I see that for example Russia build religious district in all cities... not effective...

Thanks for your test
I should be able to actually control what civs build in the new version. The old xml system just wasn't good enough to handle this kind of stuff in detail. It's going to take a while though and as it's a complete rewrite of that system should not share the same issues this version does (though obviously new problems may appear)
Same deal with settling locations and behavior
Not 100% sure yet how well microing units can be done (I can't seem to find a way to order them to attack units reliably so far), but large scale troop movements should be possible
 
It's actually related to AI+, because in vanilla they don't really, while in AI+ they do, I have something in place that boosts faith desire for those with a religion. Might have to buff it though if it's not noticeable enough to even offer you a RV challenge on deity.
Just to give me some idea how high I should put it, are you finding that in AI+ the following leaders do adequately try to engage with the RV?: Gandhi, Hardrada, Tomyris, Philip, Jayavarman, Jadwiga, Montezuma, Chandragupta, Tamar, Gitarja, Hojo.
I've got these marked as religious civs

Sorry haven't had much time to play further lately. Re: RV competitiveness, in my current game I have Jaya, Chandra, and Jadwiga. The latter 2 managed to find a religion but didnt pursue RV much - I easily converted them both. Pound maker on the other continent however has taken off and is generating over 200 faith / T I which is higher than I had usually seen prior to AI+. But he is also leading in overall score and everything else.

One additional quirk I noticed is that Pound maker invested **13** envoys in Jerusalem (+ 2 from Amani so 15 total) even though the next runner up only has 3 envoys. I guess it makes sense to focus if he is going for RV, but more logical thing would be to save up the extra envoys beyond suzerain status and add more if you lose that status, which is what a human player would do. Perhaps this is coz the AI cannot save envoys by design and forced to assign? If so it makes sense - I would do the same if I couldn't save envoys and going for RV and that's the only Religious CS. (Which I it is)
 
Sorry haven't had much time to play further lately. Re: RV competitiveness, in my current game I have Jaya, Chandra, and Jadwiga. The latter 2 managed to find a religion but didnt pursue RV much - I easily converted them both. Pound maker on the other continent however has taken off and is generating over 200 faith / T I which is higher than I had usually seen prior to AI+. But he is also leading in overall score and everything else.

One additional quirk I noticed is that Pound maker invested **13** envoys in Jerusalem (+ 2 from Amani so 15 total) even though the next runner up only has 3 envoys. I guess it makes sense to focus if he is going for RV, but more logical thing would be to save up the extra envoys beyond suzerain status and add more if you lose that status, which is what a human player would do. Perhaps this is coz the AI cannot save envoys by design and forced to assign? If so it makes sense - I would do the same if I couldn't save envoys and going for RV and that's the only Religious CS. (Which I it is)

Thanks for the tip, I wasn't aware they did that. I'll have a look and see if I can control envoy sending behavior at some point. Probably a bit of a lower priority issue, but it does impact the game quite a bit, so it couldn't hurt to writing something better. Doubt I'll be able to allow them to save up points too though, one of my main struggles so far with lua is that I can't stop the inbuild AI, and so it tries overriding a lot of my choices. And if you ignore envoy saving, it usually feels like they pick city states pretty reasonably.
 
Siesta, pls tell us every now and then how you progress with plans and making the new AI+... :)

You know, some short "developer's notes/diary"... on a weekly dose...
 
AI can actually save envoys, that's why you very often lose suzerainity one turn after getting it if you're in an envoy war.
 
Back
Top Bottom