endless-sky / endless-sky

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

content(planet attributes) Add more attributes to planets for more diverse mission content #7654

Open petervdmeer opened 1 year ago

petervdmeer commented 1 year ago

Problem Description

Some activities can only be done on some planets, like wintersports can only be done on planets with snow, and hopping from building to building is more feasible on planets with a lot of buildings.

The game data files currently don't provide a lot of automatically parseable details on the planets, so missions need to be a bit generic. I would like to have more attributes to allow content creators to put more flavor in missions.

Related Issue Links

This issue was already predicted

Desired Solution

Add more attributes to planets to describe their characteristics. For example:

Alternative Approaches

Keep missions very generic.

Additional Context

I expect that we might need to add even more attributes in the future, but I feel that that is acceptable, because story-telling is a significant part of the game.

Hecter94 commented 1 year ago

Would this primarily be for plugins? My understanding is that if a content creator wishes to create a new mission that would only make sense to offer on specific planets, then the new attributes could be added alongside the new mission that requires those attributes.

Could you elaborate a bit on the benefit of adding the attributes now that we may never end up using?

warp-core commented 1 year ago

Would this primarily be for plugins? My understanding is that if a content creator wishes to create a new mission that would only make sense to offer on specific planets, then the new attributes could be added alongside the new mission that requires those attributes.

Could you elaborate a bit on the benefit of adding the attributes now that we may never end up using?

It's true that a plugin creator wanting to create missions/jobs that might require new planet and/or system attributes, but having some attributes, like the examples given in the OP, on stuff even if we're not using them yet may serve as inspiration for creators.

And, the skydiving job would be improved by having something like this rather than needing to manually identify any planets that should be exceptions and explicitly state them in the LocationFilter at the time of writing the mission.

petervdmeer commented 1 year ago

Would this primarily be for plugins?

No, for the vanilla main game.

My understanding is that if a content creator wishes to create a new mission that would only make sense to offer on specific planets, then the new attributes could be added alongside the new mission that requires those attributes.

I am a content-creator, and already created 2 missions that are related:

I also feel that the addition of the attributes is better done in a PR separate from such mission/job content.

Could you elaborate a bit on the benefit of adding the attributes now that we may never end up using?

I have quite a few other ideas for jobs as well: