Gijs-Jan

The new guy: A.I. Developer #42 & Discussion on A.I.

204 posts in this topic

Are you sure you've come to the right forum Gazz? :)

No doubt. Over here I'm a moderator in the S&M section.

Share this post


Link to post
Share on other sites
You know, I dread to think what the size of your FSM rough diagrams are going to be and how much paper they're going to use as they get silly large very quickly *flashbacks to Theoretical Comp Sci lectures and coursework at Uni*.

Good to finally see progress on one of the biggest aspects of the game though! Good luck.

Ugh, script FSM's, I really abhor them.

It's nothing more than just writing a script of what the A.I. exactly should do under which circumstance.

There wouldn't be much of a challenge in writing them in this style; just, like you said, an insane amount of paper work.

I prefer to use the FSM to set the A.I. in a certain behavior pattern and let it figure out itself what it should do instead of dictating it :-)

I'll try to explain more clearly in the coming posts!

Glad to know you're also a fan of MoO :D Looking forward to seeing your work in action!

Ah, you caught me! Yeah, I was/am a big fan of both series (and for both series, I still prefer the original); the atmosphere in these games is still something I've not yet seen matched in any other.

The only thing I want to know is if the AI is going to cheat.

Simply put: it won't.

I want to be completely open and honest in this, so in detail: All of the decisions it will be allowed to make will only be those it would have made given sight/etc of its units. If you see the A.I. cheating or doing stuff based on something it shouldn't have known about; then I'm doing something wrong. To explain this a bit; I have to make some shortcuts here and there as belief systems (Knowledge based on uncertainty) are very costly in general. So behind the scenes, some trickery might occur.

Share this post


Link to post
Share on other sites
Simply put: it won't.

I want to be completely open and honest in this, so in detail: All of the decisions it will be allowed to make will only be those it would have made given sight/etc of its units. If you see the A.I. cheating or doing stuff based on something it shouldn't have known about; then I'm doing something wrong. To explain this a bit; I have to make some shortcuts here and there as belief systems (Knowledge based on uncertainty) are very costly in general. So behind the scenes, some trickery might occur.

This EXCELLENT news! I'm really looking forward to seeing how it turns out. I'm also quite encouraged that you will be able to continue updating AI after the initial release. That means the AI will only get better. It rare for games to have good AI's these days. They just throw numbers at you and/or cheat to make it challenging instead of making the enemy smarter. Thanks for the info. I've done a game AI before and it took two of us working together for six months to get it right!

Will you be using some kind of weighted targeting system to determine who they will fire at? Our system was designed to fire at the unit with the greatest offense and lowest defense first. Of course this was modified by range (chance to hit), number of units that could engage, strategic value, cover and a bunch of other factors.

So, I know you have a lot of work cut out for you. Good luck!

Edited by StellarRat

Share this post


Link to post
Share on other sites
There wouldn't be much of a challenge in writing them in this style; just, like you said, an insane amount of paper work.

I prefer to use the FSM to set the A.I. in a certain behavior pattern and let it figure out itself what it should do instead of dictating it :-)

When every situation has a fixed, scripted response, the challenge is to maintain the resulting monster of a script.

I far more prefer an AI that weighs situations. (however coarse or compartmented it's picture may be)

These are more likely to positively surprise you by behaving in a way that looks smart.

A long time ago in game far far away I taught a spaceship's laser turret script to compare the closing rate of a target with it's total speed to guesstimate relative lateral movement of the target. Something with a low lateral movement was coming or going more or less in a straight line. These required the smallest "lead" adjustment and the gunnery accuracy was immensely better. As a result the script "figured out" to shoot at the fighters that were doing nice, straight attack runs, convincing them to abort said attack runs (to evade) and vastly improving the defensive value of a technically purely offensive system. The ships ended up taking like 30-50% fewer hits.

With only comparing two integers the script got a lot smarter. Doing "real" 3D math would have been more awesome but the result was already somewhat distressing when the player was piloting said fighter craft. =P

Wasn't in my design but the script figured it would be a good idea. =)

Share this post


Link to post
Share on other sites
When every situation has a fixed, scripted response, the challenge is to maintain the resulting monster of a script.

I far more prefer an AI that weighs situations. (however coarse or compartmented it's picture may be)

These are more likely to positively surprise you by behaving in a way that looks smart...

Exactly. Using weighting routines is the way to go. They actually ARE smart (not just look smart.) The AI we did was capable of defeating even it's creators (us) about 50% of the time. You'll notice that his movement routines are going to weighted. This is very promising. If the weighting factors can be modded the AI can be fine tuned too.

Share this post


Link to post
Share on other sites

Hi! Welcome to the forum!

Please, make the civilians smarter. They don't need to run to the dropship, at least make them find cover and get prone, doesn't run towards the aliens at least, or the UFO, or towards fire.. Comon sense decisions.

Now, for the aliens "cheating" part, I don't have a problem with the aliens knowing where your soldiers are. Come on, their technology is light years ahead of us, they certainly would have some kind of device to scan the area for signs of lifeforms. Even the humans have something like this, like thermal vision and stuff...

Edited by Corporal Hicks

Share this post


Link to post
Share on other sites

Now, for the aliens "cheating" part, I don't have a problem with the aliens knowing where your soldiers are. Come on, their technology are light years ahead of us, they certainly would have some kind of device to scan the area for signs of lifeforms. Even the humans have something like this, like thermal vision and stuff...
I think you're going to find aliens very challenging even without them knowing where your hidden soldiers are. Wait and see...

Share this post


Link to post
Share on other sites

Will the ai be able to learn...... Ei

Alien commander: This is a message to all ground teams. Theese "Xenonauts" split their forces frequently so travel in kill teams and pick them off. *evil alien laugh

Keep up the good work :-)

Share this post


Link to post
Share on other sites
I think you're going to find aliens very challenging even without them knowing where your hidden soldiers are. Wait and see...

I hope so!!

Share this post


Link to post
Share on other sites

Ah, you caught me! Yeah, I was/am a big fan of both series (and for both series, I still prefer the original); the atmosphere in these games is still something I've not yet seen matched in any other.

What is your opinion on Xenonauts? Does it capture that atmosphere from X-Com?

As for MoO, you should check this out (shameless plug): Beyond Beyaan

I'm looking forward to your journals, I hope it will help me implement a better AI, since there's not too many resources on a turn-based AI!

Share this post


Link to post
Share on other sites

Now, for the aliens "cheating" part, I don't have a problem with the aliens knowing where your soldiers are. Come on, their technology is light years ahead of us, they certainly would have some kind of device to scan the area for signs of lifeforms. Even the humans have something like this, like thermal vision and stuff...

And they can make the kessel run 6 parsecs faster then anyone else! Goddamnit Corporal! stop mixing up your measurements! You are making me cringe!

:P

Share this post


Link to post
Share on other sites
Will the ai be able to learn......
It doesn't sound like it to me. It sounds more like an expert system.

"An expert system is a computer program that simulates the judgement and behavior of a human or an organization that has expert knowledge and experience in a particular field. Typically, such a system contains a knowledge base containing accumulated experience and a set of rules for applying the knowledge base to each particular situation that is described to the program. Sophisticated expert systems can be enhanced with additions to the knowledge base or to the set of rules.

Among the best-known expert systems have been those that play chess and that assist in medical diagnosis."

A true AI can "learn." I dont' know of any true AI's in commercial games, although, I've never really done any research into that.

Share this post


Link to post
Share on other sites

Will there be any difference in the AI on the different difficulty levels or will that be up to the stats of aliens, armours and weapons?

Share this post


Link to post
Share on other sites
What is your opinion on Xenonauts? Does it capture that atmosphere from X-Com?

As for MoO, you should check this out (shameless plug): Beyond Beyaan

I'm looking forward to your journals, I hope it will help me implement a better AI, since there's not too many resources on a turn-based AI!

Congrats on making the game! Also, for games of that magnitude I would really recommend Monte-Carlo Tree Search.

It's well suited for AI's of this task, as it's prime focus is large domains where the eventual outcome of a strategy is much more important than the intermediate steps.

(I.e.: nothing might really happen for 300 turns, but the end-game difference is huge)

If you need any help or tips on it; just PM me.

As for the atmosphere: Else I wouldn't have joined the team :-)

Will the ai be able to learn...... Ei

Will the A.I. adapt to a tactical situation like you described? It should.

Would it learn based on your performance; i.e. would it make a different choice when presented with the exact same situation twice?

For the 9th of October? No, sorry.

However; I'm with the project at least up until January, almost fulltime.

And it IS something I (very) briefly discussed with Chris, and it is something I have constructed before. (For Battlecode )

Will there be any difference in the AI on the different difficulty levels or will that be up to the stats of aliens, armours and weapons?

If everything goes as planned, it shouldn't be to difficult to make the AI behave differently on different difficulty levels (3x diff combo-breaker!).

Share this post


Link to post
Share on other sites
What is your opinion on Xenonauts? Does it capture that atmosphere from X-Com?

As for MoO, you should check this out (shameless plug): Beyond Beyaan

I'm looking forward to your journals, I hope it will help me implement a better AI, since there's not too many resources on a turn-based AI!

Congrats on making the game! Also, for games of that magnitude I would really recommend Monte-Carlo Tree Search.

It's well suited for AI's of this task, as it's prime focus is large domains where the eventual outcome of a strategy is much more important than the intermediate steps.

(I.e.: nothing might really happen for 300 turns, but the end-game difference is huge)

If you need any help or tips on it; just PM me.

As for the atmosphere: Else I wouldn't have joined the team :-)

Will the ai be able to learn...... Ei

Will the A.I. adapt to a tactical situation like you described? It should.

Would it learn based on your performance; i.e. would it make a different choice when presented with the exact same situation twice?

For the 9th of October? No, sorry.

However; I'm with the project at least up until January, almost fulltime.

And it IS something I (very) briefly discussed with Chris, and it is something I have constructed before. (For Battlecode )

Will there be any difference in the AI on the different difficulty levels or will that be up to the stats of aliens, armours and weapons?

If everything goes as planned, it shouldn't be to difficult to make the AI behave differently on different difficulty levels (3x diff combo-breaker!).

That.... sounds bloody awesome. :cool:

Edited by Gorlom

Share this post


Link to post
Share on other sites
Among the best-known expert systems have been those that play chess and that assist in medical diagnosis"

Funnily enough, our second-year project was an expert system based on Bayesian Networks (A system that gives a prediction using probabilities; I.e.: if the grass is wet, either it probably rained, or you turned the hose on). Which was a 2-phase system: first the system would "learn" to recognize the disease by it's symptoms. Then it would be tasked to diagnose patients.

You see these systems employed on the internet nowadays. Fun fact: even though they outperform doctors in diagnostics by far (in terms of error rate); you won't see them employed any day soon. People just don't trust a computer with that kind of task :-)

Share this post


Link to post
Share on other sites
Funnily enough, our second-year project was an expert system based on Bayesian Networks (A system that gives a prediction using probabilities; I.e.: if the grass is wet, either it probably rained, or you turned the hose on). Which was a 2-phase system: first the system would "learn" to recognize the disease by it's symptoms. Then it would be tasked to diagnose patients.

You see these systems employed on the internet nowadays. Fun fact: even though they outperform doctors in diagnostics by far (in terms of error rate); you won't see them employed any day soon. People just don't trust a computer with that kind of task :-)

"This unit must survive...." ;-)

If I were a doctor I'd "consult" with my expert system in the back office then tell the patient what "my" diagnosis was. You get the best of both worlds then.

Edited by StellarRat

Share this post


Link to post
Share on other sites
Funnily enough, our second-year project was an expert system based on Bayesian Networks (A system that gives a prediction using probabilities; I.e.: if the grass is wet, either it probably rained, or you turned the hose on). Which was a 2-phase system: first the system would "learn" to recognize the disease by it's symptoms. Then it would be tasked to diagnose patients.

So... if the grass was wet, the patient was diagnosed with the flu?

Share this post


Link to post
Share on other sites

We saw the system produce stranger things :-P

It would learn solely based on statistics, and not really "know" anything on what it was learning.

I.e. If A occurred a lot, when B did as well, well, then maybe they were related the system assumed!

And that was the day the expert system said breast cancer was caused by a clear blue sky :-/

Share this post


Link to post
Share on other sites

Based on the available input, it's obvious!

Wet grass (it was hot enough to turn the hose on) -> diagnosis is sunburn.

Watching computers "learn" the world is pure comedy. A brain the size of a planet... and not the good sense god gave a goose.

But that's the fun part of AI programming. To teach the AI to understand the situation. How much is a position worth? How much is staying out of the line of fire worth? Own survival? The mission objective? Keeping the other side from reaching the objective?

Figuring out what to do about it is not so bad after that.

Until the AI starts happily running back and forth because these two positions score the most points. Owell.

Edited by Gazz

Share this post


Link to post
Share on other sites
[...] Until the AI starts happily running back and forth because these two positions score the most points. Owell.

Thresholding function! Or just plain assign a slight positive value to your current location.

Share this post


Link to post
Share on other sites

G-J (if I may call you that). Have you ever seen any enemy a.i. in RPGs worth a damn?

Share this post


Link to post
Share on other sites
G-J (if I may call you that). Have you ever seen any enemy a.i. in RPGs worth a damn?

No prob. Do you mean combat-wise?

I can't really think of examples that spring out; although I know people that designed (learning) combat A.I.'s for Neverwinter Nights.

The problem with game A.I. is that the game industry has become very, very good at creating "good enough" A.I. (An almost direct quote of Alex from GameAIDev.com). There's not much incentive to construct A.I. for the hordes of goblins that will only be on screen for a couple of seconds, or A.I. that is practically invincible. :-)

In other terms, there are games like Dwarf Fortress where aspects of "A.I." (I'm using the term extremely liberal now) really contribute to the game.

Share this post


Link to post
Share on other sites

Great to finally have an AI coder. Welcome to the forum.

Will you be doing any work on the air battle mechanics or are those mostly done?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now