RE: AI Development and Our Hobby (Full Version)

All Forums >> [Current Games From Matrix.] >> [World War II] >> Commander - Europe at War Gold



Message


Pocus -> RE: AI Development and Our Hobby (7/2/2007 12:17:29 PM)


quote:

ORIGINAL: Joe D.

I think mandatory monastery time would be good for developers; look what a monk named Lopez did for gaming theory back in 1561! European programmers know this algorithm as the Spanish game.

W/o giving away any trade secrets, in general, how does one improve AI, or does that vary w/the individual game?

As I posted before, BoA reminds me of my Kasporov chess computer; the more time you give it, the more possibilities it can search, so the better its choices. But it also has a selective search -- as opposed to a brute force -- algorithm to save some time. Otherwise, it would be "thinking" forever; like waiting for a turn to end in WitP.


The Give more time to AI option expands the search space of the AI (for example instead of searching for a particular good location to goes winter quartering with a range of 8 regions, it will perhaps check with a range of 12 regions).

I improve the AI at several levels:

a) spending more time refining a particular algorithm. For example in earlier version of BOA, when the AI was besieged, she would either sortie or not depending of his strength. Now she can 'call for help', ie attract the attention of friendly stacks for a joint sortie.

b) add new algorithms

c) rework the AI architecture, ie adding more memory to the AI (how many turns she remembers things and what is stored to be remembered, and how it is used, etc.). These upgrades span multiple algorithms in their usage.

Bottom line, I need time [:D]




Heartland -> RE: Decades of Development (7/2/2007 12:25:00 PM)

quote:

ORIGINAL: Warfare1
CEaW is programmed in JAVA. Does that make a different to say, using C++? Forgive me, since I don't know anything about programming.

Does using JAVA mean that things such as "IF, THEN, ELSE" can't be used?


Java is not really that different from C++ or any similar-level programming language. Each has its own set of problems and advantages/disadvantages. Both languages benefit from quite a large community where one can find all sorts of useful and not-so-useful modular tools that can be imported into ones application.

Like C++, Java most certainly supports various forms of if-then-else statements, indeed it would be hard to program anything without such tools.




Joe D. -> RE: AI Development and Our Hobby (7/2/2007 2:57:43 PM)

Bottom line, I need time

Then I say give the man more time, and the only way today that he will get it is when we players stop buying every "pretty" new game that goes on sale.

Eye candy -- even w/a user-friendly interface -- is no substitute for a good game engine that presents a challenge. Otherwise, you're paying top dollar for a sim that will start gathering dust right after the next "new" incarnation of it -- EU/HoI to the 10th power, Making History (one more time), etc. -- comes out.




targul -> RE: AI Development and Our Hobby (7/2/2007 7:48:52 PM)

Well, when I went to school it was Cobalt, Fortran or Basic.  I took 3 years of Cobalt since one of my degrees is accounting.  I can now tell you those classes have been absolutely worthless since C was release a year after I finished my classes but then again there was no such thing as a personal computer in those days.




dinsdale -> RE: AI Development and Our Hobby (7/2/2007 10:38:14 PM)

quote:

ORIGINAL: Joe D.
I didn't say it had a simpler ruleset/engine, but BoA doesn't encompass the entire world or take into account a myriad of unit types -- only infantry, lt. infantry, militia, rangers, Indians -- no air combat whatsoever, and only frigates and transports, not including its worthless bateaux.

So you're ignoring different unit types (cavalry/supply/artillery) plus the enormous matrices of quality and quantity? Further, air and sea aren't magic, they're just units with different capabilities and restrictions.

quote:


In fact, BoA has so few "pieces," I'm tempted to compare it w/my chess computer; the longer the AI "thinks," the more effective it becomes.

BoA is significantly removed from chess, as is even the simplest game with variable units and more than 4 borders between zones/hexes/provinces.

But regardless, what you're claiming is an easier ruleset, as the complexity of engine mechanics directly effect the AI. From everything I've been led to belive, CEAW has been described with less complexity and I'm surprised that you'd think pieces are the determining factor in an AI.

--------------------

quote:

ORIGINAL geozero
Okay... so since we are dealing with a STRATEGIC level game, perhaps one way to look at the AI issue would be sort of similar to real life military chain of command...

Is there any difference between tactical and strategic when moving pieces around a board? Obviously long term production/research issues add another layer to AI processing in strategic level games, but when calculating frontage, threats and objectives, what's the practical difference on the mapboard.

....
quote:


I've used programmers for various non-gaming projects from all over the world (guru(dot)com). And there's always new college grads waiting to get into programming. Maybe you think there's no money to pay for all these people, but you'd be surprised how many might be willing to give time for free. It's called being an intern.

Would you have an intern redo your home electrics? Fix your brakes or take out your appendix :)

While time may be a factor, it's only a factor when the resource has talent. Some people could spend the rest of their lives working on code and not produce anything usable. Others could make quantum leaps if given another few hours a day to work. So just throwing resources at something is almost as bad as not having any at all, many times it's worse.


As for Java v C++ there's no practical difference in what can be achieved. Java is very similar to C++ in it's constructs operators and control statements. Generally, C++ outperforms Java, up to several orders of magnitude depending on the function.




Joe D. -> RE: AI Development and Our Hobby (7/3/2007 12:23:11 AM)

How could you fly a Union Jack and not understand American English?

In any case, read Pocus' -- BoA lead developer -- post above; his native language is French, so maybe you can understand his English.




Laryngoscope -> RE: AI Development and Our Hobby (7/3/2007 1:01:41 AM)

quote:


Would you have an intern redo your home electrics? Fix your brakes or take out your appendix :)


Although not strictly an intern by geozero's definition of working for free, medical interns do appendectomies all the time, under varying degrees of supervision (ranging from the surgeon holding their hands all the way to surgeon not being in the hospital [X(]).

Anyway back to regular AI rant ...




geozero -> RE: AI Development and Our Hobby (7/3/2007 2:32:42 AM)

I wouldn't necessarily call it AI rant... rather a discussion that hopefully shows that players (i.e. us consumer buying public) want and expect more out of a $74 game.

There seems to be comparisons between AI and the game difficulty levels... they are not one and the same. If the "Normal" setting as told by DEVs is for tutorial purposes what's the easy setting for? The brain dead? [:D]

All the difficulty settings do is adjust resources and production to an unrealistic level. Since the DEV's have brought up comparisons with chess (and we've already discussed how naive those statements were), what computer chess game out there has a difficult setting that gives the computer opponent infinite number of Queens and Knights? Answer: None. It's unrealistic and it's not AI.

AI by its own definition implies "thinking" which the game does not change with the difficult settings.

I've gone a bit on a tangen perhaps (and mis-quoted by a few), but I've provided some alternative ideas to the lack of AI programming. You may not agree with that, it's fine. What are you bringing to the table? Do you have any ideas you'd like to share instead of just saying the AI sucks? That's all I'm saying.

I still like the game...but I want to love it... be able to replay it. I'm in the middle of another AXIS game playing with the difficulty to THE MAX with FOW and Oil toggled. The "AI" is still basically the same... no counter attacks from Polish units, French units sit prone and wait to be decimated, Denmark/Norway just sit there, but boat loads of convoy points, enemy units, and my subs being detected miles and miles away.




Joe D. -> RE: AI Development and Our Hobby (7/3/2007 3:33:45 AM)

I'm beginning to wonder that w/the advent of PBEM and multi-player abilities, AI development now plays second fiddle.

Why even bother investing in AI if you expect most purchasers/players to look for their competition online?




geozero -> RE: AI Development and Our Hobby (7/3/2007 4:03:31 AM)


quote:

ORIGINAL: Joe D.

I'm beginning to wonder that w/the advent of PBEM and multi-player abilities, AI development now plays second fiddle.

Why even bother investing in AI if you expect most purchasers/players to look for their competition online?



BINGO!

Some games are nearly impossible to play PBEM or TCP/IP... I can see shooter games where you get in there, do some kills, get the adrenaline rush, and walk away feeling good...[:D] But cerebral games where you have to think, plan, move, then wait for opponent... I'm sorry maybe I have attention defecit or something... I played many TOAW games that way, we rarely ever finished a battle... real life gets in the way...

Which is why AI should never be abandoned from games. That's just a cop out... and if it is missing then it has to be priced right.




ralphtricky -> RE: Decades of Development (7/3/2007 6:22:31 PM)


quote:

ORIGINAL: geozero

Okay... so since we are dealing with a STRATEGIC level game, perhaps one way to look at the AI issue would be sort of similar to real life military chain of command...

Have several "layers" of AI decision making. Upper most level would make decisions or "orders" to t he lower layer, then that layer would take info and make decisions, and so on... let me explain in layman's terms.

Suppose you play AXIS and the AI opponent is the Allies.

Typically, Germany invades Poland first. The Allied AI upper layer decides to a) declare war, or b) not declare war. IF decision A is made then it orders it's military and production to a war footing (If "B", then Allies remain Pacificst for now). This changes IF Germany declares war on Allies of course... assuming that decision A is taken, the Allied AI now has to look at the Situation... there's no combat yet in Africa, so nothing is done there. But a lower AI layer could decide to A) use bombers to attack Germany, B) have France attack in the West, C) send out the fleet in Search & Destroy missions against Axis subs and surface shipts, etc, etc.

Let's say decision B above is activated, Now a lower level AI decides which French units will attack and which will remain in defensive positions. Which targets present a better attack outcome? An undefended German city? A weaker Axis unit? etc.

That's how AI should work. Yes it takes programming. If, Then, Else commands as noted elsewhere. When enough of these scripts are programmed the opponent will make very good decisions, whether it is what type of production to build, where to attack or defend, when and where to invade, etc. We were programming this kind of stuff way back in the 80's using Basic.

Puts on fire retardant suit...[:D]

That's called a hierarchical AI, and is fairly popular for some genres. It has the advantage that it breaks the AI down into manageable pieces. You can add things like allowing communication both ways so that a unit can call for help if outnumbered, etc. and it should be able to do a credible job. It also has the advantage that if you design it right, you could allow a human to work at any level of the hierarchy. I think that CotA probably works this way, and it can produce an AI that 'feels' realistic.

Another tool is something called influence maps that help break down the map into different levels (similar to zooming) depending on the level of the AI, and is also very useful for doing things like finding fronts, flanks and chokepoints, as well as general planning.

Programming the low level Tactical level of AI gameplay is fairly well documented, and there are several books on how to do an AI for a FPS or RTS game, and many of these techniques can be adapted pretty easily. At the tactical leve, an AI should be able to outplay a normal human, it knows the rules very well, and should be able to figure out exactly what attacks to prosecute in what order with what units to maximize he damage while minimizing exposure. Much of this can be reused between games if you're luck.

The top level Strategic level is a lot different and has to be built from scratch for each game. The rules are totally different for each game, and the gameplay is different. Things like deciding the overall game plan, and which front to attack, etc. aren't the same in each game. When you add in research and production decision, it gets even worse.

The problems are that it takes a lot of work to program an AI, and much of it can't be finalized until the game has been almost finished. Any change in the rules can have far-reaching effects on how well the AI functions. The example of amphibious attacks requiring PP is an extreme example. If you're using a hierarchical AI, the level that decides how to spend the PP needs to get input from the level that decided that an attack would be a good thing. That sounds simple, but if it's the first feedback like that that's required, it could be a very large effort. If you're designing a monolithic AI, the consequences could be even greater.

When I do the AI redesign for my game, that's probably the way that I'm headed.

Ralph




IainMcNeil -> RE: Decades of Development (7/3/2007 6:57:56 PM)

I'd argue that it's only possible for the AI to out play a human if the rules are extremely simple and the AI can calculate all the possibe outcomes (chess) or if its real time and reactions kick in meaning teh player can;t be everywhere at once (RTS). I can't see an AI being able to make a creative plan for holding or breaking a front line in the near future, except when it is heavily scripted and this relies on the scripts knowing the start conditions, meaning its most viable for small/short scenarios.




ralphtricky -> RE: AI Development and Our Hobby (7/3/2007 7:13:00 PM)


quote:

ORIGINAL: Pocus


quote:

ORIGINAL: Joe D.

I think mandatory monastery time would be good for developers; look what a monk named Lopez did for gaming theory back in 1561! European programmers know this algorithm as the Spanish game.

W/o giving away any trade secrets, in general, how does one improve AI, or does that vary w/the individual game?

As I posted before, BoA reminds me of my Kasporov chess computer; the more time you give it, the more possibilities it can search, so the better its choices. But it also has a selective search -- as opposed to a brute force -- algorithm to save some time. Otherwise, it would be "thinking" forever; like waiting for a turn to end in WitP.


The Give more time to AI option expands the search space of the AI (for example instead of searching for a particular good location to goes winter quartering with a range of 8 regions, it will perhaps check with a range of 12 regions).

I improve the AI at several levels:

a) spending more time refining a particular algorithm. For example in earlier version of BOA, when the AI was besieged, she would either sortie or not depending of his strength. Now she can 'call for help', ie attract the attention of friendly stacks for a joint sortie.

b) add new algorithms

c) rework the AI architecture, ie adding more memory to the AI (how many turns she remembers things and what is stored to be remembered, and how it is used, etc.). These upgrades span multiple algorithms in their usage.

Bottom line, I need time [:D]

I need the time to sit down and program the high-level AI functions. Right now TOAW is scripted, and has a low-level AI. While the AI has a lot of lattitude on what itt can do, it works best in the normal scenarios. There are some longer scenarios where the AI has problems, because there's a much bigger chance that the human can do something unexpected and then things can go off the tracks. To fix that, I need to treat the scripting as only a hint that should be ignored when things go off the rails.

It should be a lot of fun[:D]. There's a fine line between doing the best thing, and doing the historic thing.

Ralph




IrishGuards -> RE: AI Development and Our Hobby (7/3/2007 7:43:35 PM)

Terrible Swift Sword .... SPI
Battleground Gettysburg ... Online ... [X(]
And Multi-player would be ... [:D]
This would be magnificent achievement ...
And for that matter EiA .. Empire in Arms .. [&o] AGD - AH
2 outstanding games that will always have dynamics that are in my mind unbelieveable.
I will play Wargames forever ... [:)]
IDG




Joe D. -> RE: AI Development and Our Hobby (7/3/2007 10:38:26 PM)

... It should be a lot of fun. There's a fine line between doing the best thing, and doing the historic thing.

What was that old Koei saying: "We supply the past; you make the history."




Page: <<   < prev  1 2 [3]

Valid CSS!




Forum Software © ASPPlayground.NET Advanced Edition 2.4.5 ANSI
1.6875