Any way to have heat seeker act their part?
Moderators: Omega, tillias, Mod Contributor
-
- Elite
- Posts: 8014
- Joined: Fri Sep 05, 2003 4:03 am
- Location: Montreal
- Contact:
Any way to have heat seeker act their part?
In PU we have heat-seeker missiles, but they don't behave as such.
In the original Privateer game, the only way you could get a heatseeker
to lock on a bogie was to get *behind* the bogie.
In PU, heatseeker get a lock from any angle.
VS has heatseekers, right? Do they work like heatseekers?
If so, how do we fix ours?
TIA
In the original Privateer game, the only way you could get a heatseeker
to lock on a bogie was to get *behind* the bogie.
In PU, heatseeker get a lock from any angle.
VS has heatseekers, right? Do they work like heatseekers?
If so, how do we fix ours?
TIA
Latest version of Cinemut Opaque
Latest version of LaGrande noodleworks (scroll down).
An evolving La Grande How-To...
The non-working, but latest, CineMut test_bike
PU (Privateer: Parallel Universe's Home). WC or Privateer Drayman for you?
WCpedia --The Wing Commander Encyclopedia-- From Angel Deveraux through Belisarius to Zachary Banfeld...
WC Nexus forum, the Moonbase Tycho of WC fans.
Latest version of LaGrande noodleworks (scroll down).
An evolving La Grande How-To...
The non-working, but latest, CineMut test_bike
PU (Privateer: Parallel Universe's Home). WC or Privateer Drayman for you?
WCpedia --The Wing Commander Encyclopedia-- From Angel Deveraux through Belisarius to Zachary Banfeld...
WC Nexus forum, the Moonbase Tycho of WC fans.
-
- Elite
- Posts: 1363
- Joined: Sat Aug 04, 2007 3:42 pm
Re: Any way to have heat seeker act their part?
IMO, yes to all of the above. All VS ships have 'hot' thrusters on all sides (unlike modern spacecraft like the shuttle that only have simple low power 'cold' gas thusters besides the actual rockets engines on the back). And then there's the waste heat dissipation issues too (radiator surfaces).chuck_starchaser wrote:In PU we have heat-seeker missiles, but they don't behave as such.
In the original Privateer game, the only way you could get a heatseeker
to lock on a bogie was to get *behind* the bogie.
In PU, heatseeker get a lock from any angle.
VS has heatseekers, right? Do they work like heatseekers?
If so, how do we fix ours?
TIA
Realism aside, as a player of VS I've never noticed heatseekers needing a backside firing solution, they seem to just need for you to be within range of the target for long enough, and I think to be facing the target within a certain angle range too.
If this is not for the realism conflicts, it is probably because while missiles in VS are currently horribly overpowered, a modern technology inspired limitation like this would make the weapons that suffered it totally useless. This comes from being able to pull off "shelton slides" in VS, where you can turn your would-be vulnerable backend away from incoming missiles at your ship's max angular acceleration while still keeping your momentum (all because drag is still 0 no matter what your silhouette from your direction of travel) and you still can maneuver out of the missile's path with your lateral thrusters.
That's my understanding of VS' story anyway, WC of course has its own direction of game play mechanics and balance.
-
- Elite
- Posts: 8014
- Joined: Fri Sep 05, 2003 4:03 am
- Location: Montreal
- Contact:
Exactly. All realism considerations aside, PU has a canon to deal with. In the original game of Privateer, and in all WC games for that matter, heatseekers needed a backside solution, and so that is what PU needs.
So, re-framing the question: Where do I start looking to implement this?
Would I need a special "missile AI" for heatseekers only?
So, re-framing the question: Where do I start looking to implement this?
Would I need a special "missile AI" for heatseekers only?
Latest version of Cinemut Opaque
Latest version of LaGrande noodleworks (scroll down).
An evolving La Grande How-To...
The non-working, but latest, CineMut test_bike
PU (Privateer: Parallel Universe's Home). WC or Privateer Drayman for you?
WCpedia --The Wing Commander Encyclopedia-- From Angel Deveraux through Belisarius to Zachary Banfeld...
WC Nexus forum, the Moonbase Tycho of WC fans.
Latest version of LaGrande noodleworks (scroll down).
An evolving La Grande How-To...
The non-working, but latest, CineMut test_bike
PU (Privateer: Parallel Universe's Home). WC or Privateer Drayman for you?
WCpedia --The Wing Commander Encyclopedia-- From Angel Deveraux through Belisarius to Zachary Banfeld...
WC Nexus forum, the Moonbase Tycho of WC fans.
-
- Minister of Information
- Posts: 1895
- Joined: Fri Jan 31, 2003 9:40 pm
- Location: The land of tenure (and diaper changes)
-
- Elite
- Posts: 8014
- Joined: Fri Sep 05, 2003 4:03 am
- Location: Montreal
- Contact:
Hmmm... Okay. So, where would be the locking code? Is that python or c++? (Hope it's C++...).
Latest version of Cinemut Opaque
Latest version of LaGrande noodleworks (scroll down).
An evolving La Grande How-To...
The non-working, but latest, CineMut test_bike
PU (Privateer: Parallel Universe's Home). WC or Privateer Drayman for you?
WCpedia --The Wing Commander Encyclopedia-- From Angel Deveraux through Belisarius to Zachary Banfeld...
WC Nexus forum, the Moonbase Tycho of WC fans.
Latest version of LaGrande noodleworks (scroll down).
An evolving La Grande How-To...
The non-working, but latest, CineMut test_bike
PU (Privateer: Parallel Universe's Home). WC or Privateer Drayman for you?
WCpedia --The Wing Commander Encyclopedia-- From Angel Deveraux through Belisarius to Zachary Banfeld...
WC Nexus forum, the Moonbase Tycho of WC fans.
-
- Elite
- Posts: 8014
- Joined: Fri Sep 05, 2003 4:03 am
- Location: Montreal
- Contact:
We were just thinking about FF missiles. This might benefit VS as well.chuck_starchaser wrote:Hmmm... Okay. So, where would be the locking code? Is that python or c++? (Hope it's C++...).
Right now FF missiles aren't terribly useful. They do ackquire a new target while in flight, if the first is
destroyed before it gets to it; but that's not a terrible benefit for the loss of damage power.
What idea one of us came up with is to,
a) Make them work like in the original game, where you could fire them while facing away from your target; or even
fire them without a target and let them pick one; and
b) Make them smarter: Have them prioritize targets by current damage points, AND include sub-units in their
priority list, so that if there's a damaged bogey they might pick that one and finish it; and otherwise, if there's only a
capship around, they might target a turret or other sub-system.
Latest version of Cinemut Opaque
Latest version of LaGrande noodleworks (scroll down).
An evolving La Grande How-To...
The non-working, but latest, CineMut test_bike
PU (Privateer: Parallel Universe's Home). WC or Privateer Drayman for you?
WCpedia --The Wing Commander Encyclopedia-- From Angel Deveraux through Belisarius to Zachary Banfeld...
WC Nexus forum, the Moonbase Tycho of WC fans.
Latest version of LaGrande noodleworks (scroll down).
An evolving La Grande How-To...
The non-working, but latest, CineMut test_bike
PU (Privateer: Parallel Universe's Home). WC or Privateer Drayman for you?
WCpedia --The Wing Commander Encyclopedia-- From Angel Deveraux through Belisarius to Zachary Banfeld...
WC Nexus forum, the Moonbase Tycho of WC fans.
-
- Elite
- Posts: 8014
- Joined: Fri Sep 05, 2003 4:03 am
- Location: Montreal
- Contact:
Code: Select all
void FF_missile_AI()
{
static target_t *target = 0;
while( 1 )
{
//if missile doesn't have a target yet; or target was destroyed
if( target == 0 || target->segfaults() ) //:-)
{
//select a new target
float lowest_hit_points = 77777777.77f;
for( size_t i = 0; i < 777; ++i )
{
target_t *t = pick_any_ship();
if( t == 0 ) break; //who says there ought to be 777 ships around?
//if it's an enemy, and is within range given remaining fuel,
if( faction_relation(t->faction()) < 0.0 && t->range() < current_range(fuel) )
{
//if it's the weakest target found yet
if( t->hit_points_remaining() < lowest_hit_points )
{
//tentatively make it the new target and update max wakness
target = t;
lowest_hit_points = t->hit_points_remaining();
}
//get the target's sub-units too, for good measure:
target_t *s;
while( s = t->get_next_subunit() )
{
if( s->hit_points_remaining() < lowest_hit_points )
{
target = s;
lowest_hit_points = s->hit_points_remaining();
}
}
}
}
}
//assuming without assuming we have a target now...
if( target )
{
if( target.range() < threshold )
boom();
else
fly_towards( target );
}
}
}
Latest version of Cinemut Opaque
Latest version of LaGrande noodleworks (scroll down).
An evolving La Grande How-To...
The non-working, but latest, CineMut test_bike
PU (Privateer: Parallel Universe's Home). WC or Privateer Drayman for you?
WCpedia --The Wing Commander Encyclopedia-- From Angel Deveraux through Belisarius to Zachary Banfeld...
WC Nexus forum, the Moonbase Tycho of WC fans.
Latest version of LaGrande noodleworks (scroll down).
An evolving La Grande How-To...
The non-working, but latest, CineMut test_bike
PU (Privateer: Parallel Universe's Home). WC or Privateer Drayman for you?
WCpedia --The Wing Commander Encyclopedia-- From Angel Deveraux through Belisarius to Zachary Banfeld...
WC Nexus forum, the Moonbase Tycho of WC fans.
-
- Elite
- Posts: 8014
- Joined: Fri Sep 05, 2003 4:03 am
- Location: Montreal
- Contact:
Beta 2:
Code: Select all
void FF_missile_AI() //to be called at each physics frame, atom, whatever
{
static target_t *target;
//if missile doesn't have a target yet; or target was destroyed
if( target == 0 || target->segfaults() ) //:-)
{
//select a new target
float lowest_hit_points = 77777777.77f;
for( size_t i = 0; i < 777; ++i )
{
target_t *t = pick_any_ship();
if( t == 0 ) break; //who says there ought to be 777 ships around?
//if it's an enemy, and is within range given remaining fuel,
if( faction_relation(t->faction()) < 0.0 && t->range() < current_range(fuel) )
{
//if it's the weakest target found yet
if( t->hit_points_remaining() < lowest_hit_points )
{
//tentatively make it the new target and update max wakness
target = t;
lowest_hit_points = t->hit_points_remaining();
}
//get the target's sub-units too, for good measure:
target_t *s;
while( s = t->get_next_subunit() )
{
if( s->hit_points_remaining() < lowest_hit_points )
{
target = s;
lowest_hit_points = s->hit_points_remaining();
}
}
}
}
}
//assuming without assuming we have a target now...
if( target )
{
if( target.range() < threshold )
boom();
else
fly_towards( target );
}
}
Latest version of Cinemut Opaque
Latest version of LaGrande noodleworks (scroll down).
An evolving La Grande How-To...
The non-working, but latest, CineMut test_bike
PU (Privateer: Parallel Universe's Home). WC or Privateer Drayman for you?
WCpedia --The Wing Commander Encyclopedia-- From Angel Deveraux through Belisarius to Zachary Banfeld...
WC Nexus forum, the Moonbase Tycho of WC fans.
Latest version of LaGrande noodleworks (scroll down).
An evolving La Grande How-To...
The non-working, but latest, CineMut test_bike
PU (Privateer: Parallel Universe's Home). WC or Privateer Drayman for you?
WCpedia --The Wing Commander Encyclopedia-- From Angel Deveraux through Belisarius to Zachary Banfeld...
WC Nexus forum, the Moonbase Tycho of WC fans.