It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
Okay, I have created this Google Doc while we don't have a proper public issue tracker.
Please, have a look at it and feel free to add whatever I might have missed. :)
Post edited October 28, 2016 by Azrapse
avatar
Azrapse: Okay, I have created this Google Doc while we don't have a proper public issue tracker.
Please, have a look at it and feel free to add whatever I might have missed. :)
Awesome, well done. I'll be sure to poke at it.

edit: I
went through a big chunk of this thread and added a bunch more details that had been missed and several more features.
Post edited October 28, 2016 by countbuggula
avatar
Azrapse: Okay, I have created this Google Doc while we don't have a proper public issue tracker.
Please, have a look at it and feel free to add whatever I might have missed. :)
avatar
countbuggula: Awesome, well done. I'll be sure to poke at it.

edit: I
went through a big chunk of this thread and added a bunch more details that had been missed and several more features.
Thanks! Well done.
Not much progress last week. Real life demands its attention, I bet you all understand.

For some time, MajorParts has been testing the gameplay of the prototype and comparing it with the original.
For gameplay, I mean the core X-Wing combat experience. How ships AI move, how they fight, how long they last before blowing up and being replaced by a new wave.
While we are getting closer with every release, there are no hard numbers specified anywhere about how the AI works, so it is kind of an exercise of guessing how to program it in XWVM.

One of the issues we still have is how AI opponents usually approach combat and for how long they last.
You probably remember me babbling about this problem in other occasions. And some solutions that I have tried. While they improved the overall result, I felt they were still insufficient.

The test mission starts by 3 Y-Wings jousting 3 TIE Fighters. The AI ships start shooting when they are at effective range of their weapons.
Problem is that a shielded ship will always win a joust against an unshielded ship. So the Y-Wings were steamrolling the TIEs during the first approach 99% of the time.
I improved that by adding the "pain meter" concept on AI ships: when they suffer a lot of damage in little time, relative to their total health, they enter in pain mode, and start evading like crazy.

That improved the odds of the TIEs surviving the initial approach. Still, it implied that the TIEs had to be hit for them to suffer the damage and trigger the "pain" evading.
That is not good, because it means that a TIE always loses at least 50% of their health in the first exchange. Most of the time, they don't react fast enough after the first hit to avoid the second, and they still blow up.

In the original game the TIEs somehow survive the initial joust, and dogfight with the Y-wings for a long time. [By the way, I have been watching those Y-wings in the original game, and there is either a bug with the mission or the original engine, since Y-wing Red 1 seems not to do anything most of the time, while Red 2 fights, but only because there are enemies near his squad leader). Can someone else confirm this?]

Then I found some interesting reading on the TIE Fighter Collectors' CD-ROM strategy guide. While looking for a source to learn how many points each ship gave, I found this almost at the end (page 517):

[i]Enemy AI Characteristics
Here are the main criteria used to differentiate enemy pilots from each other. There are no hard statistics available to list the differences between each type of pilot - for instance a Novice to a Top Ace. Better enemies have the following characteristics, however:

1- Faster reaction times to all situations; making decisions more frequently.
2- Quicker, more intelligent target selection.
3- Better firing accuracy with laser and ion cannons.
4- Better missile and torpedo lock on, consequently better missile accuracy.
5- More efficient management of weapons, firing more shots when the odds of a hit are better.
6- Better ability to stay on the tail of their target.
7- Faster response to attacks.
8- More radical defensive maneuvers to escape attacks.
9- Better formation flying, smoother maneuvers, better exists from and entrance into ships. (This refers both to the launching speed of fighter craft and to docking and separation ability).
10- Better avoidance of larger obstacles; in particular, large spacecraft.[/i]

I don't know why I didn't read that page before, but I am glad that I read it now. Until now, I have been basically guessing what the AI used to do, but now, seeing it all listed there is both convenient and relieving.
Relieving because it seems I guessed most of those quite accurately.
In particular, points 1, 3, 5, 6, and 7 are already implemented, mostly.

Point 3 is there, but disabled for fighters, after a contributor (CaptainAdlai) pointed that no fighter AI ever target leads when attacking, only turrets.

Point 4 was there, kind of. When having a good shot, the AI switches to dual fire or quad fire. Also, they manage their power settings more or less effectively. I still don't know if that happens in the original, or the AI has unlimited laser weapons cheat on all the time.

But Point 8 is the one that matters for today's wall of text: Radical defensive maneuvers to escape attacks.
That made me remember when, sometimes, you are dogfighting with a fast ship like a TIE Interceptor. Then it turns around to face you, start shooting at you, and when you aim at it, it suddenly swerves for a fraction of a second and faces you again, shooting.
That short swerving is enough to avoid incoming fire from you. That is the way unshielded agile ships survive jousting sturdier shielded ships in X-Wing.

I need to keep tweaking it, but now dogfights are much more interesting, since you can't shoot all incoming TIEs during a joust anymore. They swerve, twist and come back after you at a different angle.
Azrapse, you mentioned before that dog fights would be over very fast when you enable leading.
But what about introducing an inaccuacy factor depending on AI skill level? Even at the highest top ace level they shouldn't be able to lead their shots perfectly. Even human ace pilots cannot lead perfectly all the time.

This should extend dogfights dramatically.

Also light armored and unshielded fighter craft should be able to evade shots before they are hurt in the first place. Not always. Depending on skill factor and a random factor. This would make TIE fighters attacking a corvette not a suicide attack every time. I believe even unshielded craft can take out a capital ship with a high enough skill level. In analogy to fighters attacking a B-52 bombers in WW2 for example.
avatar
f3if3i: Azrapse, you mentioned before that dog fights would be over very fast when you enable leading.
But what about introducing an inaccuacy factor depending on AI skill level? Even at the highest top ace level they shouldn't be able to lead their shots perfectly. Even human ace pilots cannot lead perfectly all the time.

This should extend dogfights dramatically.

Also light armored and unshielded fighter craft should be able to evade shots before they are hurt in the first place. Not always. Depending on skill factor and a random factor. This would make TIE fighters attacking a corvette not a suicide attack every time. I believe even unshielded craft can take out a capital ship with a high enough skill level. In analogy to fighters attacking a B-52 bombers in WW2 for example.
Yes. Initially, when fighters were all using target leading, I implemented something like what you proposed.
Lets say that the target lead point of your target is like 30 meters in front of it at a particular moment.
A perfect accurate AI would aim its ship towards that point for shooting, right?

Well, what I did was to add some error to that distance depending on the AI rank of the shooting ship, gaining an error of 25% for every rank below Top Ace.

So, Top Ace would have an error of 0%.
Then, Ace would have an error of 25% of that distance. It would shoot at 30m-25% = 22,5 meters in front of its target, instead of 30 meters in front.
Veteran would have an error of 50%.
Officer, an error of 75%.
And finally Rookie would have an error of 100%, that is, not target leading at all, and shooting at were the ship is, instead of where it is going to be.


That sounds nice, but it leads to really short combats, still. I mean, much shorter than in the original game, that is what matters here.
The cause is, apparently, because most Rebel ships are assigned higher AI ranks than most Imperial ships. In the test mission, all rebel ships are Top Ace (Y-wings Red and Blue, and even the shuttle Hasti), while most TIE Fighters are rookies (Alpha, Beta, Delta) or officer (Gamma).
That means that in the first clash between Y-W Red group, and T/F Alpha and Beta, the TIE fighters are destroyed in less than 5 seconds.

In the original game, however, Y-W Red (2 ships) face T/F Beta and get engaged in dogfighting for many many minutes, while T/F Alpha isn't even bothered and keeps performing its close escort mission on the shuttles, because Y-W Red doesn't even get close enough to them, engaged by T/F Beta.

The dilemma here is that as a game, it works well. Top ace pilots slaughter rookies without breaking a sweat. Combat is challenging because you need to be evading enemy fire all the time, etc. It is much closer to later games in the series, especially XvT.
The problem is that it didn't work like that in the original X-Wing at all, leading to very different results, and much different mission balance.
With target leading, the mission is a piece of cake. You can let other friendly ships basically wipe out Alpha and Beta in no time, and when Hasti and Y-W Blue come, they promptly destroy Gamma and Delta, so the player is barely needed at all, only for inspecting the shuttle carrying Ackbar.

It is a delicate task to try and handicap the AI so much that dogfights aren't trivial between highly disparate AI ranks, while at the same time not making AI ranks meaningless.
It doesn't help that the original game sometimes does things hard to explain. For example, Y-W Red 1 doesn't do any fighting, just flies around, while Red 2 kills anything that gets close to Red 1.
That seems wrong, but I affects the pace of the mission and the balance, and I don't know if it is a bug that was allowed to be, or it is some intended behavior that I don't totally get.

Can someone please test Y-W Historical Mission 6 (both in DOS and Windows versions) and report if they see Y-W RED 1 actually engage in combat with enemies, just so that I can discard that is something that only happens in my computer?
avatar
Azrapse: Can someone please test Y-W Historical Mission 6 (both in DOS and Windows versions) and report if they see Y-W RED 1 actually engage in combat with enemies, just so that I can discard that is something that only happens in my computer?
It is very likely that the fighters' AI are affected by the "DOSBOX's cycles". Reducing the cycles can help restore the original AI.
Post edited November 02, 2016 by StyleWan
GOG release....Y-Wing Red 1 just flies about
avatar
MjrParts: GOG release....Y-Wing Red 1 just flies about
Both DOS and windows?
avatar
Azrapse: Can someone please test Y-W Historical Mission 6 (both in DOS and Windows versions) and report if they see Y-W RED 1 actually engage in combat with enemies, just so that I can discard that is something that only happens in my computer?
avatar
StyleWan: It is very likely that the fighters' AI are affected by the "DOSBOX's cycles". Reducing the cycles can help restore the original AI.
I don't think that is the cause, this time. My DOSBOX is configured to 35MHz, since having unlimited cycles causes the AI to stop working properly in many parts of the game, as you mention.

In any case, the 1998 Windows version doesn't use DOSBOX, but Windows timers that aren't affected by by CPU speed. And it shows the same behavior.
I always use the 1994 CD-ROM DOS version, but I installed the 1993 floppy version last evening to try and check if it appeared there also: yes it does.

I started suspecting it is a bug from the original game, but what confirmed it to almost 100% certainty was a suggestion from MajorParts: "In which other missions is this 'Attack Escorts' order used?"
I went thru all Historical missions, and all missions in TOD 1, 2, and 3.
Guess what?

The 'Attack Escorts' order is used by a single flight group in a single mission, from a pool of 62 missions. Indeed, the Y-Wing Historical Mission 6. The one we are using as a testbed...

That tells me something: After using it in one historical mission (probably one of the missions created first for the game), the designers Maxwell and Wessman didn't want to use it again for the rest of the game. Why? Most likely, because that order was bugged and for whatever reason, Holland and Lincroft didn't fix it. They maybe were too close to some deadline, or they were busy doing other things and just told the designers not to use it.

Whatever the reason is, it is bugged, and now XWVM has a working, functional 'Attack Escorts' order, while original X-Wing (1993, 1994 and 1998) doesn't. So we either let this be and assume that XWVM will not totally mimic in gameplay the original, or we make 'Attack Escorts' buggy on purpose in XWVM too.
avatar
StyleWan: It is very likely that the fighters' AI are affected by the "DOSBOX's cycles". Reducing the cycles can help restore the original AI.
avatar
Azrapse: I don't think that is the cause, this time. My DOSBOX is configured to 35MHz, since having unlimited cycles causes the AI to stop working properly in many parts of the game, as you mention.

In any case, the 1998 Windows version doesn't use DOSBOX, but Windows timers that aren't affected by by CPU speed. And it shows the same behavior.
I always use the 1994 CD-ROM DOS version, but I installed the 1993 floppy version last evening to try and check if it appeared there also: yes it does.

I started suspecting it is a bug from the original game, but what confirmed it to almost 100% certainty was a suggestion from MajorParts: "In which other missions is this 'Attack Escorts' order used?"
I went thru all Historical missions, and all missions in TOD 1, 2, and 3.
Guess what?

The 'Attack Escorts' order is used by a single flight group in a single mission, from a pool of 62 missions. Indeed, the Y-Wing Historical Mission 6. The one we are using as a testbed...

That tells me something: After using it in one historical mission (probably one of the missions created first for the game), the designers Maxwell and Wessman didn't want to use it again for the rest of the game. Why? Most likely, because that order was bugged and for whatever reason, Holland and Lincroft didn't fix it. They maybe were too close to some deadline, or they were busy doing other things and just told the designers not to use it.

Whatever the reason is, it is bugged, and now XWVM has a working, functional 'Attack Escorts' order, while original X-Wing (1993, 1994 and 1998) doesn't. So we either let this be and assume that XWVM will not totally mimic in gameplay the original, or we make 'Attack Escorts' buggy on purpose in XWVM too.
I vote you either make it work properly or make it an option to retain the buggy version.
avatar
countbuggula: I vote you either make it work properly or make it an option to retain the buggy version.
Good idea. I had the same thought.

Edit: Would you be interested how this mission plays out in the X-Wing Conversion for XWA? The missions weren't changed much when porting them for XWA's engine.
Post edited November 03, 2016 by FekLeyrTarg
avatar
countbuggula: I vote you either make it work properly or make it an option to retain the buggy version.
avatar
FekLeyrTarg: Good idea. I had the same thought.

Edit: Would you be interested how this mission plays out in the X-Wing Conversion for XWA? The missions weren't changed much when porting them for XWA's engine.
Yes, that could be helpful, please.
In the XWC-version, both Y-Wings engage the TIEs.

According to AlliED, Y-Wing Red has the following orders:
Primary targets:
A: Flight Group.: T/F Alpha
B: Flight Group T/F Beta

Secondary targets (link targets):
A: Craft with orders: Escort (prevent boarding)
B: IFF: Imperial

(looks like something was tweaked afterall)
avatar
FekLeyrTarg: In the XWC-version, both Y-Wings engage the TIEs.

According to AlliED, Y-Wing Red has the following orders:
Primary targets:
A: Flight Group.: T/F Alpha
B: Flight Group T/F Beta

Secondary targets (link targets):
A: Craft with orders: Escort (prevent boarding)
B: IFF: Imperial

(looks like something was tweaked afterall)
Thanks!

You don't specify which orders they are assigned, but I guess they are "Attack targets", right?
It seems that the "Attack Escorts" order wasn't directly ported to TIE Fighter and later, but instead, it is replaced by that secondary target of "craft with orders Escort AND IFF Imperial".

Well, then it is clear to me that the original was buggy and unfixed, probably because by the time the mission designers were creating most of the missions and the bug was found, the engineers were working already on rebuilding the whole orders system to be better and more versatile, perhaps for an expansion or something, and it was absurd to go back and fix the old code when the new code was better and didn't have the problem. But at some point, the new order system was decided not to be retrofitted into X-Wing, and instead they built a new game around it: TIE Fighter.

I think I will leave it as is, plus add an option somewhere to revert it back to the bugged version. But I really doubt that option will be useful for anyone. As I said, it affects a single mission in the whole game. And it just makes the mission a bit harder by having RED 1 do nothing (RED 2 at least shoots at ships that get too close to RED 1).
Post edited November 04, 2016 by Azrapse