Author Topic: Just Some Programmatical Q's about AI War...  (Read 877 times)

Offline Remagen

  • Newbie Mark III
  • *
  • Posts: 26
Just Some Programmatical Q's about AI War...
« on: February 17, 2010, 08:34:45 am »
Heyo,

  I happen to be a CS major at college, which has has a lot to do with why AI war interested me.

1.  You mention 'behaviorlets' for the AI to use, such as flanking and other tactical maneuvers.  About how many behaviorlets do you have implemented, and what kind of pattern did you use to represent cases, e.g. 'you should flank when...'

2.  How much information does any particular ship know, how much can a ship do?  E.g. are your ships structures of information, or do they actually do stuff?

Thanks

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,651
Re: Just Some Programmatical Q's about AI War...
« Reply #1 on: February 17, 2010, 11:35:45 am »
You might enjoy this recent wiki entry that I made, which expands upon a few subjects from my articles on the AI (which I presume you've seen).

In general, though, the answers to your questions:

1. This one is pretty much impossible for me to answer, because it's not an atomic/granular concept.  If you look at the LINQ sample code in my list of articles, that is the general way in which most behaviorlets are implemented, as series of checks and preferences and so on.  There are overarching branches as well, maybe 10 overall branches, but each branch has several dozen smaller checks and so on inside it, along with the random component.  All that is referring to just the tactical AI, of course.  It's not like I have a scripted behaviorlet class or anything like that, but rather that the decision-making sort algorithms cause larger behaviors to emerge, and by adding sort line items or entire branches of AI logic, I can teach the AI ways to make new classes of emergent decisions.  My job with that boils down to knowing what rules and logic are likely to lead to lead to more interesting (and always sort-of-correct) decisions, versus which will lead to a constriction of possible decisions, which is bad.  And then, outside of that, there are simulation-embedded bits of logic for all of the various special ships to make them all work the way they should: minor faction ships, engineers, etherjets, etc.

2. I am really not sure what you are asking with this, but I think the article above should make the way the ship logic is handled much more clear.  No ships in the game have any memory of any sort, and they do not individually collect data or anything like that.  There are overall rollups of information for them at the current planet only, and they are allowed to look at that data for decision-making purposes, but they are not allowed to look at the data from other planets.  And when it comes to things like cloaking or what have you, they know what you the player know: that there are cloaking ships around, and how many there are, but not what or where they are.
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline Remagen

  • Newbie Mark III
  • *
  • Posts: 26
Re: Just Some Programmatical Q's about AI War...
« Reply #2 on: February 17, 2010, 02:01:16 pm »
Ah, yes I enjoyed your AI blogs and this new wiki post, and this forum post too lol.

Offline Buttons840

  • Hero Member
  • *****
  • Posts: 559
Re: Just Some Programmatical Q's about AI War...
« Reply #3 on: February 17, 2010, 04:09:52 pm »
I loved the AI approach.

I've always been bothered by cheating AI's; that is, AI's which pretend to play by the same rules, but really don't.

I love how AI Wars never pretends the AI plays by the same rules, but it does play by some rules.  It redefined my view of what a proper game AI should be; above all it should entertain the player.

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,651
Re: Just Some Programmatical Q's about AI War...
« Reply #4 on: February 17, 2010, 04:12:04 pm »
I loved the AI approach.

I've always been bothered by cheating AI's; that is, AI's which pretend to play by the same rules, but really don't.

I love how AI Wars never pretends the AI plays by the same rules, but it does play by some rules.  It redefined my view of what a proper game AI should be; above all it should entertain the player.

Many thanks!  Reconceptualizing AI to that degree was something I felt was very risky at the time, because I didn't know how players would react to that.  But, I've been very gratified to see that so many players "get it" and are on board with this sort of asymmetrical design.  I hope this will work as a nice test case for other game developers to work to in future projects unrelated to Arcen.
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!