Forums » Bugs
Missile Tracking
Missiles seem to be a little odd at present.. I started using them the first time last night, and went to go play with some Den-Teks to get an easy target.. I was using a L1 Heavy missile launcher. I forget the name, and can go look again when I get back into the game (shortly). I do remember it was a launcher with 14 shots.
After finding that the tracking seemed poor, I decided to do something a little more straightforward.. I lined up so my velocity and the bot's velocity matched, fired the missile straight forward.
It did indeed go forward.. Then, just before hitting the bot, it swerved to the right, went around the bot, swerved back to the left, then went straight again.
It actually flew an avoidance flight path around the bot. It happened three times in a row.
Now, I don't think it's just me.. -avoiding- the target seems a pretty poor flight control pattern for a contact-detonation missile. :)
After finding that the tracking seemed poor, I decided to do something a little more straightforward.. I lined up so my velocity and the bot's velocity matched, fired the missile straight forward.
It did indeed go forward.. Then, just before hitting the bot, it swerved to the right, went around the bot, swerved back to the left, then went straight again.
It actually flew an avoidance flight path around the bot. It happened three times in a row.
Now, I don't think it's just me.. -avoiding- the target seems a pretty poor flight control pattern for a contact-detonation missile. :)
It was the stingray.
Yeah, it's dumb. We should fix that. It's trying to lead the target off, but its behavior when close to the target tends to do some very counterproductive things.
And all missiles seem to only generate intercept courses from behind the target. This means nothing if I'm travelling backwards and firing at an enemy following me. Before the recent reset, I went to attack some Sentry I's (now Guardian -5s) and while the thing was chasing, I spun and lobbed a bunch of stingrays back. The missiles would travel straight, purposefully go around the Sentry, and try to catch up. Of course, since I was already travelling a bit faster than the missiles' top speed, the things never were able to catch up. The missiles didn't intercept the Sentry until after I'd destroyed it with cannons, and the thing wasn't there to hit anyway.
Matrix
Matrix
Just thinking about it with zero knowledge of actual tracking systems...
If I were designing a missile tracking system, I would use "aspect" seeking, which uses an old principle from my private pilot flight training days. The principle is this: If you are approaching an aircraft (or other object) and its position in your window doesn't change, you're on a collision course. They teach us to look for this to avoid mid-air collisions, but reverse it and you get what should be a decent tracking system.
So you fire the missile at a target, and at some point, the missile looks at the angle the target is in it's "camera." It changes its course to keep the target in the same place, and if all goes well (you fired it at a decent angle to begin with) it should hit the target. A truly smart missle would know how to choose an angle to avoid having to spiral into the target.
You can experiment with this method by flying after bots. Assuming they're not turboing, fly toward them and adjust your course until the target reticle lines up over the bot. If the bot doesn't change course, you should hit the bot. It's harder to do with turbo, since you can't turn easily or smoothly.
I have no idea how the current tracker works, but maybe this kind of seeking could be a "final stage" method, after plotting a course that leads the target. Aspect seeking may not respond well to lag though..
If I were designing a missile tracking system, I would use "aspect" seeking, which uses an old principle from my private pilot flight training days. The principle is this: If you are approaching an aircraft (or other object) and its position in your window doesn't change, you're on a collision course. They teach us to look for this to avoid mid-air collisions, but reverse it and you get what should be a decent tracking system.
So you fire the missile at a target, and at some point, the missile looks at the angle the target is in it's "camera." It changes its course to keep the target in the same place, and if all goes well (you fired it at a decent angle to begin with) it should hit the target. A truly smart missle would know how to choose an angle to avoid having to spiral into the target.
You can experiment with this method by flying after bots. Assuming they're not turboing, fly toward them and adjust your course until the target reticle lines up over the bot. If the bot doesn't change course, you should hit the bot. It's harder to do with turbo, since you can't turn easily or smoothly.
I have no idea how the current tracker works, but maybe this kind of seeking could be a "final stage" method, after plotting a course that leads the target. Aspect seeking may not respond well to lag though..
That's a very curious behavior for leading. I mean, the bot wasn't adjusting his velocity to avoid, I wasn't adjusting mine.. We were as close to matched vectors as we could get with the controls we have, and as CrippledPidgeon put it.. It 'purposefully' avoided the target. It's quite bizarre. o.o
Good luck with that. It feels like one of those things that'd make one go "... what the.." for quite a while.
Good luck with that. It feels like one of those things that'd make one go "... what the.." for quite a while.
Until then, work on getting proficient with unguided rockets, I guess. At least then you can spin around and fire on a pursuer and not have the rockets narrowly avoid hitting the target.
Pursuit was always one of the reasons for mine launchers. Are those still around in the higher levels? I haven't gotten high enough to tell yet.
Pursuit was always one of the reasons for mine launchers. Are those still around in the higher levels? I haven't gotten high enough to tell yet.
There's even more types of mines now. But the Concussion Mines still suck- they don't push persuers off course enough.
Well, to bring this back.. Played around with the Stingrays more after the patch (1.0.8)..
They are much improved in general tracking, which is great..
But the originally reported issue is still present. I'll have matched velocities with a den-tek, fire a Stingray at it.. Missile will go straight.. Almost hit.. Suddenly veer to one side, and miss.
It doesn't happen -nearly- as often now, but it is reproducable.
In the cases I'm referring to, the missile -would hit- if it did not suddenly thrust off to the side, missing at functionally the last possible moment.
This came up during in-game chat, so I want it to be clear that I'm not looking for missiles to be 100% reliable -- I didn't really expect the tracking improvements that we did get -- but I'm a little frustrated when the tracking on a missile is what -causes- it to miss. It makes the tracking system not just useless, but detrimental, in these cases.
They are much improved in general tracking, which is great..
But the originally reported issue is still present. I'll have matched velocities with a den-tek, fire a Stingray at it.. Missile will go straight.. Almost hit.. Suddenly veer to one side, and miss.
It doesn't happen -nearly- as often now, but it is reproducable.
In the cases I'm referring to, the missile -would hit- if it did not suddenly thrust off to the side, missing at functionally the last possible moment.
This came up during in-game chat, so I want it to be clear that I'm not looking for missiles to be 100% reliable -- I didn't really expect the tracking improvements that we did get -- but I'm a little frustrated when the tracking on a missile is what -causes- it to miss. It makes the tracking system not just useless, but detrimental, in these cases.
The yellowjackets hit 100% of the DenTeks, Artemis's and Oruns I shot them at yesterday. And I fired most of those while boosting on an intercept course, not anything even close to matched velocities.
Prehaps a multiple-targeting system? If the current system is effective up until the last possible moment, then leave it as such. Instead, at that moment just before the last possible moment, have it switch from the effective long-range tracking to a different short range tracking- at a certain range, you can tell the missile to do one simple thing: See that point ten feet away? Go to that point.
As distances decrease, the error you can tolerate and still score a hit with increases. Indeed, if it's really happening at the last possible moment, just turning off tracking entirely should solve the problem nicely.
As distances decrease, the error you can tolerate and still score a hit with increases. Indeed, if it's really happening at the last possible moment, just turning off tracking entirely should solve the problem nicely.
Yeah, the tracking code still sucks, and I know it. I just made a quick change to marginally improve it. I think I will try what you suggest - disable the leadoff code when it's within a certain range. But what it really needs is a more complex controller (PID instead of just proportional) and subsequent tuning, which is a pain.
Also, the change I made threw off the "balance" of homing missiles, such as they are, since they tend to turn faster now (even though they stay within the same turning rate limit) so we'll probably need to adjust tracking rates and crap.
Also, the change I made threw off the "balance" of homing missiles, such as they are, since they tend to turn faster now (even though they stay within the same turning rate limit) so we'll probably need to adjust tracking rates and crap.
a1, you should probably also call "heat seekers" something else or not make them lead the target.
That would be cool; multiple types of tracking, either for missiles in flight, or for different types of missiles.
Anyway, good luck on all that. I haven't had to do intercept algorithms in a while, or I'd offer one. Sadly, work is busy enough as it is. =p
Anyway, good luck on all that. I haven't had to do intercept algorithms in a while, or I'd offer one. Sadly, work is busy enough as it is. =p
Gemini's are a lot more evil now. Whatever marginal improvement you made now allows them to hit boosting players. You can't just boost right on by anymore.
If they get even better.. you might need to implement a lock or something where the player has to be facing the target for a certain amount of time before they can shoot. As it is now, a player can just spin around and rip off a salvo, then turn and boost again before the other guy can do anything.
If they get even better.. you might need to implement a lock or something where the player has to be facing the target for a certain amount of time before they can shoot. As it is now, a player can just spin around and rip off a salvo, then turn and boost again before the other guy can do anything.
You know, now that I think about it, Starfisher is right.. Geminis (and presumably more advanced missile systems) are extremely accurate. I only tested them in passing because my primary concern was with the bug I was chasing with the Stingrays. The bug occurred with the Gemini missiles, but -much- less often than with stingrays.. I think because of the higher velocity, so when it starts to swerve, it's moving too quick to actually miss the target.