Jump to content

Improving / replacing the GUI


copygirl
 Share

Recommended Posts

Hey, my first post! Hello everyone o/ I've been told to compile some of my ideas and suggestions into a less volatile form than just some message in the Discord chat. So here I go!

What motivates these changes is my growing dislike of "losing control" whenever I interact with an object.

  • The ability to move is taken away from me. This feels very immersion-breaking to me, like there's 2 modes of the game: Playing the game and playing the GUI mini-game. This, admittedly can be fun, but then I'm thinking of games with what I call "Tetris inventory", where larger items take up multiple slots in one's inventory.
  • The problem is made worse by unintuitive keybinds. When I'm in a pinch or got surprised, I'm often like "oh-my-god-which-key-do-i-press-wait-escape-opens-the-pause-menu-fuck-i'm-dead". Of course, this problem might go away with time as you get used to the keybinds, but sometimes returns as you switch around the games you play.
  • Additionally, some games are written so badly they freeze while they load an inventory. (Looking at you, 7 Days to Die...)

So to avoid taking away the ability to move and look around, I propose something similar to the following:

tBQQb3x.png

  • Right-clicking a chest would open the GUI above it, while opening the chest visually to indicate to other players that it's being accessed. It could either look like in the screenshot, so oriented to the screen and always the same same scale as the rest of the GUI (and GUIs of chests further away from the camera would be overlapped by ones closer to it), or it could appear as an interactable plane in-world. Which one looks and feels better you would probably have to experiment with. But.. more on that later?
  • Obviously, the GUIs would close once the player steps too far away from the chests.
  • Now, interacting with the slots simply means moving your mouse - and with it your camera, over the slots and using the controls you're already used to.
  • But.. moving the camera is kind of annoying, so I suggest a button (Alt by default?) you can either press and hold, or click once to toggle (this should be an setting you can change!), that would unstick your mouse from the center of the screen and allow you to move it around like you would right now.
  • What about player inventory? You could automatically show the player's inventory above the hotbar when holding Alt. By pressing a button on your hotbar, or using a keybind, one could toggle it on and off. With having a single back slot (for carrying a basket or backpack) and multiple specialized bags (belt slots?), you could even individually toggle these. (I remember @Tyron talking about wanting something similar to this.)

Now, this isn't all! The "unstick mouse" option isn't just helpful for interacting with inventories.

  • You could use it to rearrange your hotbar on the go or throw an item to another player.
  • The functionality could be expanded to allow selecting blocks and entities in the world and seeing a pop-up containing information about what you're looking at, similar to what hovering over items in a GUI does now.

Of course, I'm even more a fan of going completely GUI-less. So one step further would be removing the GUIs and having the items simply sit inside the chest, or fireplace, or any other containers. But this would certainly be a good step forward to me!

Thanks for reading the suggestion. I still have more to add, though I'm curious to hear about what you have to say.
(Also this is taking quite some time to put together so I'm taking a break! :p)

Edited by copygirl
  • Like 3
Link to comment
Share on other sites

How will shift-click to move stack to other inventories work? It is already annoying the way it interacts with your your hot-bar, bag inventory, and chest inventory when all three are open. Opening multiple chests would be cool, but I'm just not sure how well it would work in practice.

"E" is already the "unstick mouse" keybind, and it works pretty much as described (although you can't move in this state, that is OK because you can't look around with the mouse free anyway). Being able to keep moving while inventory is open would be nice, however it would also get confusing (I tried to pick up a stack of items with my cursor and it jumped to my hotbar instead).

Removing the chest GUI is a non-starter. You can't scale the chest interior to fit different size screens the way you can scale a GUI, and trying to get an angle to look into chests stacked along the wall would be ... difficult.

In short, I feel these changes would only make things more complicated and in practice harder to use.

Link to comment
Share on other sites

Quote

It is already annoying the way it interacts with your your hot-bar, bag inventory, and chest inventory when all three are open.

Indeed. And is there really a good way to have it work intuitively? No? Then I say get rid of that feature.

Introduce the ability to select multiple items at once instead, allowing you to move all of them between inventories.

Quote

You can't scale the chest interior to fit different size screens the way you can scale a GUI, and trying to get an angle to look into chests stacked along the wall would be ... difficult.

Sounds to me like an opportunity to add wardrobes, drawers, shelves and other containers.

Also I wasn't suggesting to fit the GUI inside the chest, but to simply have the items' models be in the chest, hovering over them to pick them up and such. In fact, I would even appreciate it if things got messy easily if you just dropped random things in chests and it being slightly difficult to pick exactly what you want out of a chest, unless you kept things organized, and used other available storage options. Essentially, make everything similar to a tool rack.

That, however, is just my ideals taken to a more "extreme" level. I would just find it incredibly useful being able to have multiple GUIs open, such a chest next to a fire place, placing fuel in it without having to go through your inventory and switching between them, not to mention the horror of trying to sort a larger assortment of chests.

Link to comment
Share on other sites

I complete forgot another feature of being able to unstick the mouse: Interacting with blocks and items in-world!

  • You could work the anvil in this way.
  • Interact with tool racks and future in-world storage solutions, allowing you to pick up items on your cursor and then immediately put them somewhere else.
  • Draw on paper, signs or even maps that you're currently holding in your hand (similar to Minecraft), perhaps chiseling. Not constantly moving your camera might make things easier for creative tasks like these.

To go along with the GUI improvement suggestions, I suppose I'll mention another idea:
Being able to use an item while in an inventory by holding down right-click for some time. This could obviously work for food items and drinks. But it could be extended to some crafting tasks. Simple recipes such as X => Y could be done this way. More interesting things could be possible by holding an item (such as a saw) over another one (wood, or planks) and then "using" it. Of course this comes with the downside of having to change the controls, as right-click currently does splits stacks or dropping one item in the stack you're holding.

Link to comment
Share on other sites

I'm also a bit skeptical of the utility of some of this.  Especially, as Milo mentioned, when it comes to chests stacked above each other.  In your example the GUIs would interfere with the chests above.   Now if the rules were changed so that chests can't stack atop one another, and require some solid base undeneath, that'd be a different story.  The in-object-gui-less idea I think I would not love, again, especially when it comes to chests that are not sitting at a standard floor level height.  It's sometimes very nice to be able to access chests in odd places.

Now I do think the idea of expanding container types could help.   For instance, I would really like to see 'bins' (or crates, if we just want to use an existing asset).   A bin would essentially be a 1-item-type container, with much higher stack limits than a chest.   So once it has an item in it, it will only accept more of that item.  I think this would be specially useful for ore, coal, peat, rocks, and cobble.   The bin has no gui.  if you have a stack of proper items in your hotbar, you can simply R-click on the bin with that stack selected, and it will put half the stack in per click.  Conversely if you have an empty hotbar slot selected and right click on the bin, it takes out half a stack of the stored material.  To deposit/remove items quicker, if the mechanics allow it, you can open your inventory and right click on the bin and take out an entire stack at a time, into any open slot in your inventory (if that's not possible, then shift-clicking takes out entire stacks and puts them in your inventory anywhere, even if you don't have it open).   Conversely, if you throw a stack of items on top of the bin object, they automatically are put into the bin.  The bin becomes a bit like a MC hopper+chest in one in this way, hopefully supporting automation down the road.

I'm envisioning bins essentially taking a 4 block 2x1x2 vertical space, but one block is not actually there, to allow the player to toss items into it (unless we just use crates, in which case they are as now).  To make them better than chests they need to have I think at least 50% more storage per block they take up (so 22 stacks for a crate, or 88 stacks for a 2x2 bin).  And even better would be if the bin has a visual representation of how full it is, I suppose in the form of charcoal-thick slabs with the texture of whatever is inside.  This way the player can tell about how full the bin is.  Even better yet  if the bin automatically produces text on it that tells what's inside. 

In this way the player could reduce the amount of GUI fiddling, but still be able to interact with the containers from a distance (i.e. not having to be looking directly in the top, at tiny icons).  I find that in most mature bases, a large number of chests contain one single type of item anyway.  Then, the player can also have regular chests that contain a more mixed lot of items, and maybe it won't be so onerous because the number can be much fewer.

But then, there could indeed also be other specialized containers.   For instance wall shelves which are only half a block in depth (front to back).  These could be gui-less and have actual in-world item icons inside.  There could be 1 and 2 block tall versions, which contain up to 9 stacks per block.  player right clicks to take or place an item 1 at a time, or shiftclicks to take or place half-stacks.   These would be limited in what they accept, so for instance not tools or large clothes.   Clothes could indeed have a wardrobe, though I'm not entirely sure how that would work since I'd imagine the icons would need to be displayed larger to be well discernable.  Perhaps the icons are displayed on a slant front to back, like this:

image.png.009cd9bbe76d38e63fa3ae62a7fa4092.png

and the player can click on an icon of some kind built into the wardrobe, that cycles through the clothing.  Up to 8 per wardrobe block (assuming they'd be 2 tall so 16 clothes per wardrobe?).  They'd be mostly for shirts, pants, capes, etc.   Small items like shoes and gloves can just go in shelves.  A hatrack specifically for hats would be very nice.  Armor would of course have it's own stands.

And so on and so forth.  So basically where possible specialized GUI-less containers for specialized items, but keep chests more or less as they are for catch-all purposes.  I think this strategy would have a better chance of satisfying everyone.

Edited by redram
Link to comment
Share on other sites

On 2/3/2018 at 12:22 PM, Milo Christiansen said:

[...] and trying to get an angle to look into chests stacked along the wall would be ... difficult.

On 2/3/2018 at 3:24 PM, redram said:

[...] when it comes to chests stacked above each other.  In your example the GUIs would interfere with the chests above.   Now if the rules were changed so that chests can't stack atop one another, and require some solid base undeneath, that'd be a different story.  The in-object-gui-less idea I think I would not love, again, especially when it comes to chests that are not sitting at a standard floor level height.  It's sometimes very nice to be able to access chests in odd places.

I wouldn't necessarily prevent people from placing chests above one-another. But perhaps it shouldn't be possible to open a chest, if the block above it wasn't empty or similar. You could still stack chests, and using a "carry" feature, pick up a chest with both hands (slowing you down, removing your ability to use any other items, ...) and then place it down somewhere else to actually access it.

Link to comment
Share on other sites

  1. Currently it annoys me as hell that inventory is closed by E and container by Esc. It is confusing and twice the "work".
    And Copygirl perfectly described the "oh now i'm dead" feeling :) 
    Please consider improving this somehow. Copygirl's multiple contents display seems a nice approach.
    I decided not to open a separate thread, seems here is fine.
  2. Showing multiple containers contents based on approach or view direction, with inventory display of the same style?
    Yes, please!
    Finally I will not have to use my inventory as a buffer when sorting out things in multi-chest storage.
    If there is a problem with visually connecting contents windows with chests in worlds, e.g. when a column of chests - well, just show them tiled on screen, horizontally, in order of opening. Still an improvement.
    To allow to open more chests when the view becomes obscured with already opened contents - maybe make them (contents windows) transparent and inactive when some button is pressed (the same Alt hopefully)? This Alt-mode with unsticked mouse might be a blast if thought through.
    Sorry, I don't have a good final idea how to do this, but I really like the benefits.
    Personally the inventory/storage sorting and labeling is the most time-consuming and annoying thing for me (being a hoarder) in MC/TFC and other games.
    The more instruments for that I have - the better. 
  3. If there will be GUI-less containers, it would help in many situations. I'll just avoid opening the container interface :)
    Basically the mentioned bins sound very similar to barrels and drawers from popular MC mods.
    E.g. there are drawers with bit less space but divided into 4 sections, so depending on the section U click, u get a different item.
    And I love GUI-less containers, they are so easy to work with when crafting. The visual fullness hint like in forge sounds cool.
    And a visual sign what item is inside is a must imho. Ordinary signs could help, sure, but usually they take lot of space on the container.
  • Like 1
Link to comment
Share on other sites

This problem reminds me of how to find things at my grandparents' old place. In the house, there were so many storage areas that were like chests and you had to sift through the stuff in there to find what you were looking for. However, if you went out to my grandfathers' shop it was a different story. The bins were labeled, lots of shelves with stuff in glass jars, peg boards with tools and their outlines drawn on it, and anything chest like was shallow with dividers so you could immediately scan and see everything inside. Point being that if you had difficulty finding something, it was because you didn't have the right solution to the problem. Sometimes that meant a different storage container, sometimes that meant better organization.

I think there should be a variety of storage solutions that behave in different ways. For instance, a bag might have one display slot with an arrow to either side allowing you to search through the bag. It might also have a deposit slot that shows no item but allows you to quickly deposit items in the bag until it's greyed out signifying it fully. Food might go in GUI-less bins or shelves for easy selection. Shelves above a sink and counter might show their inventory in a GUI when working with the counter GUI. Nothing but books might be able to go on a bookshelf. Storing seeds and sand in a large chest is a good way to lose seeds. Maybe you need to put them in pots before storing them in a chest. Each storage solution should have an interface that makes sense for that storage solution.

I think if there is a GUI, getting too far away should exit the GUI. I think pressing S should also immediately exit the GUI because generally when backing away from a container, you are done with said container. Any sort of container with a floating display of what is in that container is just going to feel overwhelming in dense storage areas from my experience.

  • Like 2
Link to comment
Share on other sites

6 hours ago, copygirl said:

I wouldn't necessarily prevent people from placing chests above one-another. But perhaps it shouldn't be possible to open a chest, if the block above it wasn't empty or similar. You could still stack chests, and using a "carry" feature, pick up a chest with both hands (slowing you down, removing your ability to use any other items, ...) and then place it down somewhere else to actually access it.

I'd support the requiring of non-solid space above a chest to open it.  I'm not a huge fan of floating chests.   In TFC, I enjoyed using the lumber to create stick shelving, and placing the chests on it, to give an appearance of racking.  Which maybe half-slabs could serve in VS I guess, though it'd also be neat if there was a thinner 'shelf' option.  I guess if the chest lids don't actually visually open, it's not too big a deal.  Even in such a case though, I'd prefer a greater variety of GUI-less containers whenever possible.

As for a close-and-carry option, I think that'd be better for chests or barrels.  Or maybe Locks are created, which can be used to lock the chest shut for carrying (these could also be inter-player security devices in SMP).

Link to comment
Share on other sites

Gotta say, that does look promising.  I kind of wonder how it'd be in tighter quarters than an open plain.  But I could see with enough other options, so you don't have to stack chests all over, it might be nice.  How does it look if the chest isn't on the player's level, so you're looking very up or down? 

Link to comment
Share on other sites

  • 3 weeks later...

Okay, so we now have the floaty GUIs as an option now! This is great news~! Though I personally am not 100% happy with the current behavior, so I hope the following will be add as either the new default behavior or additional options. For the record this is what currently happens:

  • Activate using .clientconfig floatyGuis True
  • Opening a GUI will "unlock" the mouse (from the center of the screen) for GUIs and you can't use your camera anymore
  • Right-clicking additional containers allows you to open them, too
  • Holding Ctrl allows you to move your camera, but the cursor is still visible
  • The only way to close all currently open inventories quickly is to press Esc, which is not easily done in a pinch

I suggest the following changes / additions:

  • Don't (automatically) unlock the cursor when opening a GUI at all
  • Still allow interacting with slots that are under the cursor when centered, obviously
  • Right-clicking already open containers should close them
  • While holding Alt you can unlock your cursor and use it with the GUIs as usual
    edit: This should also work while not having any GUI open!
  • If you press and hold left mouse when picking up an item instead of clicking it, dragging and releasing should drop the item under the cursor (so you only have to click-hold-release instead of clicking twice)
  • Some way of selecting and moving multiple items between containers would be nice
  • Not a fan of Shift-clicking, but as long as you have it, make it go to the first open container that already has the same item
    (not related to floaty GUIs but still about GUI improvement :p)
  • edit: With an item with your cursor, interactions should work as if you were holding the item, so you could for example:
    • Place and take items from tool racks.
    • Place blocks right from an inventory.
    • (Maybe) Break blocks and attack using a tool / weapon?
    • As you hold an item on your cursor, you could have the character show you holding that item instead of your current hotbar slot.
      (I suppose it would be nice if the "currently held item" mechanic could be abstracted in the API enough for me to implement a "carry blocks with hand" mechanic, too.)

Note that I'm not suggesting this for default Vanilla, but I'd personally prefer this for when floatyGuis is on.

Edited by copygirl
  • Like 1
Link to comment
Share on other sites

  • 4 weeks later...

I use floatyGuis and despite I still use Esc instead of moving away, I love the mechanic, it is immersive.

copy's suggestions seems great.

Suggestions:

  • Allow mouse cursor at the edge of screen rotate camera that direction. Just another way in addition to Ctrl behavior.
     
  • Allow closing all open storages/firepits (not player inv) by double-S. Or by "S" with similtaneous moving mouse pointer to the edge of the screen.
    I.e. the current closing distance is too long, it is faster to press Esc. Also simple "S" is useful sometimes to arrange all dialogs in window.
    So trying to model some intuitive analogy of irl movements when we stop using some storage.
     
  • Still allow to move dialog windows my mouse. Dont need to remember these offsets when dialog closes. This would allow to open 8 firepits and cook tons of something.
     
  • So there is a big question of shift-clicking mechanics. I.e. how can I quickly unload items to a chest. Atm we have some generally known principle in use atm and Tyron is fighting with consequences of having multiple inv windows. :)

    I think we should go further and not keep the ancient behavior. Try to see in other games what do they do.

    E.g. if multiple inventories are open and user shift-clicks something, if it is unclear where to go, another mode should be enabled temnporarily: one dialog is highlighted and by moving your mouse you highlight other dialogs. Basically shift the window focus from one window to another. Then click - and items go to the last highlighted inventory.

    I.e. something similar to weapon wheel mechanic in games, where you press a key and a wheel appears. Then you move your mouse to select a section of the wheel.

    Unfortunately this "highlight" mode is slow and requires too many actions for each item. But maybe something in this direction.
    E.g. shift will be selecting multple items in inv and other key or mouse movement+key will transfer them.
Edited by heptagonrus
Link to comment
Share on other sites

I will say that there seems to have been a change recently, so that if I have my inventory closed, and a container open, and try to shift-click something out of my hotbar into the container, it will instead prefer to send the item to my closed inventory.  If there's already a partial stack in the container it will complete that, but the rest goes to my closed inventory.   I really hate this behavior.  I much preferred the previous where it would only go to my inventory if it was open.  It makes unloading lots of stuff into chests take more time.

  • Like 1
Link to comment
Share on other sites

3 hours ago, redram said:

it will instead prefer to send the item to my closed inventory. 

@Tyron commented on this on the issue tracker:

Quote

There was also a recent change in 1.5.2.2 that makes them always get moved into the backpack inventory even when closed (in order to fix another bug). But I can probably make it so that closed backpack inventory gets excluded again from shift+click moves.

 

  • Like 1
Link to comment
Share on other sites

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.