Rocket Pods as weapon banks?

klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: Rocket Pods as weapon banks?

Post by klauss »

Deus Siddis wrote:
klauss wrote: In essence, and here's the gist: subunits own definition is that they must have their own behavior. Since subunits inherit AI and lots of other unit traits, it only makes sense to instance them when all that behavior matters.
Here's the thing though-- you only really want AI for point defense turrets. Your main guns, the ones you are going to use against craft of similar size to your own, you want full direct fire control over, it doesn't matter if they are in fixed mounts, tracking mounts or turrets.
No, not really. You have PD, but you also have flak, anti-fighters, and even for capships, you may want to attack several targets at once, meaning you designate targets. In any case, turrets have rather autonomous behavior: they shot at what you tell them to.
Deus Siddis wrote:And you want the main guns to draw from your main capacitor and reactor, tap into your main ships sensors, rely on the ship wide shields for protection not their own, etc.
Yes, this is one case where you don't want default unit behavior.
Deus Siddis wrote:You want them to be as integrated a part of the ship as any other, that just aims your guns for you, like tracker mounts do.
But there's a subtle but important difference: autotrackers aim your target. And shoot when you trigger them, not at their independent discretion. Subunits (and turrets) aim at their target, and trigger on their own. That's AI.
Deus Siddis wrote:And while cockpits are a nice-to-have for manually operating one of the main gun turrets at a time, it is much more important to have more direct control over all of them at once, from your main cockpit where you can also fly your ship.
Indeed.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
Deus Siddis
Elite
Elite
Posts: 1363
Joined: Sat Aug 04, 2007 3:42 pm

Re: Rocket Pods as weapon banks?

Post by Deus Siddis »

Well put another way, you have two typical cases that reward vastly different approaches:

1) Large, slow, few, very visible opponents.
2) Small, fast, numerous, hard-to-pick-out opponents.

In case 1, you want as much direct control because the target is obvious, particularly dangerous, and significantly damaging it is going to draw a lot from your energy and/or ammo reserves. Handling this is too big and too fun of a job to delegate to an AI.

All ships deal with case 1, it is simply a matter of the relative size of the opponent(s). But not all ships use forward mounts to deal with case 1, the larger ones tend to use turrets and with the current scheme this makes those ships undesirable for the player because of the limited control you have over subunit based weapons. This is made worse slowness of most turret-focused ships, so you find yourself with very little to do between making tedious maneuvers and handing out the occasional order to turret AIs running the main weapons for you.

Now in case 2, basically every point you made applies. You want weapons to pick out targets on their own. You want weapons to attack multiple targets simultaneously. It doesn't matter if you are a fighter dealing with missiles or a capital dealing with fighters (and also missiles), the autonomous approach is what you want in this case.

So what we might need here is two types of turrets. The big ones that work quite a lot like your proposal for revised auto-trackers and then the existing one for small autonomous turrets that handle the fly-swatting for you.
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: Rocket Pods as weapon banks?

Post by klauss »

Deus Siddis wrote:So what we might need here is two types of turrets. The big ones that work quite a lot like your proposal for revised auto-trackers and then the existing one for small autonomous turrets that handle the fly-swatting for you.
Exactly
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
TBeholder
Elite Venturer
Elite Venturer
Posts: 753
Joined: Sat Apr 15, 2006 2:40 am
Location: chthonic safety

Re: Rocket Pods as weapon banks?

Post by TBeholder »

klauss wrote: Auto-tracking mountpoints, on the other hand...
Think about it. You don't want AI on those. You don't want cockpits on those. You don't want any of the things that make turrets map well to subunits.
Obviously.
klauss wrote: IF (and I stress the if) animatable mountpoints were to grow to the functionality level required by turrets... then maybe (maybe) turrets could be implemented as such. I'm not sure though... I thought so earlier, but after thinking it through, turrets really use all the power of subunits.
I'm purely with OOP thinking here - it follows from "modular ships" overhaul. There are clear sets of properties and methods certain objects need and others don't. Not counting special cases, there seems to be 4 main categories. A ship component: <Part> (basic physics/type&functionality/connections/graphics) + <special functionality> (like weapon info for mounts). Ship: <Part> ("summary" body and stats from all parts and recalculated only by certain events) + <Navigation> (it's present in the system space and can be detected there on its own, is orbiting or traveling, etc) + <Tactical> (it got its own allegiance, can suffer collisions, has shield and armor sectors - though this may be resolved differently - etc) + <controls> (cockpit/AI, can target on its own). Asteroid or salvage: <Part> (which may have parts or subunits attached!) + <Navigation> - no control, it's just orbiting here. A turret: <Part> + <controls> + <Tactical> - no ballistic/travel support, refer back to whatever it's attached to (no related bugs, either). So, whether we'll call them "4-1" or "1+2", it's still makes 3. ;)
Deus Siddis wrote: Here's the thing though-- you only really want AI for point defense turrets. Your main guns, the ones you are going to use against craft of similar size to your own, you want full direct fire control over, it doesn't matter if they are in fixed mounts, tracking mounts or turrets. [...] And while cockpits are a nice-to-have for manually operating one of the main gun turrets at a time, it is much more important to have more direct control over all of them at once, from your main cockpit where you can also fly your ship.
You want them to shoot what you want and not them. Yet it's somewhat possible if there's only one of them - you can't steer the ship and shoot targets in different sectors, and probably don't want all the uncontrolled ones to sit and wait while you're under attack. So... TurretAIOn + TurretTargetKey?
More in the discussion of that ticket.
Deus Siddis wrote: And you want the main guns to draw from your main capacitor and reactor, tap into your main ships sensors, rely on the ship wide shields for protection not their own, etc. You want them to be as integrated a part of the ship as any other, that just aims your guns for you, like tracker mounts do.
The shield issue is just cutting wrong corners on collisions. IMO if it's under the main shield, be it a turret or undocking ship, it must be protected by it, and if it's not, it's naked unless have its own, as simple as this.
And why would you want all PD turrets each to have their own reactor, but all big gun turrets not? I'm a bit puzzled.

The question of turrets and radars is more complex than this. Shouldn't all turrets be able to heed the ship's firing control and radars with big antennae and ECCM? But they should be able to maintain target lock on their own, of course, because the ship got its own target(s) to deal with. Detection, recognition and precise tracking are different things... The same is connected to the issue of group targetting, of course. But it's about sensor overhaul.
"Two Eyes Good, Eleven Eyes Better." -Michele Carter
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: Rocket Pods as weapon banks?

Post by klauss »

TBeholder wrote:
klauss wrote: IF (and I stress the if) animatable mountpoints were to grow to the functionality level required by turrets... then maybe (maybe) turrets could be implemented as such. I'm not sure though... I thought so earlier, but after thinking it through, turrets really use all the power of subunits.
I'm purely with OOP thinking here - it follows from "modular ships" overhaul. There are clear sets of properties and methods certain objects need and others don't. Not counting special cases, there seems to be 4 main categories. A ship component: <Part> (basic physics/type&functionality/connections/graphics) + <special functionality> (like weapon info for mounts). Ship: <Part> ("summary" body and stats from all parts and recalculated only by certain events) + <Navigation> (it's present in the system space and can be detected there on its own, is orbiting or traveling, etc) + <Tactical> (it got its own allegiance, can suffer collisions, has shield and armor sectors - though this may be resolved differently - etc) + <controls> (cockpit/AI, can target on its own). Asteroid or salvage: <Part> (which may have parts or subunits attached!) + <Navigation> - no control, it's just orbiting here. A turret: <Part> + <controls> + <Tactical> - no ballistic/travel support, refer back to whatever it's attached to (no related bugs, either). So, whether we'll call them "4-1" or "1+2", it's still makes 3. ;)
Maybe if you were designing the game from scratch. But we have an existing code base that works nothing like that. It's not practical to think about the problem in terms that are so wildly different from the engine.

The engine state is that, everything is a unit, a full-fledged unit. The framework in place to distinguish among all unit types is rather limited, so you cannot think of turrets as a simplified type of unit, and it's a core engine assumption so you can't easily get rid of it.

So, if you want special ship parts, you make them part of a unit. And all units have parts, even simple ones. That kind of uniformity is at the core of the VS engine, and you can't get rid of it.

AIs are attached to units. That's another core assumption, sprinkled all over AI code. You cannot change this quickly. You cannot attach AIs to "turrets", no matter how much sense that may seem to make.
TBeholder wrote: The question of turrets and radars is more complex than this. Shouldn't all turrets be able to heed the ship's firing control and radars with big antennae and ECCM? But they should be able to maintain target lock on their own, of course, because the ship got its own target(s) to deal with.
Of course on both. It's simple. Sub-units should talk to their parent unit for targetting. In fact, units in general should talk to their flightgroup as well.

Lets call them "group members" (a sub-unit is part of its parent group, a unit is part of a flight group). Units should be able to target units their group has visibility of, with all the caveats implied (ie: upgrade-provided functionality, precision and tracking speed issues, etc...)

Obviously, this should be part of a future sensor overhaul.

These kinds of connections should also be possible among other aspects, like energy and ammo.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
Deus Siddis
Elite
Elite
Posts: 1363
Joined: Sat Aug 04, 2007 3:42 pm

Re: Rocket Pods as weapon banks?

Post by Deus Siddis »

TBeholder wrote: You want them to shoot what you want and not them. Yet it's somewhat possible if there's only one of them - you can't steer the ship and shoot targets in different sectors, and probably don't want all the uncontrolled ones to sit and wait while you're under attack. So... TurretAIOn + TurretTargetKey?
More in the discussion of that ticket.
You are assuming the status quo where main turrets never run dry the main capacitor or run out of ammunition or even miss, which is just a temporary balance oversight. When that is corrected, there will be more to shooting turrets than aiming directly at the target and holding down fire until it is dead. Then, letting the AI run amok, wasting all your ammo and power as it sees fit, not anticipating dynamically moving targets, not holding fire until optimum range and relative vector (as determined subjectively per the current situation), will put you at a disadvantage. Because when firing your turrets actually costs you something, it becomes vital to apply your firepower intelligently rather than continuously.
TBeholder wrote: And why would you want all PD turrets each to have their own reactor, but all big gun turrets not? I'm a bit puzzled.
I never said PDs should have their own reactors; they draw so little power it doesn't really matter either way.
Deus Siddis
Elite
Elite
Posts: 1363
Joined: Sat Aug 04, 2007 3:42 pm

Re: Rocket Pods as weapon banks?

Post by Deus Siddis »

klauss wrote:
Deus Siddis wrote:So what we might need here is two types of turrets. The big ones that work quite a lot like your proposal for revised auto-trackers and then the existing one for small autonomous turrets that handle the fly-swatting for you.
Exactly
So then perhaps ticket #45 should be erased and replaced by something for Revised Auto Trackers and Main Turrets. There is no need to hack direct fire control into subunit turrets if you get everything you want from an improved implementation of tracking mounts that simulate physical (i.e. non-instantaneous) aiming and have visibly rotating meshes to depict such aiming.

I think the only additional features direct control turrets would need is support for two part visuals (one model for the turret base and one for the gun(s)) and a fire control safety that kicks in when the player tries to shoot but the turret is more than x degrees off of the selected target (for when the turret is still in the process of rotating to the target).
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: Rocket Pods as weapon banks?

Post by klauss »

Deus Siddis wrote:
klauss wrote:
Deus Siddis wrote:So what we might need here is two types of turrets. The big ones that work quite a lot like your proposal for revised auto-trackers and then the existing one for small autonomous turrets that handle the fly-swatting for you.
Exactly
So then perhaps ticket #45 should be erased and replaced by something for Revised Auto Trackers and Main Turrets. There is no need to hack direct fire control into subunit turrets if you get everything you want from an improved implementation of tracking mounts that simulate physical (i.e. non-instantaneous) aiming and have visibly rotating meshes to depict such aiming.
No, no... I think there still is value in direct fire of turrets. At the very least, the value is in uniformity for the player (both autotrackers and turrets would be used pretty much the same, except turrets can be manned).
Deus Siddis wrote:I think the only additional features direct control turrets would need is support for two part visuals (one model for the turret base and one for the gun(s)) and a fire control safety that kicks in when the player tries to shoot but the turret is more than x degrees off of the selected target (for when the turret is still in the process of rotating to the target).
No, the real benefit is that they can be assigned an AI - ie manned - even if you not always do so.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
TBeholder
Elite Venturer
Elite Venturer
Posts: 753
Joined: Sat Apr 15, 2006 2:40 am
Location: chthonic safety

Re: Rocket Pods as weapon banks?

Post by TBeholder »

klauss wrote:
TBeholder wrote:
klauss wrote: IF (and I stress the if) animatable mountpoints were to grow to the functionality level required by turrets... then maybe (maybe) turrets could be implemented as such. I'm not sure though... I thought so earlier, but after thinking it through, turrets really use all the power of subunits.
I'm purely with OOP thinking here - it follows from "modular ships" overhaul. There are clear sets of properties and methods certain objects need and others don't. Not counting special cases, there seems to be 4 main categories. A ship component: <Part> (basic physics/type&functionality/connections/graphics) + <special functionality> (like weapon info for mounts). Ship: <Part> ("summary" body and stats from all parts and recalculated only by certain events) + <Navigation> (it's present in the system space and can be detected there on its own, is orbiting or traveling, etc) + <Tactical> (it got its own allegiance, can suffer collisions, has shield and armor sectors - though this may be resolved differently - etc) + <controls> (cockpit/AI, can target on its own). Asteroid or salvage: <Part> (which may have parts or subunits attached!) + <Navigation> - no control, it's just orbiting here. A turret: <Part> + <controls> + <Tactical> - no ballistic/travel support, refer back to whatever it's attached to (no related bugs, either). So, whether we'll call them "4-1" or "1+2", it's still makes 3. ;)
Maybe if you were designing the game from scratch. But we have an existing code base that works nothing like that.
It does. You insist on saying "4-1" and not "1+2", but it's still 3.
klauss wrote: It's not practical to think about the problem in terms that are so wildly different from the engine.
It's not very practical to think about tools before thinking about the problem to be solved with them, either. That's exactly what leads to spaghetti code, under which VS is half-buried by now. And all those horrid interfaces made by playing with "<Whatever GUI> Maker"... then again, we have it easy, spaghetti managed to kill D&D twice by now. :lol:
klauss wrote: The engine state is that, everything is a unit, a full-fledged unit. The framework in place to distinguish among all unit types is rather limited, so you cannot think of turrets as a simplified type of unit, and it's a core engine assumption so you can't easily get rid of it.
Yup, and every accessory needs overhead of a (sub)unit, and - which is much worse - a turret moving as 1+1 DoF instead of 2 (which is most of them) needs overhead of two subunits instead of one. We suffer this pointless waste only because right now nothing can move that isn't an unit/subunit.
But the moment we have proper modular support, we'll have all needed framework - it only needs addition of basic joint support to allow servo-mounts remain as close to normal mounts as possible, which is to say, exactly one joint structure away - all overhead is one field. For fixed mounts we have ".joint = NULL" and everything else is behind one straightforward field check in UpdatePhysics (there's "autotracking" branch in Mount::Fire that covers it well enough, we'll only need to copy some of this stuff into Mount::UpdatePhysics). For servo-capable, but not equipped mounts, one more plain check. Not bad, IMO.
It's possible to do with mounts as is, of course, this just will have to be subsumed by part/slot system overhaul - along with vectors, meshes, mountsize tags, etc.
Deus Siddis wrote:
TBeholder wrote: TurretAIOn + TurretTargetKey?
More in the discussion of that ticket.
You are assuming the status quo where main turrets never run dry the main capacitor or run out of ammunition or even miss
I assume that everything that needs to be known in realtime is available via HUD.
Deus Siddis wrote:When that is corrected, there will be more to shooting turrets than aiming directly at the target and holding down fire until it is dead. Then, letting the AI run amok, wasting all your ammo and power as it sees fit, not anticipating dynamically moving targets, not holding fire until optimum range and relative vector (as determined subjectively per the current situation), will put you at a disadvantage. Because when firing your turrets actually costs you something, it becomes vital to apply your firepower intelligently rather than continuously.
And how exactly from this follows inherent superiority of activating/deactivating exactly the same functions by holding down and releasing one button vs. pressing on and off buttons? I see only inconvenient interface here.
"Two Eyes Good, Eleven Eyes Better." -Michele Carter
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: Rocket Pods as weapon banks?

Post by klauss »

TBeholder wrote:
klauss wrote: The engine state is that, everything is a unit, a full-fledged unit. The framework in place to distinguish among all unit types is rather limited, so you cannot think of turrets as a simplified type of unit, and it's a core engine assumption so you can't easily get rid of it.
Yup, and every accessory needs overhead of a (sub)unit, and - which is much worse - a turret moving as 1+1 DoF instead of 2 (which is most of them) needs overhead of two subunits instead of one. We suffer this pointless waste only because right now nothing can move that isn't an unit/subunit.
But the moment we have proper modular support, we'll have all needed framework - it only needs addition of basic joint support to allow servo-mounts remain as close to normal mounts as possible, which is to say, exactly one joint structure away - all overhead is one field. For fixed mounts we have ".joint = NULL" and everything else is behind one straightforward field check in UpdatePhysics (there's "autotracking" branch in Mount::Fire that covers it well enough, we'll only need to copy some of this stuff into Mount::UpdatePhysics). For servo-capable, but not equipped mounts, one more plain check. Not bad, IMO.
You don't understand my point. It goes way beyond graphics. AI code assumes it's handling a unit. Physics code also assumes it's handling units. What little physics is there for other entities (beams and bolts) is specialized.

Sure, it's not what I would have done would I have designed it. But it's what it's there. If you want to change it, you have to rewrite VS. That's years of work for one. Not viable.

Progressive incremental improvements are viable. They require you to think within the limitations of the current engine (everything's a unit, lets add ONE improvement).
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
Deus Siddis
Elite
Elite
Posts: 1363
Joined: Sat Aug 04, 2007 3:42 pm

Re: Rocket Pods as weapon banks?

Post by Deus Siddis »

klauss wrote: No, no... I think there still is value in direct fire of turrets. At the very least, the value is in uniformity for the player (both autotrackers and turrets would be used pretty much the same, except turrets can be manned).
Tracker based turrets would give you direct fire control, but for multiple turrets at once. What you wouldn't have initially is a way to aim multiple or all the turrets (and/or trackers) at once, through direct aiming. But that could be a future feature, with the turrets aiming in the direction the player is "looking" with the manually controlled camera.

The only things tracker based turrets would lack would be AI and the ability to manually get into and control each turret from its own cockpit view (which is more of a gimmick than a useful feature). But that's what you have subunit based turrets for- AI (and cockpits).

The ultimate goal here is tracker based turrets for capital scale primary weapons designed to destroy other capital ships. Weapons that will drain the capital scale main capacitor after a few devastating salvos and then need considerable recharge time. So shots from these guns are rare and game changing and the timing of the shots can decide winners and losers because of a number of factors like range attenuation for beams, range and relative perpendicular velocity of the target relative to the exit velocity of guns, and ammo management for missiles (with capitals most missiles would be fired from turrets as well).

And then capitals also have numerous small subunit based turrets, whose AI primarily runs the show, autonomously picking out small numerous threats like missiles and fighters.
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: Rocket Pods as weapon banks?

Post by klauss »

Deus Siddis wrote: The only things tracker based turrets would lack would be AI and the ability to manually get into and control each turret from its own cockpit view (which is more of a gimmick than a useful feature). But that's what you have subunit based turrets for- AI (and cockpits).
Well, that's my point. As a modder, you choose X and Y turrets should be mannable, which means they should be subunits. Cool. As a user, you may want direct control from time to time, even of mannable turrets.

So, direct control you have already of tracker-based turrets, only subunit-based ones are missing, and that's why I say the feature still holds value.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
Post Reply