Rework of Gravity Generator Mechanic
While the current system of determining the area a gravity generator block effects is simple and in some cases effective, I recommend adding an alternate mode that can be enabled either at the game setup or on the block itself.
The current way of determining effect area and gravity direction is easy and still useful, but trying to configure a gravity generator so that it only effects a certain area can be difficult in ship and stations that have a complicated interior. It can take a long time to set it up so that there are no stray gravity fields where you don't want them, and sometimes you can never get it just right. I think that the current system should remain an option, but an alternate option should be available. What kind of alternate option? A dynamic one based on the geometry of the grid the gravity generator is on.
My first idea of how this could be done is still relatively simple: Have gravity everywhere in the effect area of the grid, with each block in that area having a gravity effect equal to the size of a cube armor block above it. The area size could either either be a certain radius around the gravity generator or the whole grid. This allows for easy setup of a gravity field for interior spaces or anywhere where stray gravity isn't wanted.
Unfortunately, this means that there would be no differentiation between an interior or an exterior space. What if people don't want gravity outside on the top of their ship? It occurred to me that a similar issue was already tackled by the devs in regards to interior pressurization. I'm no game developer or coding expert, but I would bet that the solution to that problem could be adapted to this one.
In this case, a similar system could be used to determine where and how to fill interior spaces with a gravity field. On top of that, you may be able to even determine which rooms get gravity. The pressurization system already has to determine that by default, so little to no modification should be needed there. The main problem with this approach would be determining which rooms to fill with gravity if a radius around the gravity generator is set. It could be as simple as whatever rooms the radius touches gets gravity, or it could be based on if more or less than half of a room is covered by the radius. While some may say that this could make it harder to "fine tune" where gravity stops and starts, I think it could also be considered as a good thing. You could now block out and in effect allocate gravity generators to separate rooms rather than odd gravity field boundaries. The direction of the gravitational pull could still be determined by the orientation of the gravity generator on the grid. In addition to this, gravity height may be able to be set to a certain height above the deck of each block, with the maximum height above each block being the ceiling. I'm not as confident in ease of implementation with that last idea, but it's worth mentioning and should still be possible with some extra work (if my understanding of the game's systems if close to being correct). Because it would be based on the same system as pressurization, a hull breach could cause a loss of gravity in a room. This could be a new and pretty cool game mechanic in which you could more easily be sucked out into space (no gravity) but still be able to walk around with mag boots.
So in summary, we could have the standard mode that would always be an option for determining the area of effect for gravity, and we have two similar modes based off of the shape of the grid rather than an adjustable cube or sphere of effect. The first of these modes is simpler, but has potential issues with exterior gravity. It should also remain an option even if the second option is implemented in case the player wants exterior gravity or just prefers it (in my opinion). The second option would be based on the same system that pressurization uses and would allow for dynamic gravity fields that fill rooms rather than predefined areas. It may also allow for a new game mechanic in which gravity is lost in a room with a hull breach. Since this would be based on the pressurization system (which can be turned on and off when setting up a game), logically it could also be turned off for performance reasons. I would think the first option would be more performance friendly and thus could be selected just in the gravity generator block rather than at the game setup and then the block.
I've been thinking about this for a while. I realize that it won't be a top priority, considering all the more important work that needs to be done. I do think that it's an idea worth considering though, and would love some feedback about it. If anyone from Keen or the SE dev team happens to see this, I would be very interested in hearing your feedback in particular. Anyways, thanks for your time.