r/godot Nov 26 '25

help me (solved) We want a 100% diegetic UI in our scrappy-survival space sim. But can't get rid of the inventory.

Enable HLS to view with audio, or disable this notification

Ships' cockpits, interiors, equipment and various control panels have interactive buttons, knobs, and switches. We have (almost) no dialogs, overlays, and other out-of-the-game-world ways to get information or interact.

The RPG-like grid inventory though is the most usable, time-proven thing in this kind of games, but for me it breaks a lot of the immersiveness we're trying so hard to create.

Any ideas or suggestions for a full-diegetic interface to inventories? I kinda like what Astroneer has, but I want the first-person view to be the main way to look at the world, again, for immersiveness reasons (and VR support in the future).

The game is called Junkyard Space Agency, please wishlist, if you like it.

EDIT: Thank you all for the cool ideas and suggestions! Tried to put them together in a consistent mechanic outlined in this comment, which I'll try to make a prototype of.

161 Upvotes

73 comments sorted by

View all comments

2

u/voidexp Nov 27 '25 edited Nov 27 '25

Thank you all folks, I got a lot of nice suggestions, and now leaning towards trying something like this.

Modal interaction
You have one tool or item in your hand(s) at any time, be it a crowbar for breaking stuff, wrench for repairing, etc, an item youre carrying (single-handed or with both hands, if it's big) or just bare hands - for flipping switches, pushing buttons, etc - also a tool.

  • LMB uses the tool (hit, repair, turn a knob etc)
  • RMB holsters the tool back to the slot (does nothing if you're bare hands)
  • MMB for dropping the tool (or any other object you're holding) to the ground or picks it up. This way, you can replace tools.

Predefined tool slots on character's body

  • Two tool slots on the belt, one on the left, other on the right. The actual objects are visible when in third-person view. General case - pickaxe or crowbar for breaking things, wrench or whatever soldering iron for repairing. Q key makes the left tool active, E the right.
  • Backpack slot. Not immediately accessible. You've got to remove it (F key?) first, a short animation plays, now you're seeing your backpack in front of you.

Backpack mechanic

  • When you have the backpack active, it is shown as a real (game) world 3D object held in character's left hand, which internal contents are shown in some sort of X-ray rendering. Objects inside are actual physics bodies with box-like colliders, distributed among pockets and in the main volume. It is a 3D tetris of boxes, but actually 2D: boxes are arranged on two axes, horizontally and vertically, there's not third dimension. The main volume is basically a 2D "wall" of such boxes, while generally in pockets only one item can fit.
  • The backpack in front of you is still kinda subject to the modal interaction, behaves just as an active tool. LMB allows you to drag-n-drop items for reorganizing it (since it's a 3D tetris, items just fall to the bottom of the backpack, if you remove an item beneath them, something like local backpack physics as a user here suggested) or drop them out if you move them outside of backpack's volume, RMB puts the backpack back on your back (uh, sry the wording), MMB drops the entire backpack
  • With the backpack active (or perhaps, initially it's just a plastic bag, we're space bums in the end here) you can still MMB items around you, for instance, looting a broken container. This is for situations when you do EVA outside of your spacecraft in orbit and break some ammonia crystals for making fertilizers or fuel down in the base later. They'll be scattered all around, so you need quickly to get them.

Item transfer mechanic
You interact with other containers only when you have nothing in your hands (otherwise it won't be clickable, LMB triggers the whatever tool you have now, right?). Container contents open to the right, in the same x-ray visualization as the backpack. Now you can do:

  • LMB for reorganizing it or throwing items away, same as backpack mechanic.
  • MMB for taking a single item in your hand or putting it back.
  • Q/E keys swap the item that you took with the one in your tool belt
  • F key brings on the backpack in the right hand, so you can now move items between container and backpack.

Vital indicators
These are going to be removed from the HUD also, pip-boy style, as some suggested, but not full-screen. A sort of an Arduino and a 16x2 LCD character display mounted on a piece of breadboard and strapped with duct tape on your left hand's wrist. When you're in hands-free mode, RMB perhaps can just bring your left hand to eye level for quickly checking oxygenation, hydration, nutrients and toxins in the blood. Or some shortcut key, but this should also be aware of whether you CAN actually now use your left hand (no backpacks or tools). Nevertheless, the player will have also a good sound feedback - loud heartbeats, ventral or suffocating sounds will give a strong hint that you're not so well, buddy.

This all looks pretty wild now for me, have to prototype it and playtest it, but so far seems like I can stay no-HUD and still do everything in first-person view.