Ship Info, Ship Map, and Ship Apps

BestJamie shared this feedback 9 days ago
Not Enough Votes

The ship info screen in SE1 sounds like it should be more useful than it is, even though it is actually incredibly useful! I wanted to make a few suggestions for improving it to the point that players will want to display parts of the info screen on LCD screens in their ship.


The first change is that the info screen now has sub-tabs, rather than putting everything on on screen. Ill go through these tabs in the order I think they should be.


Basic Info

This is where the most basic information about the ship can be found, and if applicable changed.

- Name: Fairly straightforward and can be changed the way it currently gets changed.

- PCU Cost: Again fairly straightforward, but this time it can't be changed.

- Size: This tells you what the ship's width, height and depth is. This actually can be changed, with each metric having a drop-down menu with two options under it which allow the player to swap it with one of the two. This helps narrow down the number of possible orientations for the ship to have, which the game can use programmatically, with reasonable certainty of accuracy.

- Weight: The weight of the ship. This can't be changed.

- Ownership: This should be able to be changed for the whole ship rather than on a component-by-component basis.

- Centre of mass: This is relayed as a 3D coordinate on the grid, using the best guess for down for the Y axis, determined by how many blocks treat a given direction of the height as determined earlier as down.

- Pivot Point: Works the same as centre of mass, but you can type in numbers where it shows its coordinates to change this.

- Update Blueprints button: This is just a button that when pressed will save the design of the ship as it currently is as the ship's blueprints. This allows the ship's design to be saved for easy access for whoever owns the ship, without needing it to be actually stored in a projector block. This makes it easier to avoid recursive blueprints with projector blocks and allows you to reference a single instance of the ship's blueprint from one place, rather than needing to store another copy of your ship's blueprint for every hologram on your ship. Having this be a button that needs to be pressed at a specific time also allows you to do a bunch of preprocessing with the blueprints that doesn't need to be recalculated every time the ship takes any damage.

- Last updated: This is just a date that shows the time stamp of the last time the above button was pressed.


Map

This is greyed out until you press the update blueprints button at least once. Once you've done that then the ship's map will attempt to generate. This generates a best guess at first but it's set up in a way that the map can be edited to better reflect reality. Since this is only generated once, it won't add to calculation issues during crashes, and since it doesn't need to be calculated in a single frame, you can take your time processing this with just a loading bar on this screen till it's done to prevent any frame loss.

The way the best guess should work is first it builds a solid colour orthographic progression of the background to act as the map's background and to put parts of the map in context with the rest of the ship. Since this part of the map is full solid colour, it doesn't matter which part of the ship it thinks is down or up, and it already knows what the height acis is from the basic info page.

The next step involves taking the best guess of what down is, the same way it does for coordinates, and starting at the pressurisable area that is at the lowest point on the ship. If there are multiple at the same height then it picks one randomly. It assigns that room to floor 1, then starts assigning every connecting room to level 1, in order of whatever doors are at the lowest y level, and spreads from there. If two rooms overlap then only one of the rooms will be assigned to level 1, and it will be the one that has the lowest floor level, or if they both have the same floor, level then the one with the lowest roof. If that's also the same then they will be chosen at random. Once every non-overlapping room has been chosen for level 1, the game will create a level 2, assign any rooms which still have doors to adjacent rooms that weren't assigned to level 1 to it and start filling out level 2 the same way it did level 1. It will complete that till it has mapped out all connected rooms. It will then restart the process looking for the lowest room not assigned a floor, and will assign that to a floor that is one higher than the current highest floor. It will repeat that till there are no more unassigned rooms.

The map edit screen has a list of existing floors and gives you the ability to increment the total number of floors. For each floor, you can change its name. Here it will be shown as, for example, Bridge(floor 4) but outside of the editing screen, this will be just called Bridge. You can also change the axes of a given floor the same way you changed the axes of the orientation for the entire ship in the basic info screen. Most players won't have use for that, but it will be useful for weirdly designed ships that have multiple gravity fields at different orientations. New orientations will generate new background images.

The next part of the editing screen will show a list of every single room that was detected for the map. You can name each room, give them a symbol related to their meaning, and assign them to a list of floors. The room will be drawn on every floor that it is assigned to. If two rooms overlap and are assigned to the same floor they will be drawn overlapping. There's also an add unpressurisable room button. This button will allow you to draw a room by inputting two coordinates. You can then edit it in the same way you edit interior rooms, but this allows you to include rooms that are not pressurisable but that do exist, like exposed hangers, landing pads, walkways inside existing rooms and things like that.


Visual Apps

These are any of the apps that could be assigned to the LCD screens in SE1. This allows you to see, use and configure these apps in the control panel before assigning the app to an LCD screen. Now whenever you want to show an app on an LCD screen you point at a specific instance of the app in this tab. That way if you have any apps that you want to look the same but get shown is several different locations then only need to calculate that app once, and you can get that information conveniently from the control panel of a ship even if youre just connecting to it through the radio. I have a few ideas for new apps, but Ill talk about them in another post, but I will say that I think different map floors should be apps that can be assigned to LCD screens. You should be able to hide instances of visual apps in this screen the same as the control panel though since there will be cases where you might have a large number of similar but different instances of an app with slightly tweaked settings that get projected to LCDs but you only want one instance to be visible from this screen.


Radio Apps

These are any information about the ship that would be broadcast via radio, and where you would toggle or configure that, such as the centre of mass, the pivot, ore detection radius, detected ores, and things like that. The benefit of having it set up like this is you can control of this data transmission from a single screen rather than needing to find random blocks like the ore detector, or things like that in the control panel. I also have some ideas for new things that could go in here, but I will also leave that for another post.

Replies (2)

photo
2

Ooooh one other thought about rooms, you should be able to use rooms like groups in the control panel. So if you go into the control panel and click on map view, then the map will show up in the corner with a floor select near it. If you click on a room it will highlight that room on the map and only show items that are in that room or that act as a wall to that room. That way you can very easily see all of the lights for example in a specific room without needing to trial and error it to find them.

If you click on a part of the map that has two overlapping rooms it should select whichever room is bigger first, then swap if you click on the overlapped area again. A room only becomes unselected by selecting another room, leaving map view, or by changing to a floor that the currently selected room isn't present on.

photo
1

Don't put all that stuff in one topic. It makes it a lot harder to vote stuff up, because you rarely agree to all stuff.

photo
1

Thanks, I'll keep that in mind for any future suggestions I do. Can I ask what you do or don't agree with on this one?

photo
1

https://support.keenswh.com/spaceengineers2/pc/topic/46011-new-way-to-interact-with-editing-of-block-states-from-the-k-menue

i had a similar idea for the map layout but instead of generating a estimate you just make the ship a hologram in the menu and move it around and such

photo
Leave a Comment
 
Attach a file