Any news on the A.I.?

World in Flames is the computer version of Australian Design Group classic board game. World In Flames is a highly detailed game covering the both Europe and Pacific Theaters of Operations during World War II. If you want grand strategy this game is for you.

Moderator: Shannon V. OKeets

User avatar
Missouri_Rebel
Posts: 3062
Joined: Sun Jun 18, 2006 11:12 pm
Location: Southern Missouri

Any news on the A.I.?

Post by Missouri_Rebel »

Is there still an ai planned for the initial release? There hasn't been any news concerning it lately but, I'm guessing other aspects of the game need to be in place before we can start talking about it. I just hope that it didn't get scrapped because single player is really wanted by this gamer.

Any a.i.updates that might be worth mentioning?

Mo Reb
**Those who rob Peter to pay Paul can always count on the support of Paul
**A government big enough to give you everything you want is a government big enough to take from you everything you have-Gerald Ford
User avatar
Neilster
Posts: 2979
Joined: Mon Oct 27, 2003 1:52 pm
Location: Devonport, Tasmania, Australia

RE: Any news on the A.I.?

Post by Neilster »

I'm sure Steve will supply a detailed answer but just to give you a quick response...yes there is going to be an AI. It has lower priority than other tasks and much of the grunt work has been done some time ago. Check out this thread...

tm.asp?m=911968

...and the ones specifically dealing with the AI for each major power, such as this one for the USA...

tm.asp?m=996039

Cheers, Neilster


Cheers, Neilster
User avatar
Missouri_Rebel
Posts: 3062
Joined: Sun Jun 18, 2006 11:12 pm
Location: Southern Missouri

RE: Any news on the A.I.?

Post by Missouri_Rebel »

Looks like I have my answer right here in the US DOW on Japan thread;

Posted by Mr. Okeets
- smooth execution for PBEM and over the Internet, and a solid AI opponent-

Is there a name for someone who replies to his own threads? other than pathetic?

mo reb

oops..just saw your post. I assume when you say low priority you mean now and not an overall outlook. One hopes anyways. :)
**Those who rob Peter to pay Paul can always count on the support of Paul
**A government big enough to give you everything you want is a government big enough to take from you everything you have-Gerald Ford
User avatar
Neilster
Posts: 2979
Joined: Mon Oct 27, 2003 1:52 pm
Location: Devonport, Tasmania, Australia

RE: Any news on the A.I.?

Post by Neilster »

ORIGINAL: Missouri_Rebel

Looks like I have my answer right here in the US DOW on Japan thread;

Posted by Mr. Okeets
- smooth execution for PBEM and over the Internet, and a solid AI opponent-

Is there a name for someone who replies to his own threads? other than pathetic?

mo reb

oops..just saw your post. I assume when you say low priority you mean now and not an overall outlook. One hopes anyways. :)

I said "lower priority than other tasks". That means that when those other tasks are completed its priority will increase. Fairly simple really.

Cheers, Neilster
Cheers, Neilster
Shannon V. OKeets
Posts: 22165
Joined: Wed May 18, 2005 11:51 pm
Location: Honolulu, Hawaii
Contact:

RE: Any news on the A.I.?

Post by Shannon V. OKeets »

ORIGINAL: Missouri_Rebel

Is there still an ai planned for the initial release? There hasn't been any news concerning it lately but, I'm guessing other aspects of the game need to be in place before we can start talking about it. I just hope that it didn't get scrapped because single player is really wanted by this gamer.

Any a.i.updates that might be worth mentioning?

Mo Reb
I have been consumed by the need to support Delphi 2006 & Theme Engine, and then the Player interface redesign for the last 3 months. Many items have gathered dust durnig that period. I expect to tackle the AIO again next month. For this month I want to get beta version 3.01 released for testing and the Internet code Dan Hatchen wrote integrated into the main program.

As I have said before, I only really took on this project so I could write the AI Oponent code. The rest of the work is just preparation for doing that.
Steve

Perfection is an elusive goal.
User avatar
Missouri_Rebel
Posts: 3062
Joined: Sun Jun 18, 2006 11:12 pm
Location: Southern Missouri

RE: Any news on the A.I.?

Post by Missouri_Rebel »

sorry neilster that I mis-quoted you.


**Those who rob Peter to pay Paul can always count on the support of Paul
**A government big enough to give you everything you want is a government big enough to take from you everything you have-Gerald Ford
User avatar
Neilster
Posts: 2979
Joined: Mon Oct 27, 2003 1:52 pm
Location: Devonport, Tasmania, Australia

RE: Any news on the A.I.?

Post by Neilster »

ORIGINAL: Missouri_Rebel

sorry neilster that I mis-quoted you.
No worries [;)]

Cheers, Neilster
Cheers, Neilster
Rexor
Posts: 295
Joined: Wed May 04, 2005 2:41 pm
Location: The Oort Cloud

RE: Any news on the A.I.?

Post by Rexor »

ORIGINAL: Shannon V. OKeets

ORIGINAL: Missouri_Rebel

Is there still an ai planned for the initial release? There hasn't been any news concerning it lately but, I'm guessing other aspects of the game need to be in place before we can start talking about it. I just hope that it didn't get scrapped because single player is really wanted by this gamer.

Any a.i.updates that might be worth mentioning?

Mo Reb
I have been consumed by the need to support Delphi 2006 & Theme Engine, and then the Player interface redesign for the last 3 months. Many items have gathered dust durnig that period. I expect to tackle the AIO again next month. For this month I want to get beta version 3.01 released for testing and the Internet code Dan Hatchen wrote integrated into the main program.

As I have said before, I only really took on this project so I could write the AI Oponent code. The rest of the work is just preparation for doing that.

Which is why you're my hero. [&o]
"Human history becomes more and more a race between education and catastrophe." (H.G. Wells)
User avatar
Ullern
Posts: 1837
Joined: Sun May 28, 2006 2:11 am

RE: Any news on the A.I.?

Post by Ullern »

ORIGINAL: Shannon V. OKeets

ORIGINAL: Missouri_Rebel

Is there still an ai planned for the initial release? There hasn't been any news concerning it lately but, I'm guessing other aspects of the game need to be in place before we can start talking about it. I just hope that it didn't get scrapped because single player is really wanted by this gamer.

Any a.i.updates that might be worth mentioning?

Mo Reb
I have been consumed by the need to support Delphi 2006 & Theme Engine, and then the Player interface redesign for the last 3 months. Many items have gathered dust durnig that period. I expect to tackle the AIO again next month. For this month I want to get beta version 3.01 released for testing and the Internet code Dan Hatchen wrote integrated into the main program.

As I have said before, I only really took on this project so I could write the AI Oponent code. The rest of the work is just preparation for doing that.

[;)] I see! [;)] Yes. But my main question then is: will you make the AI such a way that it's possible for others, or yourself to make compeeting AIs?

I'll explain what I mean:
A) you are obviously makeing the AI after you have finished most of the product. The result is that the AI will likely be compiled in seperate modules/objects, that is not really integrated with the other code except that you of course inquire information from all over.
B) Some AI code is obviously going to be the same for all coutries: How to estimate the best possible land attack a country can execute this turn. (maybe influenced by some risk willingness parameter that depends on what country is makeing the evaluation). But other code is likely to be unique for some countries, like how to deploy CPs. This means that if you wanted to you could easily make it possible that a scertain AI task was solved in seperate modules for two countries.

What I am getting at is that with these two above points true it wouldn't be too dificult to give out a description on how to inquire information within MWIF after the release such that others may compile their own AI code later on. And if some other guys proved better you would have the most intresseting task proving you're still master. (What I meant by point B was that maybe it would also be possible to have two different computer AI's in the same game.)

In this way you get us to do a lot off free work for you to be able to create a real awsome AI for the the MWIF 2.0 too. (I am just guessing time constraints makes you do some short cuts in the AI process too.)

Ullern.
Shannon V. OKeets
Posts: 22165
Joined: Wed May 18, 2005 11:51 pm
Location: Honolulu, Hawaii
Contact:

RE: Any news on the A.I.?

Post by Shannon V. OKeets »

ORIGINAL: ullern
ORIGINAL: Shannon V. OKeets
ORIGINAL: Missouri_Rebel
Is there still an ai planned for the initial release? There hasn't been any news concerning it lately but, I'm guessing other aspects of the game need to be in place before we can start talking about it. I just hope that it didn't get scrapped because single player is really wanted by this gamer.

Any a.i.updates that might be worth mentioning?

Mo Reb
I have been consumed by the need to support Delphi 2006 & Theme Engine, and then the Player interface redesign for the last 3 months. Many items have gathered dust durnig that period. I expect to tackle the AIO again next month. For this month I want to get beta version 3.01 released for testing and the Internet code Dan Hatchen wrote integrated into the main program.

As I have said before, I only really took on this project so I could write the AI Oponent code. The rest of the work is just preparation for doing that.

[;)] I see! [;)] Yes. But my main question then is: will you make the AI such a way that it's possible for others, or yourself to make compeeting AIs?

I'll explain what I mean:
A) you are obviously makeing the AI after you have finished most of the product. The result is that the AI will likely be compiled in seperate modules/objects, that is not really integrated with the other code except that you of course inquire information from all over.
B) Some AI code is obviously going to be the same for all coutries: How to estimate the best possible land attack a country can execute this turn. (maybe influenced by some risk willingness parameter that depends on what country is makeing the evaluation). But other code is likely to be unique for some countries, like how to deploy CPs. This means that if you wanted to you could easily make it possible that a scertain AI task was solved in seperate modules for two countries.

What I am getting at is that with these two above points true it wouldn't be too dificult to give out a description on how to inquire information within MWIF after the release such that others may compile their own AI code later on. And if some other guys proved better you would have the most intresseting task proving you're still master. (What I meant by point B was that maybe it would also be possible to have two different computer AI's in the same game.)

In this way you get us to do a lot off free work for you to be able to create a real awsome AI for the the MWIF 2.0 too. (I am just guessing time constraints makes you do some short cuts in the AI process too.)

Ullern.
This has been asked in somewhat different forms before. The key question is in what language will the instructions for the AI be written.

If it is in Delphi's Pascal (most likely), then making changes to the instructions would require recoding and recompiling the AI Opponent routines. There would be a lot of design, coding, and testing involved to make them stand-alone code modules, such that others could change them.

Some of the processing will be data driven, obviously, and making the data external (e.g., CSV files) shouldn't be too hard. But that would be a low priority for me, especially documenting how everything worked internally in response to changes in the data files. If it happens as a by-product, then ok. But I am not setting aside time to make that a feature of MWIF product 1.

Right now, I am designing a language for encoding AIO instructions in a rules based format: :"if A is true, then take action B". Actions are not necessarily player decisions. In fact most often they will not be decisions that players make during a game but instead controls for branching logic and calculation of intermediate values. Both of those are highly dependent on the logic driving/driven by the AIO processing.

Many wargame players are familiar with scripts being used for controlling the AIO. I believe structurally those are too fragile a mechanism for designing a good AIO for MWIF.
Steve

Perfection is an elusive goal.
User avatar
SamuraiProgrmmr
Posts: 416
Joined: Sun Oct 17, 2004 3:15 am
Location: NW Tennessee

RE: Any news on the A.I.?

Post by SamuraiProgrmmr »

Steve,

I see that you have answered Ullern's remarks and have made it a low priority. I would like to add my comments in the hope that it will raise the priority level a bit. As with everything, whatever you decide will be final. I have been lobbying for many years for games to be released with such abilities and will continue to do so in the future, so don't think I am picking on you. [;)]

I would like to take the opportunity to agree that it would be wonderful to be able to write our own AIs. More specifically, it would be great to be able to modify an existing AI.

From a technical standpoint, I think it can be accomplished in such a way as to NOT make very much more work for you IF the paradigm is adopted from the beginning.

Here is my suggestion.

The AI would not be included in the actual EXE of the program but rather be embedded in a DLL. This has several advantages:
  • The AI code is completely encapsulated and therefore changes to the AI will never 'break' the game engine by accident.
  • Multiple AI personalities can be provided if deemed worthy. For example, there could be AIs that are conservative, average, and aggressive. They could have different build strategies. The possibilities are endless. I realize one way to handle this would be with variables that are set at game start but this method does not preclude such a thing.
  • A custom AI could be written by anyone who has any windows development platform that will create a DLL.
  • The custom AI could handle only the things it wanted to do differently and rely on any existing AI by simply passing a call to THAT DLL. The simplest form of this would be to call one set of movement/combat routines and another set of economy/build routines by passing calls to the appropriate existing DLLs.
  • If they are interested, Matrix Games would then be able to advertise this game as having a 'FULLY CUSTOMIZABLE AI'. I think the marketing types will appreciate this.

Every time the game engine needed somethine from the AI, it would call the appropriate function in the DLL.

A way of passing game data to the AI DLL will need to be devised. This information could be passed as a parameter or there could be callback routines which provide the data as needed.

The AI DLLs would only return tokenized instructions for the game engine. It would NEVER actually touch the data. The tokenized instructions would be checked for validity and rejected if invalid.

If you want to to the scripted AI, the same paradigm could be used. The 'scripting engine' could be placed into a DLL that accessed the scripts. If someone wanted to code responses to certain questions, they could write a DLL that handled those and passed the others on.

I don't know what your experience is with DLLs. Some programmers have used them. Most have not. I have had professional experience in writing DLLs in Delphi that interacted with programs written in other languages. If you have any questions that you would like answered before making a final decision, I would be happy to share what I know.

To be honest, I should include the 'downsides' of doing it this way:
  • Data types on cross language platforms are not always defined the same way. A notable example is string handling (Delphi uses a string structure in which the first byte (or more) represent the length of the string. Most other packages use null terminated strings where the data starts immediately and you know you are finished when you get to a special character (null).)
  • There are possibilities for malicious abuse. A DLL could have anything embedded in it. You will need to trust anyone who you get a DLL from. Virus scans may or may not (probably not) be able to catch all of the hooliganism that could ensue.
  • Not everyone would be able to use this feature. However, the WIF types are not representative of the general population. Perhaps a poll of how many have or do not have skills that might find this useful would help.

Most importantly.... However you decide to design the AI, if you encapsulate it now, it leaves room for this feature to be added/exposed in the future. If you don't encapsulate it properly now, it may be too much trouble to ever change later.

Good luck with your efforts.

Dean
Bridge is the best wargame going .. Where else can you find a tournament every weekend?
Shannon V. OKeets
Posts: 22165
Joined: Wed May 18, 2005 11:51 pm
Location: Honolulu, Hawaii
Contact:

RE: Any news on the A.I.?

Post by Shannon V. OKeets »

Dean,

Thanks. I will consider it. There are many problems though, one of which is I expect the AIO routines to be threaded so they run in the background while the human player is making decisions. That is so the response time from the AIO will be faster because it will have performed as many preparatory analytical routines as possible before it is the AIO's turn to 'move'.
Steve

Perfection is an elusive goal.
User avatar
SamuraiProgrmmr
Posts: 416
Joined: Sun Oct 17, 2004 3:15 am
Location: NW Tennessee

RE: Any news on the A.I.?

Post by SamuraiProgrmmr »

Well, that could make some things interesting when you try to terminate the thread before it is done....
 
I am at your disposal for research into those technical difficulties.  (Putting my time where my mouth is as it were.)
 
Thanks for considering.

 
Bridge is the best wargame going .. Where else can you find a tournament every weekend?
Shannon V. OKeets
Posts: 22165
Joined: Wed May 18, 2005 11:51 pm
Location: Honolulu, Hawaii
Contact:

RE: Any news on the A.I.?

Post by Shannon V. OKeets »

ORIGINAL: SamuraiProgrammer

Well, that could make some things interesting when you try to terminate the thread before it is done....

I am at your disposal for research into those technical difficulties. (Putting my time where my mouth is as it were.)
Thanks for considering.

[X(][X(][X(][:)]
Steve

Perfection is an elusive goal.
User avatar
jesperpehrson
Posts: 843
Joined: Sat Jul 29, 2006 4:48 pm

RE: Any news on the A.I.?

Post by jesperpehrson »

ORIGINAL: Shannon V. OKeets

ORIGINAL: SamuraiProgrammer

Well, that could make some things interesting when you try to terminate the thread before it is done....

I am at your disposal for research into those technical difficulties. (Putting my time where my mouth is as it were.)
Thanks for considering.

[X(][X(][X(][:)]

I feel a faustian deal has been sealed. Lock your house and hide your daughters! [;)]
PBEMgames played
- Korea 50-51 MV as communist
- Agonia y Victoria xx as Republican
- Plan Blau OV as Soviet
- The great war xx as Central Powers
- DNO XX as Soviet
User avatar
Greyshaft
Posts: 1979
Joined: Mon Oct 27, 2003 1:59 am
Location: Sydney, Australia

RE: Any news on the A.I.?

Post by Greyshaft »

ORIGINAL: SamuraiProgrammer
I am at your disposal for research into those technical difficulties. (Putting my time where my mouth is as it were.)
One more innocent passer-by is sucked into the witches brew.

He was never seen again
/Greyshaft
User avatar
TemKarl
Posts: 43
Joined: Tue Feb 21, 2006 2:10 am
Contact:

RE: Any news on the A.I.?

Post by TemKarl »

SamuraiProgrammer,
The AI would not be included in the actual EXE of the program but rather be embedded in a DLL.

There are several major issues with this approach :

1. Data Access. The AI 'logic' lives in the DLL, but the 'game state' lives in the main exe. If the AI is to make any meaningful decisions, it will need a means to access all "relevent" state information in the exe. That's potentially a lot of information that needs to be exchanged and kept in sync. If you simply grant the DLL 'access' to the raw gamestate, then you open the door to gamestate corruption. If you develop a mechanism for 'marshalling' the data across from the exe to the dll you have to (a) establish and maintain the appropriate number and types of 'marshalled data' and (b) handle syncing issues - making sure that the AI dll is fully using the 'current state', not a mix of current and past state.

2. Data versioning. With a separate AI DLL, we need to ensure that the EXE and DLL remain 'in step' in terms of data format and structure. So if Steve releases "MWiFV1.0.exe" and you immediately write "MySuperAI.dll", then Steve is now unable to change any shared data structures in the exe for the new "MWiF-v1.2.exe" without potentially breaking your logic.

3. Stability is a real issue here - if your AI dll crashes at any time it will take out MWif on it's way down in flames. Imagine you (or someone using your AI DLL) are 2 hours into a game of MWif and it suddenly crashes. What caused it to fail - a long-hidden bug in the main code, or a rogue AI dll? The frustrated player(s) contact Matrix and report a bug. At the very least, there's an ongoing need for some sort of support mechanism that sorts out 'core bugs' from 'AI bugs'. And crashes are just the most visible form of problem here - how about an AI that misbehaves by slowly and gradually sending random air units to the North Pole? Once the player discovers this, is it an AI issue, or a core game issue? How do you tell?

I've built several commercial apps that have offer this "dll plug-in" type of feature to enable end users to customise and/or extend behaviour. Each of the above issues has occurred repeatedly. Each can be managed/solved, but each requires an ongoing commitment of time and energy on the part of the EXE designer. I've spent many hours looking into subtle problems only to find that the error lies in user created code. In short, it isn't "free" to add a user definable AI.

I'd be happy if MWif shipped with such an extensible AI ... but I also fully understand if Steve wants to leave this alone!

* EDITED TO ADD : Almost forgot the biggest up-front time consumer - documenting the gamestate!!! If you're really going to write a solid AI as a dll, you'll need to understand just what the hell all those data structures do. That's not a minor task - describing the data, it's structure, and its 'lifecycle' (when it has meaning, when it doesn't).
YohanTM2
Posts: 986
Joined: Mon Oct 07, 2002 5:43 am
Location: Toronto

RE: Any news on the A.I.?

Post by YohanTM2 »

Head spinning...feel ill...note to self, never read this thread again [X(]
User avatar
wworld7
Posts: 1726
Joined: Tue Feb 25, 2003 2:57 am
Location: The Nutmeg State

RE: Any news on the A.I.?

Post by wworld7 »

cwie,

Please spend less time over here and more time working on CWIE2.

I have interest in the both MWIF and CWIE2 projects.

I have a friend who has an XP machine and will not play anything but CWIE.

Flipper





Flipper
User avatar
TemKarl
Posts: 43
Joined: Tue Feb 21, 2006 2:10 am
Contact:

RE: Any news on the A.I.?

Post by TemKarl »

ORIGINAL: flipperwasirish

cwie,

Please spend less time over here and more time working on CWIE2.

I have interest in the both MWIF and CWIE2 projects.

I have a friend who has an XP machine and will not play anything but CWIE.

Flipper

If I had more time to spend, it would be spent on CWiE2! Just need 27 hours a day and we'd be fine.

But I need my MWif fix as well, so I drop by to stay in touch. Was a beta tester in the Chris Mariacci days, and MWiF is top of my list of purchases in 2007.

Post Reply

Return to “World in Flames”