endless-sky / endless-sky

Space exploration, trading, and combat game.
https://endless-sky.github.io/
GNU General Public License v3.0
5.83k stars 1.03k forks source link

Small launchers/low-capacity missile racks #3372

Closed Pointedstick closed 3 years ago

Pointedstick commented 6 years ago

Right now fighter-sized craft generally mount a small-ish missile launcher of some type. But really big missiles like Heavy Rockets and Torpedoes require really big launchers, making those types of weapons unavailable to small ships and especially fighters, which historically have existed primarily as delivery platforms for large bombs and missiles in the first place.

I'd like to propose very small gun hardpoint launchers that can only hold 3 or 4 missiles, like today's missile pylons:

smart-launcher

a pylon loaded with agm-86b air launched cruise missiles aclms is positioned under the wing of a 379th bombardment wing b-52 stratofortress aircraft

jdam_gbu30_mer

This would dovetail especially well with https://github.com/endless-sky/endless-sky/pull/3350, which increases the number of gun hardpoints available to fighter-sized craft: you could give your fighters two blasters or lasers, one Meteor Missile launcher, and the capacity to fire 3 or 4 Torpedoes or Heavy Rockets via a small pylon launcher.

solardawning commented 6 years ago

Could be done in an interesting manner by making new fighter/drone anti-capital torpedoes that are used in this manner, and allowing them to automatically reload on docking with a mothership that has spares stored in an ammo container. Imagine an auto docking and launch behavior that occurs if all their hardpoints were one shot ammunition, and have been used.

tehhowch commented 6 years ago

Auto-docking for reload of conventional ammo is handled in #1971 (which needs a little attention), but for outfits which fire themselves the logic is not so simple (currently). Once the weapon is fired, the ship has no way of knowing it had that outfit, or that it could use that outfit, since the reference to the outfit vanished with it. https://github.com/endless-sky/endless-sky/blob/224e62f563a55fc57e20b2e851a945836378bd0f/source/Ship.cpp#L2542-L2547 https://github.com/endless-sky/endless-sky/blob/224e62f563a55fc57e20b2e851a945836378bd0f/source/Ship.cpp#L2474-L2497

solardawning commented 6 years ago

Pointedstick, you could probably make it work with the existing code by making new launcher weapons which have a small outfit space requirement and an ammo capacity of 1, and making the storage racks for that ammunition be much larger, so that it cannot reasonably be mounted on a fighter/drone. That way you could test out something like anti-capital torpedoes launched from fighters, which then dock to reload from a mothership with ammo racks.

Pointedstick commented 6 years ago

Yes, I was just thinking about that, in fact! I might put together a PR later this week to implement it.

Pointedstick commented 6 years ago

Playing with a prototype on my fighters, it's a real pain in the butt to restock, because the outfits count as launchers, not ammo, so the game doesn't prompt you to reload when visiting the outfitter.

I'm trying an alternative approach of making small launcher outfits ("Rocket Pylon") that can hold 2 or 3 missiles apiece. This works around that problem, but another one rears its head: it's possible to buy ammo storage outfits--which are quite small--to boost capacity back up to levels that are unrealistic and overpowered for fighter-sized craft.

tehhowch commented 6 years ago

Some method of tracking i-am-my-ammunition outfits, to facilitate the automated restocking, would certainly be nice.

At the same time, I'm sure people would prefer not seeing a restock bill in the tens of millions when the outfitter prompts to restock their nuclear arsenal :grin:

Pointedstick commented 6 years ago

[Showerthoughts incoming]

Small launchers would work if the ammo storage outfits took up weapon space and were increased in size and capacity to prevent the combination of a small launcher + ammo boxes from being better than standalone large launchers. For example two rocket racks are 14 tons and hold the same number of rockets as a 20-ton launcher; unless the two-rocket pylon launcher was 7 tons or more, it would make more sense to buy the smaller launchers plus storage than it would the larger launchers in the first place. But 7 tons for a pylon that only holds two rockets seems like a really lousy deal.

It feels like I'm being led towards re-implementing https://github.com/endless-sky/endless-sky/pull/3283 in a different way. I still feel the small-launchers-large-storage approach makes the most sense for this game.

endless-sky commented 6 years ago

I'd prefer not to create a situation where anyone who wants to use a secondary weapon system in anything but a tiny ship has to buy a launcher plus ammo plus some number of ammo racks. People already get confused enough with the distinction between the ammo and the launcher.

It might be reasonable to have smaller launchers for sale in pirate systems or something as long as a small launcher plus ammo expansions is less space-efficient than the normal launcher. But I wouldn't want a player at a "normal" outfitter to be faced with a confusing decision between two different kinds of launchers for each ammo.

Pointedstick commented 6 years ago

Then it seems like we're stuck:

There's always a reason not to change anything, but in this case, I feel like I've made a variety of pretty good cases for how to change missile launchers, and it seems like most folks agree that the status quo has problems of its own.

Also it's hard for me to imagine someone getting confused about the difference between a launcher and its ammo, unless we're talking about young kids here. I remember myself once being a kid playing advanced video games and having no idea how to do a lot of things, culminating in the embarrassment of once getting stuck in Fallout because I never figured out that you could change the cursor by right-clicking. But that wasn't really the game's fault; I just had a tiny, underdeveloped brain--and something like the distinction between a missile launcher and the missiles it fires seems even more elementary.

jafdy commented 6 years ago

Giving it a description that says something like This very small launcher can only fit a single missile before being reloaded making it useless on anything larger than a fighter. seems like it could work. I always remember putting far to much faith in the descriptions of things so I would see that and then never put it on anything larger than a fighter.

Pointedstick commented 6 years ago

Yep, in the branch I'm working on and testing, my small launchers all have text like that.

Alternatively, if we did https://github.com/endless-sky/endless-sky/pull/3283, it would be a simple matter to have every launcher description mention that storage was required to boost capacity beyond what a fighter would carry.

Amazinite commented 6 years ago

3283 seems too drastic a change to me, I think that mini-launchers purpose built for smaller ships is a much better alternative to shrinking launcher sizes and forcing players to install storage units if they want to be in any way serious with their missile use. Even with mini-launchers I'm iffy though, as in their current state, buying mini-launchers would be useless. Perhaps I would be more on board if we went through with what MZ said in this comment: https://github.com/endless-sky/endless-sky/issues/3268#issuecomment-346879302 (halving RPS and doubling damage to keep DPS the same but make each individual missile more dangerous). This would make mini-launchers actually something worth considering, as they could have a high power density but low reuse value before needing to reload and still end up being potent weapons, at least for the beginning of a battle. Heck, maybe we should even quadruple damage and fourth RPS (and most definitely merge #3294), then a fighter carrying only 6 missiles would really be something to worry about.

(If we did that, I can imagine we could also make these mini-launchers have the same damage as their larger counterparts but faster fire rates in order for them to just wreck havoc early on, but that'd probably be a problem with mini-launchers being installed on larger ships with more ammo. Perhaps we could use some burst fire mechanics to stop that from happening. i.e. have the reload set to some high number, but the burst count = capacity and burst reload = actual fire rate. This means that once you're out of ammo "in the launcher," you'd need to leave the system in order to reload. It would look weird in the outfitter but it would work fine in practice. I'm sure we'd want to avoid having mini-launchers look strange in the outfitter, though.)

Pointedstick commented 6 years ago

I largely agree with everything you've said, @Amazinite. I'm going to continue making mini-launchers and I'll have a PR ready in a couple of days, hopefully. Same damage but faster fire rates is actually something I'm already doing for them, so obviously it's a downright genius idea :nerd_face:

All of this will become really interesting once fighters can re-arm on their carriers, as this will actually make fighters better at something than hyperdrive-capable interceptors with the exact same weapon loadout.

Amazinite commented 6 years ago

How are you going to deal with the situation of non-fighters using mini-launchers with higher fire rates and therefore higher DPS but without the ammo limitation given the fact that they can use storage outfits?

Pointedstick commented 6 years ago

To be honest, I haven't yet come up with a bulletproof solution to that issue. Higher reload speed might not be necessary anyway if we quadruple damage and quarter the reload times. Just picture it: fighters would streak towards their target, loose a volley of frighteningly powerful missiles, follow up with guns while the launchers reload, then turn around and do it again until they fly back to the mothership to reload once empty. Not only is that more realistic, it sounds really, really fun and awesome.

Pointedstick commented 6 years ago

But regardless of how we implement that, I still feel like https://github.com/endless-sky/endless-sky/pull/3283 or a tweaked version is the right path forward:

Pointedstick commented 6 years ago

I keep trying but I just can't make separate mini-launchers work without increasing ammo boxes' sizes to prevent excessive fighter missile capacity. And if I do that, I've essentially re-done https://github.com/endless-sky/endless-sky/pull/3283 with more complication. It's not a win. The only way around that would be to make the ammo storage outfits not reload the small launchers, but that seems like it would be even more confusing, and require code changes.

Hardpoint-mounted individual missiles still seems like it could work if missiles were better. But right now, it's just not worth it, even with heavy rockets and lots of extra gun hardpoints.

Lineth commented 6 years ago

3283 honestly does sound like the best way to go about this. The mini-launchers is just the same thing but more convoluted and confusing. Especially if missiles double to quadruple in damage and reload times (which I heavily think they should, plus the hit force buff).

Amazinite commented 6 years ago

@Pointedstick I've thought about giving launchers a capacity-like attribute that allows the installation of storage outfits, which means that no launcher means no storage outfits, and mini-launchers would not have this attribute and therefore would be unable to increase their capacities. The only problem with this is that it forces a carrier to install the same launcher that its fighters are using if you want to use the carrier to reload the fighters.

Pointedstick commented 6 years ago

@Amazinite I brought that up above. That approach requires code changes, introduces a potentially confusing new game mechanic, and requires the addition of new launchers with new art assets. https://github.com/endless-sky/endless-sky/pull/3283 is overall a much simpler way to implement this.

Tadrix commented 6 years ago

The only problem with this is that it forces a carrier to install the same launcher that its fighters are using if you want to use the carrier to reload the fighters.

Why fighters, while docked, couldn't bypass this limitation? It's not like they are fighting at the time. But reload could take some time.

Besides, modern fighters tend to carry not 2–4, but pretty decent number of missiles (an example), and tend to have wide selection of them.

For game purposes I'm thinking about two hardpoints with 10–16 Sidewinder missiles total (5–8 per pod or rack; other missile types vary accordingly) or 6 Korath mines (3 per mine launcher), or a single payload bay (taking around 12 weapon space) with 10 Thunderheads or 8 heavy missiles or 4 torpedoes or 2 Typhoons or 2 Finishers per fighter.

Pointedstick commented 6 years ago

For game purposes I'm thinking about two hardpoints with 10–16 Sidewinder missiles total (5–8 per pod or rack; other missile types vary accordingly)

That's exactly what I implemented in https://github.com/endless-sky/endless-sky/pull/3283 :slightly_smiling_face: . Sidewinder capacity becomes 5 per launcher; two launchers means 10 missiles. Launchers for bigger missiles hold fewer; launchers for smaller missiles hold more.

Tadrix commented 6 years ago

By the way, there could be a special missile secondary weapon for fighters. Takes one gun slot, contains several missiles, not reusable (you can't even buy its ammo separately), expendable. Meaning, when last missile is spent, the outfit is gone (like the nuke in this regard), its casing jettisoned. To replenish, buy a new one from outfitter.

Pointedstick commented 6 years ago

That would require code changes, introduce a new game mechanic that could confuse people, and not really offer anything (IMHO) over the fairly simple approach outlined in https://github.com/endless-sky/endless-sky/pull/3283.

Pointedstick commented 5 years ago

So right now we have most fighters mounting a single missile launcher--generally a Meteor launcher, but a few have Sidewinders. It works pretty well. The only thing I think is still applicable here is to somehow allow small fighters to additionally carry a small payload of larger missiles without having to mount a huge launcher. Like a rack of four heavy rockets or torpedoes that takes up 5 tons of weapon space but is unable to increase its ammunition capacity from the ammo containers. This would work well if the PR to increase fighter gun ports (https://github.com/endless-sky/endless-sky/pull/3350) gets merged.

It would probably also require some AI improvements to so that fighters could be a bit more discriminating regarding which targets they choose for their missiles, or else you'd see them firing torpedoes at other fighters.

TheMarksman-ES commented 5 years ago

Like a rack of four heavy rockets or torpedoes that takes up 5 tons of weapon space but is unable to increase its ammunition capacity from the ammo containers. This would work well if the PR to increase fighter gun ports (#3350) gets merged.

Instead of just using existing racks of rockets and/or torpedoes, it might also be good to add new types of anti-capital ship to bolster fighter weaponry.

Amazinite commented 4 years ago

Ref: #4392 give certain fighters built-in launchers? Such launchers could be unique outfits, i.e. designed for that fighter, meaning we'd avoid the previously mentioned potential issue of installing high DPS fighter launchers on larger ships. Or does that do too much to remove customization?

Zitchas commented 4 years ago

Is there any real problem with having both small launchers and large launchers that use the same ammo? I really don't think that will be confusing. (As far as that goes, I rather liked the "small launcher + racks" method suggested by PointedStick. I feel confident that most people should be able to figure out that concept.

Amazinite commented 4 years ago

My idea was to make some distinction between small launchers and large launchers other than just capacity and size. Otherwise small launchers would either be entirely useless, or fighters would need to be changed to accommodate them, likely be increasing their gun ports (ref: #3264). No reason why we couldn't test that out though; I've created the Combat Test milestone (and soon will be creating a Combat Test branch or set of branches) to start getting real experimental with a lot of the combat based balance ideas that have been floating around over the years. Time to start plucking those ideas out of the air.

Zitchas commented 4 years ago

Even if they are only intended for fighters, I could see people employing them on interceptors or for limited use applications. For instance, not everyone wants to be able to do a barrage of EMPs (I find them more of a hazard than a help once melee starts), but having one or two used while closing could be very useful. But taking up all that space for the launcher for just a couple missiles is a waste. I would happily sacrifice 75% of the capacity of most launchers in exchange for a 65% reduction in outfit space.

Pointedstick commented 4 years ago

I still think my original idea of making all the launchers smaller with reduced capacity was the best. It was simple, allowed for the idea here in an elegant way, didn't require any new outfits. The only real objection made to this was that it could be confusing for players to have to figure out that they need to buy additional outfits to increase their missile capacity. But I think it would be equally confusing to teach players about fighters with built-in weapons, the differences between large and small launchers (particularly if the small launchers are somehow made unable to benefit from the capacity boosting outfits) or hardpoint-mounted missiles (other than nukes of course, but those are much later in the game from the point where a new player can get confused). The missile capacity outfits are pretty common and obvious, I think--and could be made even more obvious with clearer text.

Basically I would just bring back https://github.com/endless-sky/endless-sky/pull/3283 and also edit the launcher and ammo box descriptions to make it even clearer how to get more missile capacity, as I originally did in https://github.com/endless-sky/endless-sky/pull/3275/.

Zitchas commented 4 years ago

I'm completely in support of that. I think the idea of "launcher launches things, clips/containers/racks hold stuff" is pretty straight forward - and already exists in-game. It is just a matter of adjusting values.

Pointedstick commented 4 years ago

Yeah. I don't have much time for Endless Sky anymore though, sadly. Feel free to take over if you want to push the idea forward.

Brick63 commented 4 years ago

I actually made a smaller launcer intended for the navy, specifically combat drones and lances, and i basically only need stats for it, i think @Amazinite had something for it at one point barrage icon@2x barrage launcher@2x barrage sprite@2x barrage storage@2x

Pointedstick commented 4 years ago

That second one looks like some kind of "Missile factory" or "Drone swarm factory" outfit!

Brick63 commented 4 years ago

It's the storage outfit for the Barrage launcher

Maddremor commented 4 years ago

Would it be practical to add a very slow fire rate (if one small launcher has a single missile) or a small magazine with a very long reload time (for outfits with several missiles launched in rapid succession)? This would simulate the downsides with a simple pylon, compared to larger launchers with auto-loaders, as reloading essentially entails attaching a new missile on the hull. This is something that a fighter pilot is unlikely to manage in timely fashion, but it's still useful for an alpha strike with a fighter, or a vessel that is strapped for weapon space, but has some mounting points to spare.

Pointedstick commented 3 years ago

Implemented with https://github.com/endless-sky/endless-sky/pull/5793.