S
StarBlade
Deleted Due to Inactivity
Former MSFC Member
So I wanted to find out what exactly the "attackPower" (AP) and "intrinsicValue" (IV) indicators did. Here's my results. It took me an hour or so. But it was really a fascinating little way to kill a boring afternoon.
In order to find out how things would work, I took a variety of absolutely identical versions of my version of the Romulan Norexan class warbird, which replaces the Venator in my game, and ODF-modded them to vary their AP and IV indicators. I chopped the sensor ranges down to 300.0f so they couldn't see to attack but left their weapons intact. Part of the reason I chose the Norexan is because this is a fairly big model ingame, so it'd be easy to see on anyone else's sensor range. And that's what I looked at next.
I wanted to see which one the game would decide was more worthy of its attention. As my hunter, I chose (appropriately enough) a small Federation attack ship made by R5D5 called the Hunter class, with an extended sensor range of 1000.0f, and its typical complement of weapons. I chose this one because it has no special weapons. All I wanted to see was which target the Hunter went after first.
I determined where in the map editor was precisely 0.0x 0.0y 0.0z was located, and measured out from there. On either side of the Hunter, at ranges of 400.0f (measured precisely in the map editor), I placed Norexan class warbirds with varying AP and IV numbers indicated. It was absolutely critical that I place them on either side of the Hunter at precisely ninety degrees from forward heading, so that the game had to evaluate and determine which one it would strike. I took a few stabs at placing them directly behind the Hunter, stacked on top of each other in the z-axis instead, but I got bored after doing this for an hour and a half, so I just ran a couple obvious tests.
Here's how I configured the test:
Test Object 1 - AP 0.0 IV 0.0
Test Object 2 - AP 1.0 IV 1.0
Test Object 3 - AP 0.5 IV 0.5
Test Object 4 - AP 0.0 IV 1.0
Test Object 5 - AP 1.0 IV 0.0
Test Object 6 - AP 1.0 IV 0.5
Test Object 7 - AP 0.5 IV 1.0
Test Object 8 - AP 2.0 IV 0.0
Test Object 9 - AP 0.0 IV 2.0
I ran it, in the finest tradition of playoff hockey, as a best-of-seven. I varied which one I placed first(home-field advantage, if you will) and there really wasn't a difference. A couple times the double weapon set (torps and phasers) went in different directions, one to the left, the other to the right. I waited for the Hunter to commit to one Norexan or another before declaring a winner.
Here's the results. Where I've indicated "Hunter to the left", that means it was essentially a tie-- the game always attacks what's in the top-left corner of the map first unless it can find some other reason, like AP or IV, for instance, to find another target.
1 v 1 - left-side 1
1 v 2 - winner was 2
2 v 3 - winner was 2
So far, so good, right?
4 v 2 - winner was 2
5 v 2 - winner was 2
3 v 5 - winner was 5
6 v 5 - Hunter to the left
7 v 6 - winner was 6
8 v 5 - winner was 8
Now, I know-- it's only technically supposed to go to 1. But the game followed the numerical value beyond the decimal point.
9 v 8 - winner was 8
7 v 4 - winner was 7
2 v 9 - winner was 2
And so on.
My conclusion is based on the results. I think it's pretty clearly obvious that "intrinsicValue" as a field is useless when it comes to starship vs. starship action. The game only cares about the "attackPower" value once the weapons are locking on. I ran tests using random "let's see what happen" results as well, using the nine listed values. The results were always the same, even in one-offs. Given no other variables based upon which to make its choice, the game will always, ALWAYS go after the ship with the highest AP value listed, REGARDLESS of IV.
This may not be the case, however, strategically, over the long game. It's entirely possible that the AI evaluates, on a strategic rather than on a tactical basis, WHERE it's going to attack based on IV. This test doesn't really prove anything in the long game, after all. My Hunter class starship was Pavlov's Dog for the day, essentially. But it's possible that the calculations based on IV are far more deeply rooted in the long game than the AP. It reacts to the AP, but maybe it plans based on the IV. At present I have no idea how to test it, and no real inclination to do so, either.
If IV does, in fact, work like this, then giving mining installations and other stations (and even starships) greater IV indicators, or maybe both AP and IV, might be a way to prevent the game from conducting the "base rush" that seems to be its only real move. The AI player always keeps its strength immediately around its home base, then strikes out specifically (and usually only) at other players' home bases. This creates all sorts of stupid situations in which you spank the AI players simply by waiting until they've launched their attack against your base to destroy their starbase after they've broken themselves against your defenses, which you placed (of course) right along the path you KNEW they would take to get to you, the same path they take every single stupid time. Perhaps a modification of game values might prevent this stupid rush from taking place. Then again, probably not.
One last thing. I found it fascinating that, without sensor range active, a ship that can't be seen will simply be able to attack an AI vessel with impunity. I left the Hunter alone with a Norexan (which has something like 1500 hitpoints to the Hunter's 250). All of the Hunter's weapons were beyond the range of the Norexan's sensors. Its phasers were 450 and its torpedoes 500. So it sat comfortable in the fog and pounded the Norexan until it was a wreck. The Norexan made no evasive or defensive move at all. It just sat there, rolled over and died. This is a seriously questionable way to run a ship, of course, let alone one of the Praetor's finest warbirds. Just while we're on the subject of the stock AI being dumber than a Pakled remedial student.
Needless to say, I have little intention of trying such a test again anytime soon, whether with "intrinsicValue" or any other indicator. I would be curious to know if the game will make a different choice and attack the better-armed ship, for instance, or the tougher ship, or how classLabel values enter into the equation.
In order to find out how things would work, I took a variety of absolutely identical versions of my version of the Romulan Norexan class warbird, which replaces the Venator in my game, and ODF-modded them to vary their AP and IV indicators. I chopped the sensor ranges down to 300.0f so they couldn't see to attack but left their weapons intact. Part of the reason I chose the Norexan is because this is a fairly big model ingame, so it'd be easy to see on anyone else's sensor range. And that's what I looked at next.
I wanted to see which one the game would decide was more worthy of its attention. As my hunter, I chose (appropriately enough) a small Federation attack ship made by R5D5 called the Hunter class, with an extended sensor range of 1000.0f, and its typical complement of weapons. I chose this one because it has no special weapons. All I wanted to see was which target the Hunter went after first.
I determined where in the map editor was precisely 0.0x 0.0y 0.0z was located, and measured out from there. On either side of the Hunter, at ranges of 400.0f (measured precisely in the map editor), I placed Norexan class warbirds with varying AP and IV numbers indicated. It was absolutely critical that I place them on either side of the Hunter at precisely ninety degrees from forward heading, so that the game had to evaluate and determine which one it would strike. I took a few stabs at placing them directly behind the Hunter, stacked on top of each other in the z-axis instead, but I got bored after doing this for an hour and a half, so I just ran a couple obvious tests.
Here's how I configured the test:
Test Object 1 - AP 0.0 IV 0.0
Test Object 2 - AP 1.0 IV 1.0
Test Object 3 - AP 0.5 IV 0.5
Test Object 4 - AP 0.0 IV 1.0
Test Object 5 - AP 1.0 IV 0.0
Test Object 6 - AP 1.0 IV 0.5
Test Object 7 - AP 0.5 IV 1.0
Test Object 8 - AP 2.0 IV 0.0
Test Object 9 - AP 0.0 IV 2.0
I ran it, in the finest tradition of playoff hockey, as a best-of-seven. I varied which one I placed first(home-field advantage, if you will) and there really wasn't a difference. A couple times the double weapon set (torps and phasers) went in different directions, one to the left, the other to the right. I waited for the Hunter to commit to one Norexan or another before declaring a winner.
Here's the results. Where I've indicated "Hunter to the left", that means it was essentially a tie-- the game always attacks what's in the top-left corner of the map first unless it can find some other reason, like AP or IV, for instance, to find another target.
1 v 1 - left-side 1
1 v 2 - winner was 2
2 v 3 - winner was 2
So far, so good, right?
4 v 2 - winner was 2
5 v 2 - winner was 2
3 v 5 - winner was 5
6 v 5 - Hunter to the left
7 v 6 - winner was 6
8 v 5 - winner was 8
Now, I know-- it's only technically supposed to go to 1. But the game followed the numerical value beyond the decimal point.
9 v 8 - winner was 8
7 v 4 - winner was 7
2 v 9 - winner was 2
And so on.
My conclusion is based on the results. I think it's pretty clearly obvious that "intrinsicValue" as a field is useless when it comes to starship vs. starship action. The game only cares about the "attackPower" value once the weapons are locking on. I ran tests using random "let's see what happen" results as well, using the nine listed values. The results were always the same, even in one-offs. Given no other variables based upon which to make its choice, the game will always, ALWAYS go after the ship with the highest AP value listed, REGARDLESS of IV.
This may not be the case, however, strategically, over the long game. It's entirely possible that the AI evaluates, on a strategic rather than on a tactical basis, WHERE it's going to attack based on IV. This test doesn't really prove anything in the long game, after all. My Hunter class starship was Pavlov's Dog for the day, essentially. But it's possible that the calculations based on IV are far more deeply rooted in the long game than the AP. It reacts to the AP, but maybe it plans based on the IV. At present I have no idea how to test it, and no real inclination to do so, either.
If IV does, in fact, work like this, then giving mining installations and other stations (and even starships) greater IV indicators, or maybe both AP and IV, might be a way to prevent the game from conducting the "base rush" that seems to be its only real move. The AI player always keeps its strength immediately around its home base, then strikes out specifically (and usually only) at other players' home bases. This creates all sorts of stupid situations in which you spank the AI players simply by waiting until they've launched their attack against your base to destroy their starbase after they've broken themselves against your defenses, which you placed (of course) right along the path you KNEW they would take to get to you, the same path they take every single stupid time. Perhaps a modification of game values might prevent this stupid rush from taking place. Then again, probably not.
One last thing. I found it fascinating that, without sensor range active, a ship that can't be seen will simply be able to attack an AI vessel with impunity. I left the Hunter alone with a Norexan (which has something like 1500 hitpoints to the Hunter's 250). All of the Hunter's weapons were beyond the range of the Norexan's sensors. Its phasers were 450 and its torpedoes 500. So it sat comfortable in the fog and pounded the Norexan until it was a wreck. The Norexan made no evasive or defensive move at all. It just sat there, rolled over and died. This is a seriously questionable way to run a ship, of course, let alone one of the Praetor's finest warbirds. Just while we're on the subject of the stock AI being dumber than a Pakled remedial student.
Needless to say, I have little intention of trying such a test again anytime soon, whether with "intrinsicValue" or any other indicator. I would be curious to know if the game will make a different choice and attack the better-armed ship, for instance, or the tougher ship, or how classLabel values enter into the equation.