It feels like we have all been waiting for the crew update for a while now, and I think at this point people are just ready to say;
Sorry schema, it must be pretty hard to make a game that has been a hit like this one has, and still have so much more that you want to add! But being unsure of how or when the best time to implement something, and with a dozen of half completed files of code, notepad documents, and other notes that you have stashed for another day... its just a lot to chew!
Or maybe I'm wrong. But the point is that some things talked a while ago are still what seems to be ages out, and I have made this post here to address one of the more prominent ones.
Crew.
Or, more precisely, the Concept of the Crew system, and how we don't need NPC's at this point at all.
That's right, implement the Crew system without adding in NPC's first. We need to first flesh out what it does or could do, and I will talk about that later in the post. We can add all the fancy decorations in later, like assigning NPC officers to rooms and systems for bonus that I have heard tossed about. NPC's moving about and populating ships can come in later, with all the polish and whatnot. Some people might be bummed to hear "Crew update, minus NPC's" and people will be a bit miffed about it, but we need to get the basics down first before stuff like 'pathfinding' for the NPC's.
_____________________________________________________
Acknowledgments:
This formulated after reading through the Power System Overhaul MegaThread of Unending Pages, and seeing a trend emerging. Lots of people were posting about how they want Interior Space for ships to actually be a thing, and plenty of people on the other side of the isle, saying how this was the wrong way to do it. And then there was Lecic their too. Let me tell you, he would make a great representative (uncomfortable laughter) I feel the need to thank everyone who poured a lot of their time into that thread, man it is denser than a textbook to get through. And thanks to DukeofRealms cause reading through it most of the trivial unimportant back and forth had been cut and made the read go by quicker. Get some rest buddy. (Or another vacation.)
Valiant70 Lecic Gasboy RabidBat Raisinbat Top 4ce Raiben jontyfreack kingreol Comradecolonel kiddan nightrune AtraUnam Nauvran Groovrider Madman198237 Az14el Endal Ithirahad Zackey_TNT Drakkart TheWurm Ghent96 Loadout MeRobo Admiral_Kirk Panpiper MacThule Neon_42 T050189 Byamarro GalactusX Matt_Bradock Edymnion Spartan4845 Fellow Starmadian Malacodor Beliant Xacktar petlahk Jojomo Scypio Wrathserker Arkudo terra mining corp. entarlas JinM Brokengauge dwwojcik rcmustain kaemcedlra Katorone SparkyInAus Erth Paradine IronDusk33 JaxElite Qweesdy Aurthus110 Rhaxus StarWars1981 NTIMESc Morrigi @Astpha dreuseff Battle Captain Fortius Magrim kookster Keptick Haalon xDEAD-LORDx Mr.Steam aRottenKomquat Brokengauge Tech-priest
Special thanks to them for still being here after participating and reading all of that thread
plz dont leave us thx k bye
Without that thread and all these people, I wouldn't of felt any urgency to make this thread.
But they all kept talking in circles and past one another for page after page, and plenty of repeating topics.
But doing some rough brain analytics of the textbook of a thread, some points did seem to shine through.
People wanted a use for crew space, they wanted the space to have mechanics attached to it, they want freedom in how they place their space in their ships, and they would preferably like that it wouldn't be completely PVP alienating.
_____________________________________________________
Onto the Mechanics of this suggestion:
We stop trying to give NPC's a task, stop trying to give NPC's functions that they would do in the ship. No more of that. We simplify, not stopping at just "ship needs number of NPC's in each section to run". No, simplifying further. Remove the NPC's role in this.
We have two types of rooms:
- Rooms that supply "Crew Points"
- Rooms that require "Crew Points"
- Volume (m^3)
- Floor Surface Area (will be called Floor-space) (m^2)
Later on it might become automated, but for now we should use C+V. C+V is a proven system and players learn it using other systems and blocks.
So, making a room (room cutaway below), we now have this big void in the middle of our ship. Why?
Our room here has a height of 4m, width of 8m, and length of 15m. No obstructions in the room, completely empty, making our math easy.
- Floor-space is Width*Length, 8x15= 120
- Volume is Length*Width*Height, 15x8x4= 480
Write it to think in terms of columns, forget about walls. Using C+V to define the bounds of where to search for eligible floor tiles in a length-width direction, i
With this, one could feasibly make a skyscraper and just C+V the top left and bottom right corner of the entire thing, because it would just process it all in one go, with each floor, each gap, as long as it has head-space, counting.t draws up from the top of a eligible block that can be a floor tile up to the height defined with C+V the player did. It feels way more feasible to do with Starmade code.
What do we do with floor-space (Fs) and volume (V)?
- Rooms that Require 'Crew Supply': CSc = (3/4)*(V) + 5*(Fs)
- Rooms that Produce 'Crew Supply': CSp = (5/4)*(V) + 3*(Fs)
Now, our room above will be our Crew Supply producer room, so using CSp = (5/4)*(480) + 3*(120), we get 960 crew supply resource.
Think of this like a pool, and we have 960 units of resource to fill each of our Crew Supply rooms that require crew with. When we get to 0/960 resource by spreading it around, we make another Crew Supply Room, say a copy paste, and we would be at 960/1920.
---
That covers how we get this 'crew supply' resource (better name pending). But what is it used for?
Well I'm glad your still with me, lets wrap this up.
Below we have a small 3x3x5 room sloppily tunneled into a cannon system. Volume should be 45 and floor-space 15, but if you notice we have a cannon computer extruding from the middle of a wall. Because the room is only 3 blocks tall, both the space below and above the computer doesn't count towards the 'room', as starmade would see it, mechanically. Thus the volume is 42 and floor-space 14.
Decorative blocks are transparent to the equation and do not obstruct anything and are treated as empty space.If the computer was placed a block higher, the floor below would have 2 spaces above it not occupied by systems or hull, and count towards the room. If the computer was placed a block lower, the top would count as a floor, as it is a system, and because their would be 2 blocks of space not obstructed by systems or hull.
Continuing on, with our volume of 42 and floor-space of 14, and using our equation of:
CSc = (3/4)*(42) + 5*(14) = 101.5 (round to 101), 101 units of crew supplies required.
Luckily we have 960 available, so after we connect the two rooms with a pathway that they can somehow theoretically get daves too (even if it is a 1x1 tube that uses gravity modules to move about), the game just checks that their is an open, unobstructed path by systems, hull, or decoration though, and not outside, the ship (doors, rail entities, and the like are fine though).
So after connecting the rooms with a path, our weapons room would read 101/101 (it's full, this is ideal), and our supply room would read 859/960.
We can utilize another 8 rooms of similar size! (or some smaller number of bigger ones) before we need to think about making another room for more crew supply. Kinda like building houses for population in the Age of Empires and Star Craft series.
_____________________________________________________
But what does this 101 units of resource do? It adds that many blocks to the system block count that it is connected to. So if I had a 1004 block cannon primary and that room was hooked up to that primary computer, the cannon's system primary is now 1105 blocks.
If you had a 20% ratio of system blocks to crew resource input, then that 1004 cannon could support 2 of those rooms, and would count as a 1206 block cannon. The ratio would be in the server config, and easily changeable. I'm not sure what it should be at, something between 15% to 35% surely. We don't want too much systems being replaced by rooms, the future daves gotta maintenance something. And the fact that the equations make it more efficient to have crew rooms on all your systems even with the space sink to supply all the rooms with the crew supply resource. The constants are tweak-able, if it's too good then lower them, if it doesn't subsidize the hallways enough then increase the values.
This applies to all systems, shields, power, thrust, primary weapons, secondary weapons, weapon effects, defense effects, cargo, etc...
And that's it. It adds to the systems block count, no %'s, just bonus block count to the system.
In terms of docked entities and turrets, the room would be linked to the rail docker/turret docker and ideally it would open up a GUI and allow you to pick a system that the game detects exists down the chain to hook your room to.
Note, might need to reduce the hp decorative blocks give, in relation to their mass. I know what some of you were thinking and i'm ahead of you on that.
Another note/later feature to add, rooms exposed to space shut down until sealed again.
_____________________________________________________
Thank you all for reading, I hope separating paragraphs and trains of thought made this easier to read. Thanks again to all the people who talked in that power thread and gave me the drive to put this thing together finally.For those of you who skipped to the end. First, why. Read the darn thing. Second, this is for Crew, minus the need to program in NPC's... yet. You have two types of rooms, ones that produce crew resource like houses do in age of empires and starcraft, and ones that when connected to systems convert that into block counts for the system linked to. It provides slightly more blocks than the volume of the rooms it takes, but your system cant be all rooms with a single thruster in the center they are buffing. The rooms could be barren, they could be decorated, the equation doesn't care. It doesn't care because its Math.
Last edited: