Matrix Games Forums

Forums  Register  Login  Photo Gallery  Member List  Search  Calendars  FAQ 

My Profile  Inbox  Address Book  My Subscription  My Forums  Log Out

Why Programming a Campaign Game is Very Hard

 
View related threads: (in this forum | in all forums)

Logged in as: Guest
Users viewing this topic: none
  Printable Version
All Forums >> [New Releases from Matrix Games] >> Gary Grigsby's War in the East Series >> Why Programming a Campaign Game is Very Hard Page: [1]
Login
Message << Older Topic   Newer Topic >>
Why Programming a Campaign Game is Very Hard - 8/29/2011 2:19:37 PM   
herwin

 

Posts: 6059
Joined: 5/28/2004
From: Sunderland, UK
Status: offline
Cross-posted from WitP-AE.

John von Neumann, one of the inventors of Game Theory, discussed this in his 1956 book, the Computer and the Brain. He was considering the difference between biological intelligence and the computer and pointed out that while brains could get by with low accuracy, computers needed very accurate floating point and integer representations. Brains generate their outputs in a small number of steps, using very large numbers of inputs, so round-off error was not a problem for them. On the other hand, computer codes generate their outputs using hundreds or thousands of sequential steps, each of which has to be very exact or else round-off and other arithmetic error quickly overwhelms data with noise.

Campaign games involve hundreds or thousands of turns, each involving millions of sequential steps. The end of each turn involves large numbers of rounding operations to convert floating point numbers to integers that represent the game state at the end of the turn. If each of those operations introduces 1% error, playing a hundred turns inflates that error to the point that all numbers are meaningless.

The implication is that programming a campaign game without some mechanism to keep the numbers meaningful is an impossible task. A couple hundred turns into the campaign, the numbers have drifted into noise unless we do something to keep them historically reasonable on a turn-by-turn basis. And everything has to be kept reasonable--anything not sanity checked will drift into insanity.

_____________________________

Harry Erwin
"For a number to make sense in the game, someone has to calibrate it and program code. There are too many significant numbers that behave non-linearly to expect that. It's just a game. Enjoy it." herwin@btinternet.com
Post #: 1
RE: Why Programming a Campaign Game is Very Hard - 8/29/2011 2:37:16 PM   
Captain


Posts: 78
Joined: 5/1/2006
Status: offline
All the more reasons why the AI, although it can make a reasonably competent training/sparring partner, will never be as fun or challenging to play as a human.

...plus you can't "taunt" the AI, which is half the fun of playing...

_____________________________


(in reply to herwin)
Post #: 2
RE: Why Programming a Campaign Game is Very Hard - 8/29/2011 2:49:09 PM   
morvael


Posts: 11762
Joined: 9/8/2006
From: Poland
Status: offline
I'm not sure if this is the problem, there are options to get rid of rounding errors by using special data types that do not have problems with that, yet behave like floating point numbers (at the cost of speed of course) - they are widely used in financial applications where you don't want to rob people of real money. The problem is just in the fact that the AI cannot analyze his position and foresee outcomes of certain actions like human do. In short, the algorithms used are still relatively simple and no amount of speed the computer posses can correct that.

(in reply to Captain)
Post #: 3
RE: Why Programming a Campaign Game is Very Hard - 8/29/2011 3:29:20 PM   
herwin

 

Posts: 6059
Joined: 5/28/2004
From: Sunderland, UK
Status: offline

quote:

ORIGINAL: morvael

I'm not sure if this is the problem, there are options to get rid of rounding errors by using special data types that do not have problems with that, yet behave like floating point numbers (at the cost of speed of course) - they are widely used in financial applications where you don't want to rob people of real money. The problem is just in the fact that the AI cannot analyze his position and foresee outcomes of certain actions like human do. In short, the algorithms used are still relatively simple and no amount of speed the computer posses can correct that.



Yes, but you want to present the numbers as integers in the player interface. So the round-off errors accumulate and over a hundred or so turns dominate. You could get around it by sanity-checking everything or using those special data types, but the game would then run like a snail.

_____________________________

Harry Erwin
"For a number to make sense in the game, someone has to calibrate it and program code. There are too many significant numbers that behave non-linearly to expect that. It's just a game. Enjoy it." herwin@btinternet.com

(in reply to morvael)
Post #: 4
RE: Why Programming a Campaign Game is Very Hard - 8/29/2011 3:46:39 PM   
morvael


Posts: 11762
Joined: 9/8/2006
From: Poland
Status: offline
If you round them for presentation, then that's the end of their way - the error does not accumulate as they are rounded each time then need to be represented on player's interface. They are not then read and put into the engine again - it still operates on the original numbers it had before.

(in reply to herwin)
Post #: 5
RE: Why Programming a Campaign Game is Very Hard - 8/29/2011 4:02:22 PM   
BletchleyGeek


Posts: 4713
Joined: 11/26/2009
From: Living in the fair city of Melbourne, Australia
Status: offline
quote:

ORIGINAL: morvael
If you round them for presentation, then that's the end of their way - the error does not accumulate as they are rounded each time then need to be represented on player's interface. They are not then read and put into the engine again - it still operates on the original numbers it had before.


That and the fact that there are really very little data represented as real numbers carrying over from turn to turn. The only process where I think computation is performed on floating point numbers would be the combat odds determination and random number generation in the various checks performed throughout the game (leader checks, damaged factory production check, air group committment, etc.). Which certainly do not carry over from turn to turn (or from combat to combat, nor from check to check).

On the other hand, 55 years have passed since Von Neumann seminal article, and still what he said applies to modern day computing, though not literally nor at any level. It does indeed apply in fields such as Digital Signal Processing, where you're applying say, a filter, on a continuous data stream. However, in applications such as wargame, it does apply at another level and in different, less obvious ways. Which is that of "noise" created by abstracting "too much" or "wrongly". The combat simulation system is such an abstraction: a model that tries to account for a wide variety of tactical engagements.

An example of noise introduced by the abstraction is that of the bug - squashed a long time ago - regarding halftrack passengers becoming automatically dead when the carrier was hit - and destroyed - by an AT ground element. That fault in the abstraction - probably a programming oversight that resulted in a far too simplistic model - eventually lead to problems in the "macro" level, the amount of losses generated which accumulated turn after turn because of that bug. Since the Axis is the side who struggles for manpower, it was the side where this issue had a clear effect. On the other hand, the effect of this at the Soviet "macro" level, was negligible.


_____________________________


(in reply to morvael)
Post #: 6
RE: Why Programming a Campaign Game is Very Hard - 8/29/2011 6:03:26 PM   
KenchiSulla


Posts: 2948
Joined: 10/22/2008
From: the Netherlands
Status: offline

quote:

ORIGINAL: herwin

Cross-posted from WitP-AE.

John von Neumann, one of the inventors of Game Theory, discussed this in his 1956 book, the Computer and the Brain. He was considering the difference between biological intelligence and the computer and pointed out that while brains could get by with low accuracy, computers needed very accurate floating point and integer representations. Brains generate their outputs in a small number of steps, using very large numbers of inputs, so round-off error was not a problem for them. On the other hand, computer codes generate their outputs using hundreds or thousands of sequential steps, each of which has to be very exact or else round-off and other arithmetic error quickly overwhelms data with noise.

Campaign games involve hundreds or thousands of turns, each involving millions of sequential steps. The end of each turn involves large numbers of rounding operations to convert floating point numbers to integers that represent the game state at the end of the turn. If each of those operations introduces 1% error, playing a hundred turns inflates that error to the point that all numbers are meaningless.

The implication is that programming a campaign game without some mechanism to keep the numbers meaningful is an impossible task. A couple hundred turns into the campaign, the numbers have drifted into noise unless we do something to keep them historically reasonable on a turn-by-turn basis. And everything has to be kept reasonable--anything not sanity checked will drift into insanity.


You sure know how to suck the fun out of it...

_____________________________

AKA Cannonfodder

"It happened, therefore it can happen again: this is the core of what we have to say. It can happen, and it can happen everywhere.”
¯ Primo Levi, writer, holocaust survivor

(in reply to herwin)
Post #: 7
RE: Why Programming a Campaign Game is Very Hard - 8/29/2011 6:31:38 PM   
herwin

 

Posts: 6059
Joined: 5/28/2004
From: Sunderland, UK
Status: offline

quote:

ORIGINAL: Cannonfodder


quote:

ORIGINAL: herwin

Cross-posted from WitP-AE.

John von Neumann, one of the inventors of Game Theory, discussed this in his 1956 book, the Computer and the Brain. He was considering the difference between biological intelligence and the computer and pointed out that while brains could get by with low accuracy, computers needed very accurate floating point and integer representations. Brains generate their outputs in a small number of steps, using very large numbers of inputs, so round-off error was not a problem for them. On the other hand, computer codes generate their outputs using hundreds or thousands of sequential steps, each of which has to be very exact or else round-off and other arithmetic error quickly overwhelms data with noise.

Campaign games involve hundreds or thousands of turns, each involving millions of sequential steps. The end of each turn involves large numbers of rounding operations to convert floating point numbers to integers that represent the game state at the end of the turn. If each of those operations introduces 1% error, playing a hundred turns inflates that error to the point that all numbers are meaningless.

The implication is that programming a campaign game without some mechanism to keep the numbers meaningful is an impossible task. A couple hundred turns into the campaign, the numbers have drifted into noise unless we do something to keep them historically reasonable on a turn-by-turn basis. And everything has to be kept reasonable--anything not sanity checked will drift into insanity.


You sure know how to suck the fun out of it...


You can't replicate history. Ignore the fiddly bits and just have fun.

_____________________________

Harry Erwin
"For a number to make sense in the game, someone has to calibrate it and program code. There are too many significant numbers that behave non-linearly to expect that. It's just a game. Enjoy it." herwin@btinternet.com

(in reply to KenchiSulla)
Post #: 8
RE: Why Programming a Campaign Game is Very Hard - 8/29/2011 6:55:52 PM   
PeeDeeAitch


Posts: 1276
Joined: 1/1/2007
From: Laramie, Wyoming
Status: offline

quote:

ORIGINAL: herwin


quote:

ORIGINAL: Cannonfodder

You sure know how to suck the fun out of it...


You can't replicate history. Ignore the fiddly bits and just have fun.


You can't plicate history either.

_____________________________

"The torment of precautions often exceeds the dangers to be avoided. It is sometimes better to abandon one's self to destiny."

- Call me PDH

- WitE noob tester

(in reply to herwin)
Post #: 9
RE: Why Programming a Campaign Game is Very Hard - 8/29/2011 7:28:07 PM   
KenchiSulla


Posts: 2948
Joined: 10/22/2008
From: the Netherlands
Status: offline

quote:

ORIGINAL: herwin


quote:

ORIGINAL: Cannonfodder


quote:

ORIGINAL: herwin

Cross-posted from WitP-AE.

John von Neumann, one of the inventors of Game Theory, discussed this in his 1956 book, the Computer and the Brain. He was considering the difference between biological intelligence and the computer and pointed out that while brains could get by with low accuracy, computers needed very accurate floating point and integer representations. Brains generate their outputs in a small number of steps, using very large numbers of inputs, so round-off error was not a problem for them. On the other hand, computer codes generate their outputs using hundreds or thousands of sequential steps, each of which has to be very exact or else round-off and other arithmetic error quickly overwhelms data with noise.

Campaign games involve hundreds or thousands of turns, each involving millions of sequential steps. The end of each turn involves large numbers of rounding operations to convert floating point numbers to integers that represent the game state at the end of the turn. If each of those operations introduces 1% error, playing a hundred turns inflates that error to the point that all numbers are meaningless.

The implication is that programming a campaign game without some mechanism to keep the numbers meaningful is an impossible task. A couple hundred turns into the campaign, the numbers have drifted into noise unless we do something to keep them historically reasonable on a turn-by-turn basis. And everything has to be kept reasonable--anything not sanity checked will drift into insanity.


You sure know how to suck the fun out of it...


You can't replicate history. Ignore the fiddly bits and just have fun.


Aaaah so that was your point....

_____________________________

AKA Cannonfodder

"It happened, therefore it can happen again: this is the core of what we have to say. It can happen, and it can happen everywhere.”
¯ Primo Levi, writer, holocaust survivor

(in reply to herwin)
Post #: 10
RE: Why Programming a Campaign Game is Very Hard - 8/30/2011 1:24:44 PM   
Commanderski


Posts: 927
Joined: 12/12/2010
From: New Hampshire
Status: offline
quote:

.plus you can't "taunt" the AI, which is half the fun of playing


You can, but the AI just won't taunt you back..it has no sense of humor...

(in reply to KenchiSulla)
Post #: 11
RE: Why Programming a Campaign Game is Very Hard - 8/30/2011 1:32:21 PM   
Tarhunnas


Posts: 3152
Joined: 1/27/2011
From: Hex X37, Y15
Status: offline
I can't see that rounding errors should be a problem. In the case of Wite I would say that the sheer size of the task of playtesting a 200+ turns campaign is the real hurdle.

_____________________________

Read my AAR:s ye mighty, and despair!
41Ger
41Sov
41Ger
42Ger
42Sov

(in reply to Commanderski)
Post #: 12
RE: Why Programming a Campaign Game is Very Hard - 8/30/2011 3:13:46 PM   
Jakerson

 

Posts: 565
Joined: 8/15/2006
Status: offline

quote:

ORIGINAL: Tarhunnas

I can't see that rounding errors should be a problem. In the case of Wite I would say that the sheer size of the task of playtesting a 200+ turns campaign is the real hurdle.


Rounding error is problem becouse good AI have to be able to plan moves over multiple turns based on the data it has now. Good AI have to take note of every possible move that opponent can do during his turn and able to choose best path from millions of possible ways of moving his troops.

It is not simple task to calculate best route that remains to be best over multiple turns if you just calculate best route now then AI is just blind men in the dark.




(in reply to Tarhunnas)
Post #: 13
RE: Why Programming a Campaign Game is Very Hard - 8/30/2011 3:27:58 PM   
Tarhunnas


Posts: 3152
Joined: 1/27/2011
From: Hex X37, Y15
Status: offline
quote:

ORIGINAL: Jakerson


quote:

ORIGINAL: Tarhunnas

I can't see that rounding errors should be a problem. In the case of Wite I would say that the sheer size of the task of playtesting a 200+ turns campaign is the real hurdle.


Rounding error is problem becouse good AI have to be able to plan moves over multiple turns based on the data it has now. Good AI have to take note of every possible move that opponent can do during his turn and able to choose best path from millions of possible ways of moving his troops.

It is not simple task to calculate best route that remains to be best over multiple turns if you just calculate best route now then AI is just blind men in the dark.


The OP was not mentioning the AI, it was about the campaign game in general.

I would say on the contrary, a really good AI does not have to take note of every possible move. A really good AI would think like a human, and concentrate on those courses of action that are most realistic or profitable.

< Message edited by Tarhunnas -- 8/30/2011 3:28:41 PM >


_____________________________

Read my AAR:s ye mighty, and despair!
41Ger
41Sov
41Ger
42Ger
42Sov

(in reply to Jakerson)
Post #: 14
RE: Why Programming a Campaign Game is Very Hard - 8/30/2011 4:19:32 PM   
BletchleyGeek


Posts: 4713
Joined: 11/26/2009
From: Living in the fair city of Melbourne, Australia
Status: offline
quote:

ORIGINAL: Jakerson
Rounding error is problem becouse good AI have to be able to plan moves over multiple turns based on the data it has now. Good AI have to take note of every possible move that opponent can do during his turn and able to choose best path from millions of possible ways of moving his troops.

It is not simple task to calculate best route that remains to be best over multiple turns if you just calculate best route now then AI is just blind men in the dark.


Actually, a technique which has seen a lot of success is that of ignoring the uncertainty in the outcome of possible move (or other) actions, and just recompute the plan when some - heuristically chosen - conditions are met. You can't give guarantees that, let's say one stack won't get "stuck" into a dead-end (oh sh*t we got into enemy ZOC and we can't break contact) but it can certainly work quite well. And we do that kind of mistake quite often

I haven't seen this concept widely applied on a wargame yet - the only exception being Panther Games' outstanding RDoA, HttR, CotA and BftB. There the AI is drawing from a "library" of templates of operational plans, which model a given country military doctrine.

I'm not privy - obviously - to how Dave & his crew actually formulate - or rather, instantiate - plans from the library to suit a particular situation, but I'm fairly confident it was not an easy feat to put that into a game which works as smoothly as BftB does. A closely related approach is, rather than using such "plan libraries" or "task networks", to use a model consisting of atomic "actions" which are abstraction of hand-programmed procedures, see http://web.media.mit.edu/~jorkin/goap.html for reference and real-world applications. In this approach plans are computed on the fly with generic but easily customizable search algorithms.

PS: Off-topic but I expect it will be interesting :)
PS2: English improved.

< Message edited by Bletchley_Geek -- 8/30/2011 6:08:23 PM >


_____________________________


(in reply to Jakerson)
Post #: 15
RE: Why Programming a Campaign Game is Very Hard - 8/31/2011 8:38:06 AM   
Jakerson

 

Posts: 565
Joined: 8/15/2006
Status: offline
quote:

ORIGINAL: Bletchley_Geek
Actually, a technique which has seen a lot of success is that of ignoring the uncertainty in the outcome of possible move (or other) actions, and just recompute the plan when some - heuristically chosen - conditions are met. You can't give guarantees that, let's say one stack won't get "stuck" into a dead-end (oh sh*t we got into enemy ZOC and we can't break contact) but it can certainly work quite well. And we do that kind of mistake quite often

I haven't seen this concept widely applied on a wargame yet - the only exception being Panther Games' outstanding RDoA, HttR, CotA and BftB. There the AI is drawing from a "library" of templates of operational plans, which model a given country military doctrine.

I'm not privy - obviously - to how Dave & his crew actually formulate - or rather, instantiate - plans from the library to suit a particular situation, but I'm fairly confident it was not an easy feat to put that into a game which works as smoothly as BftB does. A closely related approach is, rather than using such "plan libraries" or "task networks", to use a model consisting of atomic "actions" which are abstraction of hand-programmed procedures, see http://web.media.mit.edu/~jorkin/goap.html for reference and real-world applications. In this approach plans are computed on the fly with generic but easily customizable search algorithms.

PS: Off-topic but I expect it will be interesting :)
PS2: English improved.


BftB = Battle for the bulge?

BftB is real time game this gives huge advantage over turn based games AI's. In real time games AI can make decisions based on the data it has in real time and adjust reactions accordingly in real time. Also in BFTB units are always semi-ai controlled it makes harder to use human knowledge against AI this also gives advantage to AI.

In turn based games there are exponential number of moves that can be done and computer is pretty stupid calculation machine that do not “really” know anything. It simply hasty go through every possible move combination one by one with some kind of search algorithm and find out best possible patch for moves by simple brute force calculation. In WITE there is so many variables it is probably impossible to calculate them all over multiple turns there is simply too many possible combinations for modern CPU to seek all possibilities.



(in reply to BletchleyGeek)
Post #: 16
RE: Why Programming a Campaign Game is Very Hard - 8/31/2011 9:46:37 AM   
BletchleyGeek


Posts: 4713
Joined: 11/26/2009
From: Living in the fair city of Melbourne, Australia
Status: offline

quote:

ORIGINAL: Jakerson
BftB = Battle for the bulge?


Yes.

quote:

ORIGINAL: Jakerson
BftB is real time game this gives huge advantage over turn based games AI's. In real time games AI can make decisions based on the data it has in real time and adjust reactions accordingly in real time. Also in BFTB units are always semi-ai controlled it makes harder to use human knowledge against AI this also gives advantage to AI.


The difference between "real time" and "turn based" is much more fuzzy than you think. BftB is more a WEGO system that works with very small "turns" or "resolution steps". Since you can stop the "timer" and issue orders, I very much like see the system as WEGO with adjustable "turn length".

quote:

ORIGINAL: Jakerson
In turn based games there are exponential number of moves that can be done and computer is pretty stupid calculation machine that do not “really” know anything. It simply hasty go through every possible move combination one by one with some kind of search algorithm and find out best possible patch for moves by simple brute force calculation. In WITE there is so many variables it is probably impossible to calculate them all over multiple turns there is simply too many possible combinations for modern CPU to seek all possibilities.


My point precisely. And regarding the computing power needed, you're overestimating how hard can be that. The map the AI sees doesn't need to look like the map you see, nor have space represented with the same level of granularity.


_____________________________


(in reply to Jakerson)
Post #: 17
RE: Why Programming a Campaign Game is Very Hard - 8/31/2011 11:09:27 AM   
janh

 

Posts: 1216
Joined: 6/12/2007
Status: offline
quote:

ORIGINAL: Tarhunnas
I can't see that rounding errors should be a problem. In the case of Wite I would say that the sheer size of the task of playtesting a 200+ turns campaign is the real hurdle.


Interesting that Herwin kicks off such a discussion with a very general comment in both AE and WitE forums...

I would assume the greatest lack of games in this context stems from the huge efforts that would be needed to create a very sophisticated AI. The development time would be huge, and better AI quality alone doesn't sell a game, so earning would not follow the needed investment. But AI can be refined sequentially, for example AI in ARMA2 saw quite a few evolutions from OFP. Probably also the future "War in Europe" AI will come a long way since WiTEast.

AI can be improved systematically, and AI can be programmed to mimic the thinking process of a human. Obviously a good number of people in academia are researching this, and people in industry working on things from autonomous robots to games -- I don't think they would agree with Herwin that it is fundamentally impossible to do. Yet it is a question of how, and most importantly: how to achieve it efficiently. Since the days of John von Neumann things have developed steadily, and probably a few of the arguments and the knowledge (both of the function of the brain, and the one of computers) upon which he based his conclusions in the fifties-sixties have made fundamental progress today...

Logic (AI) can be represented in different implementations, some being non-linear, though thinking process can as well be reduced to strictly linear logic. Somehow the recent successes of neuronal grids methods in for instance quantum chemistry and molecular modeling come to my mind, which help to make lots of "smart" approximations in many-body problems to ignore factors with little impact for a given required accuracy of the simulation result. This is not exactly AI, but in principle you could interpret it as the code thinking about which contributions or steps are important, and which can be ignored. People in chemistry and physics (assisted by math and informatics and...) have been working for many decades on such approximations to make problems, that would require almost infinite computation time but could theoretically be handled exactly, treatable without sacrificing too much accuracy. That includes issues like sparse matrix diagonalizations, sparse numbers problems, rounding errors, etc etc etc over a large number of computational steps.

In linear logic things are less efficient to treat, but it allows easier examples: lots of nested "if then else" type structures that follow a situation assessment the same way you sit in front of your map: You count the units in your stack, look at moral, devices, check the enemy counters in front, recall what you know about them from the previous turns taking account some inaccuracy and add some possible margins for how the enemy could have changed by reinforcements etc., check what other friendly counters are nearby, and virtually assign you possible moves some "priority" or "usefulness" factor. Then you look at the next counter of your army, and do the same, ideally until you have check, like a chess player, all of your moves, and then pick the combination with has the largest total "usefulness". Ideally, you'd propagate that over all the turns to the end. But evidently, neither the human brain nor present day computers can do so by brute force, even for something with a comparably small parameter space like chess. But theoretically, you could do it. Thus, one issue with programming an AI, and as far as I understand it the most critical one, is to find such implementations that are more efficient than linear structures, and that use suitable structures and approximations to eliminate a lot of "overhead" that is not so important for a sufficiently good result (for example the grid representation how AI sees a map that Bletchley_Geek mentioned). Otherwise you cannot treat complex problems with many variables that enter a decision in a finite time, with a reasonable result.

Whether rounding errors end up being significant errors, is a somewhat different matter but also depends on implementation specifics. If a game (or AI) is to only to keep meaningful information from one step (turn) to the next, and no longer, rounding errors even if ignored could end up averaging out statistically. Perhaps Herwin can give a more specific example to illustrate what he had in mind...

Another interesting factor that comes to my mind is that the human brain is also error prone, and so an AI that realistically mimics a human should be. Otherwise, why, if you take a very large group of people, feed them the same information, and give them the same task that does not require other input from say personal experiences (even simple task like a small mathematical test), will you find a few "statistical" erroneous results besides a large number of correct ones. So perhaps in some applications you actually want something that causes errors in your program...


< Message edited by janh -- 8/31/2011 11:10:49 AM >

(in reply to Tarhunnas)
Post #: 18
RE: Why Programming a Campaign Game is Very Hard - 8/31/2011 12:50:51 PM   
BletchleyGeek


Posts: 4713
Joined: 11/26/2009
From: Living in the fair city of Melbourne, Australia
Status: offline
quote:

ORIGINAL: janh
Whether rounding errors end up being significant errors, is a somewhat different matter but also depends on implementation specifics. If a game (or AI) is to only to keep meaningful information from one step (turn) to the next, and no longer, rounding errors even if ignored could end up averaging out statistically. Perhaps Herwin can give a more specific example to illustrate what he had in mind...

Another interesting factor that comes to my mind is that the human brain is also error prone, and so an AI that realistically mimics a human should be. Otherwise, why, if you take a very large group of people, feed them the same information, and give them the same task that does not require other input from say personal experiences (even simple task like a small mathematical test), will you find a few "statistical" erroneous results besides a large number of correct ones. So perhaps in some applications you actually want something that causes errors in your program...


Quite a few good points in your answer, janh. I would also like to hear from Herwin to ellaborate a bit further what was he after. Herwin, you sometimes sound a bit like the Oracle of Delphi...

I'd like to answer to your second paragraph, because you just nail the actual issue. It's all about a player "perceiving" the AI to be smart or not. Anybody would qualify an AI where you see units being stacked around or on top of VP locations as dumb. An AI that did something like channeling you so that it can hit you in the flanks, or just contesting by counterattacking an hex you just took from it (expecting those forces not to be fresh and ripe for a counterattack), would be considered by anybody as smart. Whatever the technique "under the hood" what really matters is the result : that you end up grabbing your tin foil hat and opening your computer case to find out where are the little men hiding ;)

< Message edited by Bletchley_Geek -- 8/31/2011 12:52:07 PM >


_____________________________


(in reply to janh)
Post #: 19
RE: Why Programming a Campaign Game is Very Hard - 8/31/2011 1:03:08 PM   
herwin

 

Posts: 6059
Joined: 5/28/2004
From: Sunderland, UK
Status: offline

quote:

ORIGINAL: Bletchley_Geek


quote:

ORIGINAL: Jakerson
BftB = Battle for the bulge?


Yes.

quote:

ORIGINAL: Jakerson
BftB is real time game this gives huge advantage over turn based games AI's. In real time games AI can make decisions based on the data it has in real time and adjust reactions accordingly in real time. Also in BFTB units are always semi-ai controlled it makes harder to use human knowledge against AI this also gives advantage to AI.


The difference between "real time" and "turn based" is much more fuzzy than you think. BftB is more a WEGO system that works with very small "turns" or "resolution steps". Since you can stop the "timer" and issue orders, I very much like see the system as WEGO with adjustable "turn length".

quote:

ORIGINAL: Jakerson
In turn based games there are exponential number of moves that can be done and computer is pretty stupid calculation machine that do not “really” know anything. It simply hasty go through every possible move combination one by one with some kind of search algorithm and find out best possible patch for moves by simple brute force calculation. In WITE there is so many variables it is probably impossible to calculate them all over multiple turns there is simply too many possible combinations for modern CPU to seek all possibilities.


My point precisely. And regarding the computing power needed, you're overestimating how hard can be that. The map the AI sees doesn't need to look like the map you see, nor have space represented with the same level of granularity.



Brains don't work like a chess-playing program. They pull together thousands of pieces of information, but they process it very simply.


_____________________________

Harry Erwin
"For a number to make sense in the game, someone has to calibrate it and program code. There are too many significant numbers that behave non-linearly to expect that. It's just a game. Enjoy it." herwin@btinternet.com

(in reply to BletchleyGeek)
Post #: 20
RE: Why Programming a Campaign Game is Very Hard - 8/31/2011 3:05:42 PM   
janh

 

Posts: 1216
Joined: 6/12/2007
Status: offline
What exactly do you mean with "process it very simply"?  As a neuroscientist with a deeper knowledge of the biochemistry and biophysics of a (human) brain, you probably mean "simply" in a very different sense than you make it sound.  And as a scientist and teacher, you also should be a little more specific in your statements.  Given the courses you have taught in the past couple of years, including "Software Cost Estimation", "Introductory Statistics", and even "Reasoning", you surely could give some good arguments and examples if you are really interested in what could be an interesting discussion.  Or what did the Oracle of Delphi try to achieve with the OP?

(in reply to herwin)
Post #: 21
RE: Why Programming a Campaign Game is Very Hard - 8/31/2011 3:41:57 PM   
Jakerson

 

Posts: 565
Joined: 8/15/2006
Status: offline
quote:

ORIGINAL: herwin

Brains don't work like a chess-playing program. They pull together thousands of pieces of information, but they process it very simply.


Well I have read only one book about Neural-networks science and it was about 900 pages bible trying to describe the problem how brains handle information and how it should be simulated in computer.

One common mistake in software industry is human tendency to over simplify problems. This is main reason why so many times software projects are delayed or released full of bugs or simply fail to complete at all. One third of software projects fail and never deliver the product that was goal of the project.

(in reply to herwin)
Post #: 22
RE: Why Programming a Campaign Game is Very Hard - 8/31/2011 4:04:21 PM   
BletchleyGeek


Posts: 4713
Joined: 11/26/2009
From: Living in the fair city of Melbourne, Australia
Status: offline
quote:

ORIGINAL: herwin
quote:

ORIGINAL: Bletchley_Geek
quote:

ORIGINAL: Jakerson
In turn based games there are exponential number of moves that can be done and computer is pretty stupid calculation machine that do not “really” know anything. It simply hasty go through every possible move combination one by one with some kind of search algorithm and find out best possible patch for moves by simple brute force calculation. In WITE there is so many variables it is probably impossible to calculate them all over multiple turns there is simply too many possible combinations for modern CPU to seek all possibilities.

My point precisely. And regarding the computing power needed, you're overestimating how hard can be that. The map the AI sees doesn't need to look like the map you see, nor have space represented with the same level of granularity.

Brains don't work like a chess-playing program. They pull together thousands of pieces of information, but they process it very simply.


Chess-playing programs run on a computer, which also pull together thousands of pieces of information, processing them very simply. But what does get "run" on brains? Nobody knows, though quite a few theories are there :) and some interesting results regarding interactions between pools of neurons that perform (very) simple computation in the pre-frontal cortex, such as discriminating circular from rectangular shapes?

Where does stand good old Von Neumann today? Sincerely, what he said has no "literal" application nowadays, though he got right the problem of approximating reality with models which are then executed on a digital computer. The way we perceive and understand physical reality is actually a model, "developed" by evolution over millions of years. I think it's a huge phylosophical error to consider that our biological hardware is not mediating between "us" - whatever is "us" - and physical reality. So - although simplistic - the "brain - and thought processes going on top of it - as an information processing system" metaphor is still very useful. Besides that, in his time, there was little understanding of quite a few phenomena relating to auditory and visual systems illusions. Many of them are accounted for when we take a look at the kind of "approximate" signal processing that takes place by specialized neurons, something which wasn't understood until the late 80s...

_____________________________


(in reply to herwin)
Post #: 23
RE: Why Programming a Campaign Game is Very Hard - 8/31/2011 4:18:18 PM   
Gargoil

 

Posts: 389
Joined: 1/6/2008
Status: offline

quote:

ORIGINAL: Bletchley_Geek

quote:

ORIGINAL: herwin
quote:

ORIGINAL: Bletchley_Geek
quote:

ORIGINAL: Jakerson
In turn based games there are exponential number of moves that can be done and computer is pretty stupid calculation machine that do not “really” know anything. It simply hasty go through every possible move combination one by one with some kind of search algorithm and find out best possible patch for moves by simple brute force calculation. In WITE there is so many variables it is probably impossible to calculate them all over multiple turns there is simply too many possible combinations for modern CPU to seek all possibilities.

My point precisely. And regarding the computing power needed, you're overestimating how hard can be that. The map the AI sees doesn't need to look like the map you see, nor have space represented with the same level of granularity.

Brains don't work like a chess-playing program. They pull together thousands of pieces of information, but they process it very simply.


Chess-playing programs run on a computer, which also pull together thousands of pieces of information, processing them very simply. But what does get "run" on brains? Nobody knows, though quite a few theories are there :) and some interesting results regarding interactions between pools of neurons that perform (very) simple computation in the pre-frontal cortex, such as discriminating circular from rectangular shapes?

Where does stand good old Von Neumann today? Sincerely, what he said has no "literal" application nowadays, though he got right the problem of approximating reality with models which are then executed on a digital computer. The way we perceive and understand physical reality is actually a model, "developed" by evolution over millions of years. I think it's a huge phylosophical error to consider that our biological hardware is not mediating between "us" - whatever is "us" - and physical reality. So - although simplistic - the "brain - and thought processes going on top of it - as an information processing system" metaphor is still very useful. Besides that, in his time, there was little understanding of quite a few phenomena relating to auditory and visual systems illusions. Many of them are accounted for when we take a look at the kind of "approximate" signal processing that takes place by specialized neurons, something which wasn't understood until the late 80s...


I think we need Ockham's razor here.

All we need the AI to do in games such as this is give the player a reasonable appearance of intelligence and a possibility to win the game. There is no need for a "deep" understanding of what is actually going on. The AI only needs to assign some general priorities based on scripted goals and current strength it's human opponent has positoned in front of it that are obstacle's to that goal. Add some sense of how to conduct individual attacks are proper odds, and your done.

(in reply to BletchleyGeek)
Post #: 24
RE: Why Programming a Campaign Game is Very Hard - 8/31/2011 4:40:13 PM   
Emx77


Posts: 419
Joined: 3/29/2004
From: Sarajevo, Bosnia and Herzegovina
Status: offline
Comparison between human brain and computer:


"The brain uses a very inefficient type of circuitry. Neurons are very large “devices,” and they’re extremely slow. They use electrochemical signaling that provides only about two hundred calculations per second, but the brain gets its prodigious power from parallel computing resulting from being organized in three dimensions. Three-dimensional computing technologies are beginning to emerge."

...

"Right now (2008), your typical $1,000 PC is somewhere between an insect and a mouse brain. The human brain has about 100 billion neurons, with about 1,000 connections from one neuron to another. These connections operate very slowly, on the order of 200 calculations per second, but 100 billion neurons times 1,000 connects creates 100 trillion-fold parallelism. Multiplying that by 200 calculations per second yields 20 million billion calculations per second, or, in computing terminology, 20 billion MiPS. We’ll have 20 billion MiPS for $1,000 by the year 2020

Now, that won’t automatically give us human levels of intelligence, because the organization, the software, the content, and the embedded knowledge are equally important
."


Ray Kurzweil, "Virtual Reality and Man-Machine Interface in Disclosure and The Terminal Man" in book: "The Science of Michael Crichton: An Unauthorized Exploration Into the Real Science Behind the Fictional Worlds of Michael Crichton"



(in reply to Gargoil)
Post #: 25
RE: Why Programming a Campaign Game is Very Hard - 8/31/2011 8:37:34 PM   
Redmarkus5


Posts: 4456
Joined: 12/1/2007
From: 0.00
Status: offline
I think that the problem is actually too much complexity in the game design. More things need to be abstracted and complexity should arise from combinations of very simple sets of basic parameters and rules. Chess is an excellent example - a very limited set of unit types and capabilities, a small number of pieces and a tiny 'map', but with limitless possibilities that have taxed the greatest minds over many centuries.

Once you go beyond the complexity of a game of chess, any AI system that's within the budget and technical capabilities of a niche game developer to program is likely to struggle.

I still own the solitaire board game 'Carrier' by Victory Games. This uses a simple set of rules and die rolls to provide fog of war and to determine where the 'AI' player will go and with what forces, yet it provides more suspense, realism and replay-ability than almost any PC game I have yet seen. Many board games actually provide more strategic/operational realism than PC games because they need to be more simple in their design.

_____________________________

WitE2 tester, WitW, WitP, CMMO, CM2, GTOS, GTMF, WP & WPP, TOAW4, BA2

(in reply to herwin)
Post #: 26
RE: Why Programming a Campaign Game is Very Hard - 8/31/2011 9:36:14 PM   
Reconvet

 

Posts: 355
Joined: 1/17/2011
Status: offline

quote:

ORIGINAL: redmarkus4
I think that the problem is actually too much complexity in the game design. More things need to be abstracted and complexity should arise from combinations of very simple sets of basic parameters and rules. Chess is an excellent example - a very limited set of unit types and capabilities, a small number of pieces and a tiny 'map', but with limitless possibilities that have taxed the greatest minds over many centuries.


The more complex the rule-set the more complicated it is to set up a decent AI, sure. But most of us buying and playing games like WitE or WitP are not hooked by oversimplification and maximum abstraction, so a decent AI should evolve beyond the tic-tac-toe level as seen in so many bad wargames.


quote:

ORIGINAL: redmarkus4
Once you go beyond the complexity of a game of chess, any AI system that's within the budget and technical capabilities of a niche game developer to program is likely to struggle.


Can we agree that the WitE-developers do fall into the niche category, and that they achieved to implement the best AI found in current commercial wargames? If so then bigger companies really should be able to approach this AI-quality and do more than an alibi job. But alas, capitalism... If I had the money I'd happily fully finance the WitE AI-Team to let them work fulltime on it without distraction and allow them to demonstrate their full potential.

If you disagree with "the best AI" then please name the contender (and don't make yourself ridiculous by naming a Paradox product...).



_____________________________

The biggest threat for mankind is ignorance.


(in reply to Redmarkus5)
Post #: 27
RE: Why Programming a Campaign Game is Very Hard - 8/31/2011 11:42:37 PM   
ETF


Posts: 1748
Joined: 9/16/2004
From: Vancouver, Canada
Status: offline

quote:

ORIGINAL: Captain

All the more reasons why the AI, although it can make a reasonably competent training/sparring partner, will never be as fun or challenging to play as a human.



Agreed 100%

_____________________________

My Top Matrix Games 1) CMO MP?? 2) WITP/AE 3) SOW 4) Combat Mission 5) Armor Brigade

Twitter
https://twitter.com/TacticWargamer

(in reply to Captain)
Post #: 28
Page:   [1]
All Forums >> [New Releases from Matrix Games] >> Gary Grigsby's War in the East Series >> Why Programming a Campaign Game is Very Hard Page: [1]
Jump to:





New Messages No New Messages
Hot Topic w/ New Messages Hot Topic w/o New Messages
Locked w/ New Messages Locked w/o New Messages
 Post New Thread
 Reply to Message
 Post New Poll
 Submit Vote
 Delete My Own Post
 Delete My Own Thread
 Rate Posts


Forum Software © ASPPlayground.NET Advanced Edition 2.4.5 ANSI

2.390