Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Manta thruster slot fix #86

Closed
wants to merge 2 commits into from

Conversation

TheGiraffe3
Copy link

@TheGiraffe3 TheGiraffe3 commented Oct 1, 2024

Bug fix

This PR addresses the bug/feature described in #85 (comment)

Summary

Added a thruster slot to the Manta.
Alternatively, we could have the Miner Manta specifically gain a thruster slot, but that doesn't make sense as a variant.
Or we could remove the extra engine.

@UnorderedSigh
Copy link

Removing the extra engine isn't an option. The mining manta needs to be faster to keep up with asteroids.

I'd rather remove the thruster slot implementation. It breaks the design of Endless Sky. If you insist on keeping it in, then every ship needs an extra slot or two to handle thrusters not being quite the right size for some designs.

@TheGiraffe3
Copy link
Author

TheGiraffe3 commented Oct 1, 2024

See #46 and endless-sky#9963.

I'm not really the one who came up with it.

@UnorderedSigh
Copy link

That feature is only going to annoy players and content creators. It limits flexibility in ship movement capabilities, and restricts the creativity of the player. This Manta is an obvious example: it needs to be faster, and I can't use other engine types for lore reasons, so I have to add a second thruster. If this was a mod instead of a campaign, I wouldn't be able to do that.

@TheGiraffe3
Copy link
Author

TheGiraffe3 commented Oct 1, 2024

I meant by my previous comment "don't argue about it with me, I'm not responsible"

Though you could use the add attributes to give it an extra thruster slot, seeing as how the PR was a data-only change... kind of
Or rather, because the slots are attributes and only impact the data files, there isn't much of a problem with plugin compatibility, because the ship will be modified.

@Zitchas
Copy link
Member

Zitchas commented Oct 1, 2024

The overall intent of the slot system was never to lock everything (baring a few exceptions like the Coalition) to single thruster designs, but rather to provide a foundation for differentiating ships. So while everything has one slot as a baseline, ships that are particularly fast have an extra thruster slot, while ships that are designed for agility would have an extra steering slot. This is, for instance, something that should explictly set apart the (engine) variants such as the Kestrel and marauders making them more attractive to people who really want to maximize their flexibility in that department.

I'll note that this has not yet taken place because of a mix of RL, time, and motivation issues. Given that activity is picking up here again, I'll bump this up my priority list.

I agree that thruster slots are a fairly major change in the Endless Sky mindset that has generally advocated for no arbitrary limits... But then goes on to impose arbitrary limits everywhere. Weapons, for instance. The same argument regarding engine slots applies to them, too. We already have weapon capacity limiting them, why limit them with gun and turret slots too?) I think the crux of my thought process is that thruster and maneuverability is just as important a characteristic for ships as weaponry, and deserves just as much thought and careful selection of the trade offs as picking between weapons. Not just a "add more until space runs out." I view ships as characters, and having to make important decisions regarding them is important to the nature of the ship. Do you pick the bigger engine that fills up more of the space? Or do you pick the more efficient engine that doesn't fill up as much space of makes much better use of the space it does take? Upstream, this isn't even a choice. You automatically take the more efficient engine, and fill the remaining space with additional smaller engine(s). This has significantly hampered the ability to have meaningfully different engines, as well as hampered small ships because of the imposed design restriction: Bigger engines must be better per ton than smaller engines, because if this isn't the case, then no-one would use bigger engines and just fill the space with small engines. So bigger ships always have better performing engines, and this leads into the whole big ships performing better than small ships in every regards problem. If ships have just one slot (or at least, a finite number, then a tiny ship can have meaningful and even powerful advantages over their larger versions that bring interest, variety, and choice instead of being stuck with "bigger is better."

Anyway, in the case of the Manta miner, I have one important question right off the bat: Which is this?

  1. A regular Manta that is being used as a miner.
  2. A manta that has been retrofited/modified to become a new ship, the Manta Miner.

If it's the former, then we shouldn't be any changes from the default Manta.
If it is the later, then, using the add attribute to give the Miner version an extra slot would be exactly what should be done. Even better if the player has some way to access a "Mining modified Manta" that has this modification (ideally with some cost somewhere so it's not a pure benefit.

Sidestepping that, there's also the question of the Manta itself. The description mentions maneuverability like the Quicksilver being a design element. I'm rusty on the Quicksilver. Was it particularly noted for its thrust/speed? Then there's the question of, intent aside, were they actually successful in building a medium warship that was more maneuverable than normal? If the answer to both of these is "yes", then it would be reasonable that the Manta is one such ship that has an extra thruster slot.

@TheGiraffe3
Copy link
Author

I would say that it's a normal Manta that has different weapons. If we're adding a thruster slot, it technically means we have to remove hull because of the integrity destroyed by knocking a hole in the hull, and that's another question...

@Zitchas
Copy link
Member

Zitchas commented Oct 1, 2024

For a mining ship, stripping some hull in exchange for an additional thruster slot, and maybe a bit of extra cargo too could be an appreciated change for miners. Might even be slightly lighter, although probably not much.

@UnorderedSigh
Copy link

For a mining ship, stripping some hull in exchange for an additional thruster slot, and maybe a bit of extra cargo too could be an appreciated change for miners. Might even be slightly lighter, although probably not much.

I would like some custom ship variants and outfits for the New Tortugan civilian ships. (Nothing advanced; typical human tech level, but with a Korath twist.) That should wait for a later PR. For now, a Manta with extra engines is enough.

@UnorderedSigh
Copy link

This isn't quite right:

Weapons, for instance. The same argument regarding engine slots applies to them, too. We already have weapon capacity limiting them, why limit them with gun and turret slots too?) I think the crux of my thought process is that thruster and maneuverability is just as important a characteristic for ships as weaponry, and deserves just as much thought and careful selection of the trade offs as picking between weapons.

Weapons have to be restricted in number due to game engine limitations.

Adding more weapons causes this:

  1. Adds projectile sprites (and other related sprites).
  2. Increases AI load due to loops over projectiles and weapons.
  3. Requires deciding where to launch weapon sprites from, in ships with a limited number of places where the art implies the weapons could come from.

I see nothing wrong with cramming a ball of 30 blasters into a Shield Beetle, except for the game engine problems it would cause.

Ships' engines don't have those limitations:

  1. There are a few engine sprite locations; adding more engines doesn't add more engine sprites. The engine sprites you see are a "summary" of what engines are in use.
  2. The AI only cares about the net effect of all engines. There's no loops over all engines aiming them or doing threat calculations as we have with weapons and projectiles.
  3. Since there are only a few engine sprites (regardless of the number of engines), there's no need to invent new places to add them.

@Zitchas
Copy link
Member

Zitchas commented Oct 1, 2024

Well, people have been chatting off and on about moving towards having outfits be distinct things for a while now. Might actually happen one of these days.

@UnorderedSigh
Copy link

UnorderedSigh commented Oct 1, 2024

Well, people have been chatting off and on about moving towards having outfits be distinct things for a while now. Might actually happen one of these days.

You'll need quite a UI overhaul in the outfitter to do justice to that approach.

These problems are all outside the scope of this PR, however.

EDIT: Try playing Naev to see an example of restricting outfits by number. It is an open source game with many similarities to Endless Sky. Don't play the Steam version though; it is quite old as of the moment I wrote this comment.

@TheGiraffe3
Copy link
Author

So I've been checking, and I can't find the Manta (Miner) variant anywhere. Does anybody else have access to it?

@UnorderedSigh
Copy link

The "Manta (Miner)" is only in my pull request #85

@TheGiraffe3 TheGiraffe3 closed this Oct 1, 2024
@TheGiraffe3
Copy link
Author

TheGiraffe3 commented Oct 1, 2024

Ah, I see. So you'll have to update it there.

@TheGiraffe3 TheGiraffe3 deleted the mantas branch October 1, 2024 16:48
@TheGiraffe3 TheGiraffe3 restored the mantas branch October 1, 2024 16:50
@TheGiraffe3 TheGiraffe3 deleted the mantas branch October 1, 2024 16:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants