ZeroK-RTS / Zero-K

Open source RTS game running on the Spring/Recoil engine
https://zero-k.info
GNU General Public License v2.0
676 stars 203 forks source link

Make Hercules multi-unit #1782

Open GoogleFrog opened 7 years ago

GoogleFrog commented 7 years ago

Hercules would be better as a multi-unit transport. It would have some mass limit and be able to carry units up to that limit (since we lack any tier structure with which to make a straightforward system). Anyone can try this if they have time.

There are probably engine tags which claim to implement this behaviour. Do not trust them. Transports do not work by default without some hax in gadgets or LUS. I have high standards for transport functionality to the majority of this ticket will be in working around issues to make it work.

aeonios commented 7 years ago

I think you'd have to use mass and max unit count, otherwise detri would be untransportable, or else it'd be able to carry a whole army. Or else use a slot system like starcraft transports.

GoogleFrog commented 7 years ago

Detriment is about 2700, Grizzly 700 and Glaive 70. Perhaps you could add 300 to the mass of every unit for transportability and set the limit at 3000. Or square root mass again. Or set the limit at a much lower mass with the exception that transporting a lone unit ignores the mass restriction. These are all just ideas I had, the ticket involves finding and implementing a good one. If you want a slot system you'll have to solve the problem of fitting a smooth list of masses into integer slots.

Realistically, the exact system will be chosen by whoever implements it. I think we've all got some fuzzy shared requirement about not breaking suspension of disbelief regarding how many things can fit in one space. So four Grizzlies or 50 Glaives would be too much. I also dislike large jumps. You shouldn't be able to transport twice as many Glaives as you can Bandits as they are of a similar size and mass.

Aquanim commented 7 years ago

The simplest thing I can think of is for a Vindicator to transport either (a) X units, all of which are individually light enough to be transported by a Valkyrie (4 seems reasonable, 6 I'm not sure about) (b) a single unit of any size

Tying the capabilities of Vindicator and Valkyrie together seems easiest to remember for the player.

Histidine91 commented 7 years ago

In my fantasy world, the one-to-X relationship of transporter to transportee is abolished and instead transports have "tractor beams" which they pool to haul larger loads.

e.g. two Valkyries could not lift two Grizzlies, but five of them working together could. And if your cart isn't going fast enough (whatever the load composition), add more draft animals.

This means we don't have to worry about balancing transport capacities for a range of units ranging in cost from 20 (Flea) to 24,000 (Detriment) with only two transport units to cover that range. (No other RTS has to deal with a four-orders-of-magnitude difference between the smallest and largest transportees). Also, not having to see Vindicator lift something 15 times its size by itself would be nice.

aeonios commented 7 years ago

In my fantasy world, the one-to-X relationship of transporter to transportee is abolished and instead transports have "tractor beams" which they pool to haul larger loads.

e.g. two Valkyries could not lift two Grizzlies, but five of them working together could. And if your cart isn't going fast enough (whatever the load composition), add more draft animals.

This means we don't have to worry about balancing transport capacities for a range of units ranging in cost from 20 (Flea) to 24,000 (Detriment) with only two transport units to cover that range. (No other RTS has to deal with a four-orders-of-magnitude difference between the smallest and largest transportees). Also, not having to see Vindicator lift something 15 times its size by itself would be nice.

That's certainly possible but not without a host of potential issues and abuses, given that what you're describing is basically a flying sumo with attract-only grav guns. In order to be able to team-lift things, it'd need to have enough grav gun range not to need to land to pick stuff up, which would inevitably make it possible to use them to throw things around like a flying newton ramp, or to create a flying com-hurling device to use against enemies.

You could make it strictly target friendlies only, but then there's no more com napping and it's still a nightmare griefing weapon for trolls looking to screw their own team over (although lifting friendlies for legitimate purposes would be easier). Maintaining the current logic of 'transports slow down when heavily loaded' would also be more difficult, if it's even possible with the current engine.

GoogleFrog commented 7 years ago

KR is not talking about an implementation. He just used "tractor beams" as fluff. It is entirely possible to have a transport-pool system which maintains the current behaviour.

Licho1 commented 7 years ago

I like fantasy of KR. Because it gives more options, you could just send 10 vindis to carry your detriment faster and safer.. sounds great to me... Power up the tractor beams!

Oflameo commented 5 years ago

This may apply to Reef as well. It is an aircraft carrier that only caries 2 aircraft. Our puny Earth tech can carry 10s of aircraft.

Anarchid commented 5 years ago

Reef manufactures infinite aircraft out of air and sunlight. Also, carriers don't need any new tech or UI to support more pads; just a model.

Sgathec commented 5 years ago

Why do pads repair planes so slowly?

Post edited: Sorry, that was off-topic. The text below is appropriate for the ticket.

How about making the GUI similar to that of the Missile Silo? You would be able to select all carried units one by one or through an area selection. All or nearly all unit commands would be replaced by "Unload". Ordering the carrier to Unload would unload everything.