Apoch and the A.I.

General discussions about X Rebirth.

Moderator: Moderators for English X Forum

A5PECT
Posts: 6190
Joined: Sun, 3. Sep 06, 02:31
x4

Post by A5PECT »

corhen wrote:What he was talking about the Tick speed of the AI.. it would be great to see something like that implemented for the Privateers in the XRM mod.. if it got ported to XR
That sounds like the plan, since Apoch mentioned earlier that they're using a developer tool dedicated to controlling AI behavior. Hopefully it makes the conversion into a modding tool and let's players modify flight routines down to that level.

The main reason that type of AI was unfeasible in the vanilla game was because of the performance hit; Egosoft couldn't release a game with that degree of instability. So leaving it to third-party mods relieved Egosoft of responsibility should the player encounter any technical issues i.e. "you asked for it."
Last edited by A5PECT on Mon, 17. Oct 11, 12:51, edited 5 times in total.
Admitting you have a problem is the first step in figuring out how to make it worse.
User avatar
Gazz
Posts: 13244
Joined: Fri, 13. Jan 06, 16:39
x4

Post by Gazz »

ragamer wrote:Mmmm... Have you played some Coop games? Not just stupid deadmatch ones?

But even on multiplayer games, even with random ppl, you do basic things as to follow another guy and tag together when you see him firing at someone or been fired at...
In FPS, an AI is easier to make competitive because there aren't that many options.

I've been playing Everquest for many years and that's about as "hardcore" as MMOs ever got... and will get.
Serious death penalties and enforced cooperation because classes were not watered down to allow everyone to do everything.
There were tons of tactical options and an AI would be hard-pressed to deal with all that.
Sure, a pickup group would do okay healing and auto-assist if you were lucky but a party of high-end raiders with literally years of experience gone slumming in challenging (to them) group content moved like the equivalent of Delta Force.
And I'm not just talking about having great gear. That's a level of teamwork that has to be seen.

Combining vastly different classes (be they characters or ships...) with different abilities makes the amount of possible actions go up exponentially.
That is the bit where an AI starts having trouble.

It's the same principle all over again. You need to simplify until an AI can deal with the amount of options in a reasonable time frame.

So either you simplify the game (FPS...) so the AI can compete with a human or you simplify the AI's grasp of the game, resulting in suboptimal decisions - but you can often cheat to make up. =)
My complete script download page. . . . . . I AM THE LAW!
There is no sense crying over every mistake. You just keep on trying till you run out of cake.
vr01
Posts: 1255
Joined: Sun, 10. Sep 06, 00:01
x4

Post by vr01 »

Interestingly if you follow some links you will also see that Apoch has been creating Epoch...
epoch-language wrote:Epoch is a modern, full-featured programming language designed to offer rich first-class support for both symmetric and asymmetric multiprocessing.
:gruebel:

Perfect for X:R... although who knows if any of it has found its way into X:R???
Chris0132
Posts: 1463
Joined: Sun, 22. Jun 08, 01:25
xr

Post by Chris0132 »

ragamer wrote:
Honestly I find actual cooperation to be more artificial than people just happening to end up at the same place at the same time. Because actual cooperation is something that exists only in the realm of extremely well trained militaries and choreographed dance numbers.
Mmmm... Have you played some Coop games? Not just stupid deadmatch ones?

But even on multiplayer games, even with random ppl, you do basic things as to follow another guy and tag together when you see him firing at someone or been fired at...

...Then you also pay attention to FF (and when it's off to simply pay attention to NOT block your friendlies LoF).

All of the above are natural things to do for a gamer... Maybe you haven't thought on it but... Most AIs simply fail at this basic steps.

One day, you will find a challenging game with a Coop mode (Or even rarer, a MMO with challenging content) and you will see how developing team tactics is not something reserved for a few hardcore gamers... It's a natural way to progress... And quite immersive and fun also.
If I see a guy, I follow him so he can get shot first and I can shoot back.

If I see him shooting something, I shoot it too so I can get the kill/it can't shoot me.

I don't shoot friendlies because there's no point.

I avoid running in front of people because I don't want to get shot.

Of course this may LOOK like teamwork to an outside observer, but in reality it is entirely self-centric. Which is sort of the point. Self-centric behaviour is all you really need most of the time. Very few things require actual organisation.

Honestly there is very little in there that requires cooperation. Simple 'find targets, shoot them, avoid getting shot.' code would make all of the instances you listed seem to occur. It doesn't require any communication, just every individual to do what is best for it based on how it percieves the world. The individuals will arrange themselves into an optimal pattern eventually, it just takes a bit longer.

You could even take things further, and add in the ability to assess what makes a particular solution to a problem 'good' and then save and organise previously tried solutions according to effectiveness. If you add in a little bit of randomness on top of that, you get a genetic algorithm that will automatically find and use the best possible solution if you give it long enough.

Say you write a fighter script for X, it contains fairly simple things like 'check sensors for hostile targets, upon finding hostile targets, fly towards them, upon entering weapons range, fire all guns at the target'. That's roughly what you have now.

But if you then added in a little bit of randomisation, say 'fire weapons at random intervals, hit the strafe drive randomly as you fly towards them' you start to get random deviation, which is the key component of evolution.

Once you have that, you need to add propogation, the ability to recall patterns and also judge effectiveness. So say fifty fighters face off against the player. Out of that fifty, ten or so make random strafe adjustments which cause them to be harder to shoot down, and they survive longer agains the player. One of them might learn to do something approximating a zigzag, or the up, right, down, left, up, cycle which I usually use. This one will probably last the longest, so its solution becomes the best and gets recorded. Then when the next fighter comes up against the player, it looks at the database and automaticaly starts following the rotating strafe drive pattern. Propogate this to every fighter in the game, and suddenly every fighter knows how to dodge.

You can apply this to more things too, you just have to track more variables for the AI to track, it doesn't have to be told to do anything about them, but it does need to track them.

So you could add in 'is the player shooting?' 'Is the player oriented at me?' 'What type of ship is the player using?' 'Am I being shot?' that sort of thing.

If the AI can track these and match situations to behaviours, it gets even more intelligent. Suddenly the AI starts to notice that firing a torpedo when under fire results in an immediate destruction of the ship, so any routines which result in that behaviour get immediately selected against. And fighters stop shooting missiles when you are attacking them. Then you have things like flying close to the player when they are armed with PBEs resulting in getting your shields fried, and those routines get selected against.

Once you have that in, you can code in some sort of randomisation constant, which takes into account absolute effectivness of particular routines. Which is to say if a routine gets say 50% kill rate on the player ship when used, it's an amazingly good routine and you probably shouldn't bother trying to improve it. If that kill rate falls, then start trying new things. That gives the AI the illusion of intelligent adaptation. If it works, it'll use it, but if it doesn't, then it tries new things. By editing the constant up or down you can switch between early-capping of the skill level at predictable, fairly effective behaviour, to a constant drive to improve the AI, resulting in more random behaviour but also a steady increase in effectiveness over time. This lets you set the max difficulty essentially. Add in another constant which, for example, automatically discards 10-50% of solutions, and you can speed up/slow down the learning rate, by making it more or less likely that a given solution will actually contribute to the AI's store of knowledge. This sets the difficulty curve.

And of course you could run this AI through a bunch of fights before the game even ships. Every time you do QA, get your testers to do some fights in all different types of ship against all different types of enemies, and ship the resultant database with the game. You're already starting with AI at least as good as X3, and your database will build on top of that.

Even more, you could actually consider integrating this data collection into steam or something, so all your hundreds of thousands of players could be building this amazingly detailed AI database, which you could then release in patches.

That'd be a cool way to do AI. Also theoretically a lot easier than actually programming all this data in by hand.
Last edited by Chris0132 on Mon, 17. Oct 11, 16:24, edited 3 times in total.
CBJ
EGOSOFT
EGOSOFT
Posts: 54108
Joined: Tue, 29. Apr 03, 00:56
x4

Post by CBJ »

vr01 wrote:Interestingly if you follow some links you will also see that Apoch has been creating Epoch...
If you follow some more links on Apoch's journal, you'll see that he's moved on from Egosoft and is therefore no longer involved in the development of X Rebirth. The ground-work he did for us is still in place and still forms the foundation of a number of sub-components within the game engine; not only that but many of the principles he talks about in his journal articles are very much in evidence in that code, providing a solid basis for the developers who have inherited that code to work on. :)

To clarify one other thing: the Epoch language is, and always has been, a private project of his.
Mightysword
Posts: 4350
Joined: Wed, 10. Mar 04, 05:11
x3tc

Post by Mightysword »

Chris0132 wrote: It's also how just about every team multiplayer game ever works.

Everyone on the server has the same objective and starts in the same place, any percieved 'teamwork' is just everyone trying to achieve the objective in the way they are best able to. So the guy in a tank drives around and blows stuff up, the guy with the silenced pistol sneaks around shooting people in the back, the guy with the chopper flies around raining missiles down on people, and what you get is the perception of combined arms, but it's actually everyone just doing what they think is best.

no, no , no, absolutely not. What you describe is just about sum up the worst type of match you can play in. I don't know why you guys want to simplify it, but the difference between a team with team work and a team without teamwork in a FPS match are uncomparable huge.
ragamer wrote:Mmmm... Have you played some Coop games? Not just stupid deadmatch ones?

But even on multiplayer games, even with random ppl, you do basic things as to follow another guy and tag together when you see him firing at someone or been fired at...

And again, like I said this "basic" thinking will usually result in seeing your team being slaughtered if the other team show any kind of coordination. Most of the time if it works, then you probably playing against a team that's just disorganized as yours.
In FPS, an AI is easier to make competitive because there aren't that many options.
Not really, I don't think FPS AI has any less option or any less complicate than other type of AI. In a way it's the same case for X game or any real time game really. The only type of game that you can really seperate into a different catalogue is turn base AI.


Chris0132 wrote:Of course this may LOOK like teamwork to an outside observer, but in reality it is entirely self-centric. Which is sort of the point. Self-centric behaviour is all you really need most of the time. Very few things require actual organisation.
That is a wrong observation. There is organization, it's just one that is established and previously agree on and that's a far cry from no organization. What Gazz describes about MARS's goblin is actually a very common type of organization you see in real life. For example when a fire broke out in a building, provided everyone are already trained and head to their assigned exit, you will have an "organized" evacuation even when there is no real time coordinator. Or when you are on the road, the traffic is a pre-conditioned organization, and that's what make it smooth. If those cases are entirely self-centric, then chaos will ensure.
Chris0132
Posts: 1463
Joined: Sun, 22. Jun 08, 01:25
xr

Post by Chris0132 »

Mightysword wrote:That is a wrong observation. There is organization, it's just one that is established and previously agree on and that's a far cry from no organization. What Gazz describes about MARS's goblin is actually a very common type of organization you see in real life. For example when a fire broke out in a building, provided everyone are already trained and head to their assigned exit, you will have an "organized" evacuation even when there is no real time coordinator. Or when you are on the road, the traffic is a pre-conditioned organization, and that's what make it smooth. If those cases are entirely self-centric, then chaos will ensure.
I don't agree, I don't see that, to use your example, educating people on how best to leave a building in the event of a fire, makes the act of doing so any less self centric or more organised.

If the building is on fire, I leave it in an orderly fashion because running around screaming and shoving people is likely to get me either punched out by someone, or trampled by a horde of screaming people. Not because I want to cooperate with everyone else.

It's exactly the point, really. Coincidental parallel progression is not the same as teamwork or organisation. If everyone in the office hears the same fire bell, has been given the same instructions on how best to leave the building safely, and is in the same location, they will all proceed at the same pace out the same door down the same stairs and to the same location outside, more or less. There is no teamwork, every individual simply makes the same decision.

The MARS example is the same, the drones are not organised, the behaviour is entirely self centric. Each one is told to shoot the enemy unless it is being chased, therefore they are all being entirely self centric, run away when threatened, attack when not. Get a bunch of them together and you produce what seems like wolf pack hunting tactics using bait and strikers alternately. But there is no communication, no teamwork, no cooperation, no organisation.
User avatar
Gazz
Posts: 13244
Joined: Fri, 13. Jan 06, 16:39
x4

Post by Gazz »

Chris0132 wrote:Get a bunch of them (goblins) together and you produce what seems like wolf pack hunting tactics using bait and strikers alternately. But there is no communication, no teamwork, no cooperation, no organisation.
Exactly but my point is that if the illusion is convincing enough and the "tactics" get the job done, this approach becomes a viable option for a game AI.
There are limits to that but it's an option.

Of course I could have done something "smarter". I was even considering it back then. The problem was that all the extra overhead wouldn't have made a noticeable difference. I went with the illusion... =P


Some sort of wing commander AI would have to make decisions based on it's objective, it's own available forces, and the enemy forces.
How many fighters attack the objective, how many cover them, when do the escorts disengage and leash back to their charges...
That is organisation.
In X3, every ship fights for itself and always chases the attacker if it's being shot at. No organisation.
My complete script download page. . . . . . I AM THE LAW!
There is no sense crying over every mistake. You just keep on trying till you run out of cake.
Mightysword
Posts: 4350
Joined: Wed, 10. Mar 04, 05:11
x3tc

Post by Mightysword »

Chris0132 wrote: It's exactly the point, really. Coincidental parallel progression is not the same as teamwork or organisation. If everyone in the office hears the same fire bell, has been given the same instructions on how best to leave the building safely, and is in the same location, they will all proceed at the same pace out the same door down the same stairs and to the same location outside, more or less. There is no teamwork, every individual simply makes the same decision.
The point is it's not coincidental. And I'm not even talking about shoving people. The organization here is that if you're in the east wing, you use this stair, you're in the middle, you use this path ...etc... this creates a flow where people can go smoothly without anyone blocking anyone. A pure "self-centric" behavior will usually result in erractive movement where people just scrambling for whatever door near them which most likely will result in them blocking the path and jam the evacuation. There are so many example on both case out there in real life that I don't think it makes sense for you to try argue otherwise what an "organization" evacuation is.


Samething with the Mars script, it does have a rule that the drone will run toward the mothership when they're being target. It is a very simple, single piece of logic, but it is still a rule that were all agreed by all the drone. If seems you are making "real time communication" as a pre-requisite for teamwork or organization, it's not. Whether the drone after being targeted broadcast a message of "I gonna bring my enemy to this point" to the other drone, it is the same as without communicating, there is a point that's agree previously that each drone will bring their enemy to. I don't use MARS, but if it's like what Gazz described, I reckon if you remove that piece of logic and let all the drone use an erratic movement, i.e instead of flying back to the mothership they will just fly in w/e direction that will distance them from the enemy faster you will probably see a significant drop in overall effectiveness. The reason they're working is because the script logic create a certain decree of locality that manifist into a certain type of teamwork, but without this locality they will properly disperse and can't response well in group. By no mean the desire effect is concidental. Just look at how if you tell a bunch of your fighter to engage and you get a pretty good idea how thing will turn out when it's purely "self-centric". Here the drone might not communicate, but they have a common logic that pull them together.
Chris0132
Posts: 1463
Joined: Sun, 22. Jun 08, 01:25
xr

Post by Chris0132 »

Gazz wrote:
Chris0132 wrote:Get a bunch of them (goblins) together and you produce what seems like wolf pack hunting tactics using bait and strikers alternately. But there is no communication, no teamwork, no cooperation, no organisation.
Exactly but my point is that if the illusion is convincing enough and the "tactics" get the job done, this approach becomes a viable option for a game AI.
There are limits to that but it's an option.

Of course I could have done something "smarter". I was even considering it back then. The problem was that all the extra overhead wouldn't have made a noticeable difference. I went with the illusion... =P


Some sort of wing commander AI would have to make decisions based on it's objective, it's own available forces, and the enemy forces.
How many fighters attack the objective, how many cover them, when do the escorts disengage and leash back to their charges...
That is organisation.
In X3, every ship fights for itself and always chases the attacker if it's being shot at. No organisation.
Yeah I agree entirely. As long as it looks cool it's doing the job.

Although what you say about wing commander AI isn't actually too different, it's just on a slightly bigger scale. Instead of each ship controlling its movement and is gunfire, each wing controls its force deployment. You're just replacing flight controls with fighter positioning and weapon selection with unit type selection and suchlike. Your lack of communication becomes lack of communication between wings. It all depends how you look at it I guess.
Mightysword wrote:
Chris0132 wrote: It's exactly the point, really. Coincidental parallel progression is not the same as teamwork or organisation. If everyone in the office hears the same fire bell, has been given the same instructions on how best to leave the building safely, and is in the same location, they will all proceed at the same pace out the same door down the same stairs and to the same location outside, more or less. There is no teamwork, every individual simply makes the same decision.
The point is it's not coincidental. And I'm not even talking about shoving people. The organization here is that if you're in the east wing, you use this stair, you're in the middle, you use this path ...etc... this creates a flow where people can go smoothly without anyone blocking anyone. A pure "self-centric" behavior will usually result in erractive movement where people just scrambling for whatever door near them which most likely will result in them blocking the path and jam the evacuation. There are so many example on both case out there in real life that I don't think it makes sense for you to try argue otherwise what an "organization" evacuation is.


Samething with the Mars script, it does have a rule that the drone will run toward the mothership when they're being target. It is a very simple, single piece of logic, but it is still a rule that were all agreed by all the drone. If seems you are making "real time communication" as a pre-requisite for teamwork or organization, it's not. Whether the drone after being targeted broadcast a message of "I gonna bring my enemy to this point" to the other drone, it is the same as without communicating, there is a point that's agree previously that each drone will bring their enemy to. I don't use MARS, but if it's like what Gazz described, I reckon if you remove that piece of logic and let all the drone use an erratic movement, i.e instead of flying back to the mothership they will just fly in w/e direction that will distance them from the enemy faster you will probably see a significant drop in overall effectiveness. The reason they're working is because the script logic create a certain decree of locality that manifist into a certain type of teamwork, but without this locality they will properly disperse and can't response well in group. By no mean the desire effect is concidental. Just look at how if you tell a bunch of your fighter to engage and you get a pretty good idea how thing will turn out when it's purely "self-centric". Here the drone might not communicate, but they have a common logic that pull them together.
If you changed 'run to mothership' to 'run in random direction' the only difference in behaviour would be that the mothership guns would not come into play.

It wouldn't have any effect on the peceived cohesion of the drone swarm. The target ship chases one drone, the rest of the drones chase the target ship. It doesn't make any difference whatsoever what direction they chase them in, except for the fact that including the mothership clause means that the direction will probably include more friendly gunfire. It's no more or less self centric from the drone's point of view, it doesn't know whether or not it's running to the mothership or running to an arbitrary point in space, it's just going to a location handed to it by the script, that the script got that location by looking at the mothership or by picking it at random doesn't make a difference, except of course in terms of percieved intelligence by the player.
Mightysword
Posts: 4350
Joined: Wed, 10. Mar 04, 05:11
x3tc

Post by Mightysword »

Chris0132 wrote: It wouldn't have any effect on the peceived cohesion of the drone swarm. The target ship chases one drone, the rest of the drones chase the target ship. It doesn't make any difference whatsoever what direction they chase them in
Oh it does, like I said they will lose locality. The logic here is that their localtion will all way converse, hence the "swarm" coherent is maintain. If 3 drones are targeted, they will move toward the same point. Once there they will stay in the vincinity.

In erratic movement, what if 3 drones are targeted and move in 3 different direction? What if they are faster than their target? Will this result in the swarm being devided into 3 corner of the sector? I don't know if there is other constraint in the script, but going by what said here this will be most likely will happen. It is a lot more severe than just the mother ship gun, the concept of a "Swarm" that you're touting itself will fall apart pretty quick.
Chris0132
Posts: 1463
Joined: Sun, 22. Jun 08, 01:25
xr

Post by Chris0132 »

If you have three target ships, locked onto three drones, you'll end up with three bunches of drones, targetting the three ships, more or less. Or maybe you'll end up with all of them attacking one ship, I dunno. Probably the latter actually as it's stated that there's no organisation, what'd probably happen is when you launch the drones they all go after the closest fighter in the wing or whichever one you had targetted. Any that get targetted by fighters would fly off in random directions and split the wing up while the rest of the swarm hammers on one ship.

Once the ship is dead, they'd go after whichever one is closest.

Honestly I think the only major difference would be that keeping them all around the mothership would make catching the rest of the ships a lot faster, but it wouldn't make it any more intelligent looking. If the chased drones are significantly faster than the things they're leading that's a problem with either approach, as they're likely to lose their target. But in either system the target is likely to pick another drone and chase after it.

Focussing around the mothership basically trades speed of destruction due to supporting fire and a concentrated area, for safety of the mothership. If you made them go off in random directions they'd lead targets away from the mothership more often and keep it a little safer. Neither one is really more organised though I don't think. They're both emergent behaviours stemming from entirely self-centric AI.
User avatar
Gazz
Posts: 13244
Joined: Fri, 13. Jan 06, 16:39
x4

Post by Gazz »

Chris0132 wrote:Although what you say about wing commander AI isn't actually too different, it's just on a slightly bigger scale.
Oh, it's radically different.
It's exactly the difference between the purely self-centric behaviour and organisation.

A command AI could decide to divide and conquer, luring away some enemies before engaging.
A self-centric fighter script could not do this because it would achieve no goal.


Using MARS as an example again (no, this is no MARS thread =P)...
The mothership is the goblins' command AI.
It uses those drones to protect itself by sending them to engage incoming missiles, it sends them to distract enemy fighters, diverting their fire away from the mothership, and it uses those fast drones to "fetch" enemies that are far outside it's own weapon range, extending it's own "zone of control".
The mothership does plan and organise.
It rates threats and deploys it's "fighters" to gain a tactical advantage, that has nothing to do with getting the fighters' firepower onto the target. When the M2 cannot possibly catch fast fighters in the vicinity, it ties them down with "skirmishers" and delays them until the M2 can catch up and flatten them with overwhelming firepower. It plans ahead.

None of those drone missions let the drone achieve a result that is advantageous to itself. They are... minions.
The extent of their own and completely self-centered intelligence is to stay alive as long as possible while executing those "orders from above".
My complete script download page. . . . . . I AM THE LAW!
There is no sense crying over every mistake. You just keep on trying till you run out of cake.
Mightysword
Posts: 4350
Joined: Wed, 10. Mar 04, 05:11
x3tc

Post by Mightysword »

Chris0132 wrote:Honestly I think the only major difference would be that keeping them all around the mothership would make catching the rest of the ships a lot faster
but ... that rather a significant difference isn'it. in fact, it's a difference between a working model and a busted model. :wink:

Gazz wrote: Using MARS as an example again (no, this is no MARS thread =P)...
well it serves as a good example :P
The mothership is the goblins' command AI.
This is what I am trying to say, there is a form of CnC at play for this behavior. Just like while the fire evacuaee may only act on their self-interest, the protocol and procedure they are following act as their coordination even when they don't talk to each others.
Last edited by Mightysword on Mon, 17. Oct 11, 18:45, edited 1 time in total.
Chris0132
Posts: 1463
Joined: Sun, 22. Jun 08, 01:25
xr

Post by Chris0132 »

Gazz wrote:
Chris0132 wrote:Although what you say about wing commander AI isn't actually too different, it's just on a slightly bigger scale.
Oh, it's radically different.
It's exactly the difference between the purely self-centric behaviour and organisation.

A command AI could decide to divide and conquer, luring away some enemies before engaging.
A self-centric fighter script could not do this because it would achieve no goal.


Using MARS as an example again (no, this is no MARS thread =P)...
The mothership is the goblins' command AI.
It uses those drones to protect itself by sending them to engage incoming missiles, it sends them to distract enemy fighters, diverting their fire away from the mothership, and it uses those fast drones to "fetch" enemies that are far outside it's own weapon range, extending it's own "zone of control".
The mothership does plan and organise.
It rates threats and deploys it's "fighters" to gain a tactical advantage, that has nothing to do with getting the fighters' firepower onto the target. When the M2 cannot possibly catch fast fighters in the vicinity, it ties them down with "skirmishers" and delays them until the M2 can catch up and flatten them with overwhelming firepower. It plans ahead.

None of those drone missions let the drone achieve a result that is advantageous to itself. They are... minions.
The extent of their own and completely self-centered intelligence is to stay alive as long as possible while executing those "orders from above".
But isn't that just like having a ship with a bunch of tractor beams and point defence turrets and long range missiles and whatever?

The ship thinks for itself, and uses its effectors (in your case drones, in my case various types of gun) to produce the desired results in the world. The ship itself is a lot more intelligent than a drone, but no less self centred.

So the ship sees an enemy outside its range, your version might launch a drone to go aggro it. My version would launch a missile to aggro it. The missile of course has its own AI of sorts, fly towards the thing and explode. And a projectile would have its own code controlling how it flies to the target, but there isn't really any what I would call organisation going on in either case.

Similarly the ship might have a chaff launcher in my version, which in your version would be 'launch drones to tie up M2 if M2 is in a positon to pose a threat.' Mine would be the same but with 'fire chaff launcher' in the place of 'launch drones'.

Basically it seems like one self centric ship launching a bunch of self centric drones to do self centric things because the self centric ship knows that doing so will benefit it.

Basically, think of the drones as being the arms and legs of the ship, just as the guns and engine are the arms and legs of the drones. It's a step up, but in a lot of ways very similar.
User avatar
Gazz
Posts: 13244
Joined: Fri, 13. Jan 06, 16:39
x4

Post by Gazz »

Chris0132 wrote:Basically it seems like one self centric ship launching a bunch of self centric drones to do self centric things because the self centric ship knows that doing so will benefit it.
That's true but by using those drones in ways that does not benefit the drones themselves, the mothership becomes a tactical AI or wing commander of sorts.
That the mothership is acting out of self interest is no contradiction.

The point is that the drones do not act out of self interest. They are being commanded to achieve the goals of a higher authority.
Just luring a fighter somewhere serves absolutely no purpose for the individual drone and offers no chance of "winning".
My complete script download page. . . . . . I AM THE LAW!
There is no sense crying over every mistake. You just keep on trying till you run out of cake.
Chris0132
Posts: 1463
Joined: Sun, 22. Jun 08, 01:25
xr

Post by Chris0132 »

Although if that's the case then the ship also doesn't act out of self interest because you programmed it to do cool stuff.

And you don't act out of self interest because the entire universe conspired to produce you in the state you are which resulted in the creation of the drone AI.

And so on.

Basically I seem to be having massive trouble seeing where the distinction is supposed to go. Might be because I play a lot of RTS and don't actually see the difference between an RTS and a slow paced FPS. I use my mouse and keyboard to move stuff around and effect changes in the world. Whether my mouse and keyboard control my movement and aim or the placement of little markers on the board doesn't really make much fundamental difference to me. Both are simply my effectors, my 'body' as such in the virtual world.
Scoob
Posts: 11165
Joined: Thu, 27. Feb 03, 22:28
x4

Post by Scoob »

Hi,

Anyone remember the combat AI in the original Xtended expansion? The one for X:BTF not the 3rd party mod for Reunion and TC.

In that EVERY fighter would follow the EXACT same path when engaging the enemy. Also the enemy would evade, or not, in the exact same way.

This led to an attacking ship getting right behind the target. If you'd commanded several of your fighters to do the same they'd all "merge" behind in the same position - imagine each of them were running "no clipping" and the models actually merged. When they fired, they'd likely hit each other first due to the model overlap.

Now THAT was basic AI with all ships behaving exactly the same - ok one on one, but two on one it sorta went crazy.

So, things in X2 and X3 were much improved on this original approach, but it's not unreasonable to expect more with XR.

Additionally, with Capital ships and stations being modular, the hard-coded "it's best to attack this class of ship from here" is no longer relavant. There must be a fair bit of additional AI added to enable smart sub-system targeting. Also, if a prior volly took out weapons system on one side of the ship, or the shield was weakest that side, will the AI be smart enough to take advantage?

It sounds like Egosoft have upped the game a lot from a tactical perspective, but will the AI be able to keep up?

Scoob.
A5PECT
Posts: 6190
Joined: Sun, 3. Sep 06, 02:31
x4

Post by A5PECT »

Scoob wrote:There must be a fair bit of additional AI added to enable smart sub-system targeting.
In Apoch's post he says that he solved that by dividing the area around the capital ship based on viable angles of attack against each surface element. If a fighter wants attack a particular part of the carrier it will fly into the area of space associated with a particular surface element and begin its strafing runs from there.

Well, that's how the actual attack runs are handled. We don't actually know how fighters decide which surface elements to attack and when. Hopefully, fighters come with a built-in threat assessment system that lets them (somewhat) intelligently choose their targets, and the player can override that system with specific commands.
It sounds like Egosoft have upped the game a lot from a tactical perspective, but will the AI be able to keep up?
This is the big question.

We won't know until the game comes out.

Or Egosoft releases some kind of trailer showing off the AI.
Admitting you have a problem is the first step in figuring out how to make it worse.
DeadlyDarkness
Posts: 1144
Joined: Fri, 28. Jul 06, 19:36
x3tc

Post by DeadlyDarkness »

There are lots of different ways to simplify the AI.

The issue with fighter combat is that more often than not there are a /lot/ of ships, so the AI has to be as simple as possible to avoid processing overhead.

However, with large ships, there are usually very few of them, they also move slower. This allows for more strategic decision making as 1) you can dedicated more threads to their AI and 2) they move slower so the tick rate can also be slower.

In the case of large fleet engagements, this is where the concept of "wings" can become useful. When 30 fighters are attacking one large ship, it is much simpler to just count the whole lot as one ship with 30 firing points. The angle of the individual ships doesn't matter then as long as the formation is facing the right direction. This can potentially cause collision problems however when facing enemy fighters. BUT, you can use a specific evasion algorithm. When a ship in the cloud comes under fighter attack, it could engage in a pre programmed evasion move then return to formation. This is exactly how bomber pilots in WW2 dealt with fighters using the "corkscrew" evasion manoeuvre. Basically collision on the individual ships is only considered when there is another cloud of fighters nearby.

Treating the fighters in a cloud as points in terms of weapon /targeting/ can also be advantageous, the obvious in game implementation of this is flak which would simply aim at the cloud of fighters. Of course you would probably still want to apply a collision box for hits since there might be a mix of flak and fighter attacks, but it would allow for more complex capital ship AI.

Return to “X Rebirth Universe”