Don't get your hopes too high on better AI

the question we should all really ask is: Will the team that came up with BBAI will make a similarly better ai for Civ5 after the sdk has been released?

i wanna hear from the foremost experts on AI for civ games.

where are they? i demand a summit meeting of all the AI experts. (by demand, i mean humbly beg)

paging mr. jdog5000... paging mr. jdog5000 to the white courtesy phone please. :D
 
I think the point of the OP was not that the AI cannot be good because it only consists of IF THEN algorithms but that it cannot be good because Civ 5 combat is too complicated to actually make these IF THEN algorithms good enough.

I don't agree there, it all depends on programming and computing power.

But I do agree that the AI will never be good, simply for the reason that it would cost money to program it and they will not spend that money. After all they already got ours and most reviewers don't care about AI anyway as long as the game looks nice.

this.

Damn, you beat me to it.
 
The whole basis of Turing Machine is that virtually any complex function can be accomplished with an extremely primitive if-then on a linear tape. A parallel can be drawn to AI of any sort (not just in Civ 5). Saying that theoretically you can't get better AI out of if-then is false.

The issue is the time/effort/experience required to put more layers in, as has been mentioned in the thread, along with the amount of time the computer would spend chugging executing more complex algorithms - streamlining only goes so far. Short of pushing at -least- some of the decision making/crunching to before you hit "Next Turn", I don't see any significant way on cutting down the extra time, and even that opens up a lot more room for exceptions and other game-crashing what-ifs that no one thought about.

Is it reasonably doable for a game company? Sure it is. Look at any RTS out there. Starcraft 2 is a pretty good example. While Insane AI also cheats in terms of numbers, and its overall response to macro strategy is somewhat sluggish, it does a reasonable job of micro in most general combat situations. We're not talking about Boxer-level play, but at least SOME modicum of competence which the Civ V AI at this point of time doesn't demonstrate at all in terms of tactics.

Better AI is definitely doable at this point of time, considering how low the bar is. I'd say that at this point of time I'd rather play a game that wasn't broken (mechanics/balancing) with broken AI, than smarter AI playing a broken game though. Maybe some people at Firaxis figured the same thing.
 
I'd say that at this point of time I'd rather play a game that wasn't broken (mechanics/balancing) with broken AI, than smarter AI playing a broken game though. Maybe some people at Firaxis figured the same thing.

Which is exactly why i've been pushing for a frozen ruleset asap ever since playing the very first Domination game back in November.

But, naaaaaa - people (In general and not ONE person in particular all over the thousands of threads i kept glimpsing over) have been too busy demolishing any patches before they were even announced or defined with paragraphs worth of precision and exact fixes on 2kGreg's list.
v0621, 1135, 1141, 1167, 1217... each & every one got their fair share of negativity & provocation directed at Firaxis devs.

So as this thread was a clear "Don't get your Hopes too high on better AI" subject to comment about, i initially offered a binary explanation for everyone to read about.

Hoping is worth a void. Compiling an indented code is a fact.
And for every Rems i had to insert as provisions & references for dept. X or Y or Z, there wasn't anything other than truth in that logic.
Jmp @dx - if you must.
But never claim my hopes should be anywhere but exactly how & why i want them to be. Cuz a code isn't an emotion - it's a reason & a task i trust into unknown programmers that were trained & educated to be the best there is for a salary.
Barring a summer round of layoffs.
 
Trolling is the art of provoking a certain response from a group of people for the benefit/humor of an entirely different group of people. So...
 
What are you, insane? What do you do in a situation where you have no prior experience?

If (noInfo) {
sh@t self}

Nope! You attempt to establish the relationship between the current situation and any and all prior situations that may be similar. Your (infinitely more intelligent) subconscious uses what us folks who studied statistics call a Bayesian inference to puzzle out the most suitable response.

That's what real intelligence is, reacting appropriately to situations as they emerge and change in response to the environment and the actions of other players. Not dogmatic responses to set in stone criteria.

It's also infinitely less time consuming and irritating than writing a hundreds of thousands of lines of code for each situation where the inputs are slightly different than an existing script.


edit: Dear lord you kids need to spend some time with the Civ4 SDK. Or in a math class.

As said before: humans are very capable of linking situations. A fullgrown human will never encounter a situation with which he has no fammiliarity with at all. Sometimes humans encounter situations that are so different from anything they've ever experienced they do indeed fail to find an appropiate action. This is called ''freezing'' (at least in my language). Or shock if you will.

Besides, humans always have a fallback. If they haven't experienced a certain situation themselves they're able to think ''what would another human do''. So even if you've never been kidnapped before, you've seen it on tv/read stories in the news/heard advice about what to do. And are probably able to choose appropiate action.
 
Interesting thread.

Personally I'd be more happy with the game if it seemed to have a better AI, even if, technically, it didn't. I'm sure that the illusion of a better AI (from the perspective of the player) is probably much easier to create than an actually more intelligent AI, so hopefully that at least will come about at some point.
 
Personally I'd be more happy with the game if it seemed to have a better AI, even if, technically, it didn't.

I'm reasonably sure the reason the term eventually settled on "Artificial" intelligence (as opposed to, say, "manufactured" or "created" intelligence) is that a system seems to make intelligent decisions, using algorithms much simpler than they seem. "Seems to have better AI" sounds a little redundant in that regard. :P

In other words, if it 'seems' like better AI, it -is- better AI.
 
you have to have an if statement to check for anything.

conditioning statements are the heart and soul of anything C.

you can stick it in a nested switch array loop for all you want, but without a simple if statement you can never see any types of meaningful results.


edit:

Im still waiting for the civ5 sdk. that will be sweet.

would all civ games be more interesting if all civs were treated as the run-away ai.

it likes to pick and choose who it assigns, sometimes it makes ghandi the civ moron, other times its egypt.

the problem isnt that there is if statements, just not enough down at the bottom, and if it chooses the quickest then thats the nested portion and the stuff at the bottom can never be tagged because a preceding if clause is making it intentionally crippled in the action order it takes.
 
It is not reasonable that all these people will get what they wan't: "AI" that behaves like human in this hexagonal tactical 1UPT combat.
It was reckless of the developers to overhype the AI's "organic" feel so as to cover up their inability to program the thing.

That doesn't mean developing a challenging AI is impossible.

Far from it.

It simply means that trying to mimic a human is not a good design goal.
 
On the strategic level, the AI is fine, really. It handles things half decently except when it picks a REALLY bad strategy (stick to one city) and never adapts out of it. I've seen it ICS well and I've seen it handle a 3-4 city strategy well. (barring diplo victories, which are just stupidly broken anyways so I dunno why anyone plays with it on) Does it do it as good as a person does it? No. That's why it cheats. However, at the tactical level, it's just plain awful.

The problem is, I'm not sure if there exists any known way to deal with formations. We know we can't do it WELL (we can barely play Go). Pattern recognition sucks (never mind trying to figure out what to do now that you can understand the pattern). This is the reason why captchas work and why you generally need to train voice recognition software to get decent results for any significant deviation from what the software expects. The problem is more "does there exist some way to play tactically that scales well with its cheating knob?" As far as I know, no one knows that either. In every game I've played, the only thing I've seen basically amounts to "amass forces and attack" which leaves it horrendously vulnerable to... just about anything with subtlety. The best I've seen IS recent patches of Civ 5 and maybe some Ro3K 11 (it really handles terrain badly, though I haven't had a chance to see Civ 5 AI handle terrain in situations like that yet).
 
Well, I brought up the example of RTS AI earlier in the thread, which shows that at least decent decision making can be implemented. RTSes generally have many more complex issues as well, with special abilities, rock-paper-scissorsing, micro, etc. I realize that on the flipside, the AI can cheat at RTSes simply by just having faster reaction time/APM, and an RTS board is a lot less... 'granular' than a Duplo-sized (in comparison) hex 1UPT system, but still...
 
You folks do get that grammar is not the be all end all of coding, right? Kind of like the infinitive "to be", it's how you use it that matters. Basically, the implementation sounds simple until you try to implement it, at which point you begin to grasp just how fiendishly complex it is and how difficult to do well. After all, you're asking a team of human beings to play blindfolded Civ against you, and their only means of interacting is with code that works exclusively in generalities -- because anything else can and will be recognized and gamed.

I want to repeat that the game DOES NOT RUN ON SCRIPTS. This is important. If it did, you would know because it would do the same thing every time and would be completely incapable of handling new units added by mods. That is not how this work!

Rather than a gigantic word dump of poorly remember stuff from testing and implementing agent based economic theories, I'll link you a few interesting things for you to check out and see if maybe you get that the problem is inexperience with the game itself on the part of the AI programmers, not some theoretical inability to handle Civ5's combat and gameplay in code form:

http://eis.ucsc.edu/StarCraftAICompetition
http://overmind.cs.berkeley.edu/
http://en.wikipedia.org/wiki/State_machine

guys I think you are being a bit harsh on Aeon there - as a coder I took the switch statement thing to be humour

but yeah it all boils down to if then else

Yeah I assumed people would understand that a switch statement is a simple mechanism for sorting through a whole bunch of outcomes from a single IF, and that that was a joke.

Perhaps I should have followed up with a hearty ROFLCOPTER?
 
You folks do get that grammar is not the be all end all of coding, right?

It may not be the be all, end all of coding, but it's damnably important. If you can't spell, don't bother asking me for a job.


I want to repeat that the game DOES NOT RUN ON SCRIPTS. This is important. If it did, you would know because it would do the same thing every time and would be completely incapable of handling new units added by mods. That is not how this work!

What languages do you code in?

Every programming language, without exception, is a script. Repeat, there are no exceptions. If you have one, post it and I'll show you why you're wrong, unless someone beats me to it.

CSH scripts are scripts. The command interpreter reads them and performs the statements.
AWK is a script. The command interpreter passes the (single, very long) line to the AWK processor which performs the statements.
BASIC programs are scripts. The interpreter reads the lines and performs the statements.
VAX Assembly is a script. The compiler reads the lines and stores machine code equivalents.
HTML is a script. The HTML parser reads the lines, performs the actions.
C code is a script. The compiler reads the lines then stores machine code equivalents. These are subsequently run as, y'know, programs.
C++ code is a script. The compiler reads the lines, yadda yadda yadda.

Machine code is a script. It is a set of instructions which the CPU reads and then performs.

No exceptions.
 
Well, take it from a real coder.

Arrays contain so much parametric conditional statements that even whiles & constants aren't enough to fill the True AI definition.
If you're lowering the algorithms to an IF-THEN loop, you have absolutely no idea what nodes are.

It's not the amount of cycles a CPU can endure but rather if the stack slots are handled correctly in the dispatched routines and if some key functions applied in a variety of presets can modify decisions or reactions.
Flavors are just the tip of a huge iceberg that hides the fundamental mechanic behind any specific AIs - all of which stuck in arrays with at least 4 dimensional factors. The first being just the ruleset.

The above text forces me to ask: What languages?
 
Which is exactly why i've been pushing for a frozen ruleset asap ever since playing the very first Domination game back in November.

But, naaaaaa - people (In general and not ONE person in particular all over the thousands of threads i kept glimpsing over) have been too busy demolishing any patches before they were even announced or defined with paragraphs worth of precision and exact fixes on 2kGreg's list.
v0621, 1135, 1141, 1167, 1217... each & every one got their fair share of negativity & provocation directed at Firaxis devs.

regardless of the negativity at least we have now finally arrived at a set of mechanics/rules that are considered by many to be far less broken (ie. not broken) than on initial release - if it took a bit of "whining" so be it...

I'd say that at this point of time I'd rather play a game that wasn't broken (mechanics/balancing) with broken AI, than smarter AI playing a broken game though. Maybe some people at Firaxis figured the same thing.

... NOW STICK IT IN THE FREEZER!!
 
Back
Top Bottom