tsunamayo / Starship-EVO

Welcome to Starship EVO bug tracking repo !
117 stars 17 forks source link

[Question] Design guide for NPC crew #5037

Open cloudrambler opened 1 year ago

cloudrambler commented 1 year ago

The inclusion of NPC crew has been on the table for as long as I have been playing Starship EVO and it fells like a longer term necessity to balance the game for medium/large ships. I know this will not come soon, but I am assuming it will happen eventually.

Prior to NeoVox, the rules seemed fairly simple, but now there are so many more options to create workable spaces.

So the question is whether we can define some reasonable design guidelines to work with, so that our ships have the potential to be compatible with NPC character pathfinding and interfacing. Clearly, until the dev work is done, no answer will be fully correct. But I believe that if we can be working to some sensible limits now, then the task of introducing NPCs later on will be more plausible.

Is is sufficient to say that anywhere that a player character can comfortably access with gravity applied and without clipping, will be accessible to NPC characters, or do we need to keep to more structured interior spaces?

I have proposed a few statements that seem reasonable to me as an engineer. It would be useful to have some feedback on whether these are sensible guides or whether you have other principles in mind. This is not an exhaustive list (yet).

  1. NPCs will only function inside gravity regions and that gravity must be true and uniform (-1g).
  2. Floors should be flat and level over the majority of their area.
  3. Floors should be aligned to the primary grid horizon (forward - backward - left - right). 4. Floors should be aligned to grid intervals (value TBD - 1m / 0.5m / 0.25m).
  4. Rooms must have at least 2m vertical clearance at all points (2.5m or 3m is suggested for aesthetics).
  5. The principle minimal passageway for character movement is a rectangular passage 1m wide and 2m tall. 7. Narrow passages should be aligned to grid intervals (value TBD - 1m / 0.5m / 0.25m).
  6. Doorways must also be at least 1m wide and 2m tall, though these can include a full frame not more than 0.125m thick. 9. Steps are acceptable with 0.25m or 0.125m rises, and maximum incline of 1:1. 10. Ramps are acceptable and must be smooth, with inclines not steeper than 1:2.
  7. Steps and ramps must be aligned to the primary grid axes (forward - backward - left - right).
  8. Changes of direction (steps or ramps) must have a minimum 1m square intersection (landing area).
  9. Vertical clearance over steps and ramps should be at least 2.5m (measured vertically). 14. Ladders will eventually become functional and access hatches must be at least 1m square (or use horizontal doors).
  10. Jump pads can be used to move between decks and access hatches must be at least 1m square (or use horizontal doors).
  11. Moving platforms (lifts/elevators/gantries) are acceptable provided they maintain normal gravity and 2m minimum vertical clearance (a trigger mechanism is yet to be determined - special button or dedicated computer for example).
  12. Seats should be placed with the sitting surface between 0.25m and 0.75m from the floor and at least 0.5m leg room.
  13. Seats should be accessible from one side or the front to allow for entry.
  14. Seats that require a mechanism to access are not suitable for NPC use (still great for players though).
  15. Buttons that are meant to be used by NPCs should be between 0.75m and 2m from the floor, or on the ceiling at 2m.

This knowledge would be very valuable to me, so that I can invest effort in finishing crewed ships with at least some expectation that they will be usable for NPC crew with a bit of adjustment. The items above in bold text are those which carry the greatest risk of unnecessarily limiting designs or causing incompatibilities later on.

I am happy to make examples of any/all points if that helps with discussion.

tsunamayo commented 1 year ago

@cloudrambler Hi, honestly I am not sure how it will pan out, but those rules seems good sense. One thing that will be important is also the use of the builtin door, as I will use them to link room together for pathfinding. But I also want to give some "NPC navigation helper" tool / brick that will help with NPC navigation, so you can do more custom things. Cheers, sorry I am not sure it helps at this stage...

Uncle-Ulty commented 1 year ago

I believe some sort of "npc pathway brick" should be added in game, It would be an "invisible brick" that you place in the pathway, and the NPC would only move inside the space created by this "npc pathway brick". It would be necessary to link the brick to switches and doors, to make NPC use these stuff... idk, it's just an idea.

Kaiser-Indrasil commented 1 year ago

I believe it will be automated with a Unity-native navMesh functionality:

image

cloudrambler commented 1 year ago

@tsunamayo Thank you for considering the question.

zorozeenee commented 1 year ago

This whole system solves no problem "Starship EVO and it fells like a longer term necessity to balance the game for medium/large ships". This has no reason behind it, shield bubbles already balance large vs small ships, smaller ships can fly under the shields if they can get close enough.

This system would take a lot of important development time away from tsuna and solves no issues.

cloudrambler commented 1 year ago

@zorozeenee The reason for wanting to properly integrate NPC crew into the game is that it closes the loop in regards to the philosophy of ship design. The game is primarily about creating star ships; vessels for humanoids to travel within. We adorn them with rooms and doors and controls to feel like functional ships to be lived in. For anything larger than a one seat fighter, those builds feel empty with only one player inhabiting them. NPC crew would allow those larger ships to serve the purpose for which they are designed.

Granted, for pure mechanics alone, the hypothetical operational benefits of crew may be slight compared to a well designed hardware specification, but not everyone is here to min/max for PVP combat. Many of us just want to build ships that look and feel a certain way.

Not everyone will want crew. Some will be quite content with a little old shuttle that they can bumble around in alone. Others may insist on multiplayer crews, though that brings its own challenges and limitations. However, the scalability of Starship EVO means that many players are building super capital ships, intended for large crews. I doubt anyone will ever find 10,000 friends to run a co-op crew, so to make their enormous space hulks feel alive, they need at least some NPC crew either sat at stations or just wandering around drinking coffee.

I believe that has been part of the vision for a long time. It will be a lot of dev work, and Tsuna has said before it cannot be a priority right now. Hence the initial question; how best can we prepare for this, assuming it will eventually be part of the game.