Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Modifiable UI element positioning for the Steam update.  (Read 897 times)

Mr Crabman

  • Bay Watcher
  • A person with the head and pincers of a crab.
    • View Profile
Modifiable UI element positioning for the Steam update.
« on: June 03, 2021, 01:07:44 pm »

In the Steam release we're getting a new UI (it's coming to Classic DF as well, but it's clearer to describe it as "the Steam update" cause that's when both places get it), but it should be possible to adjust the positions of some of the UI menus either ingame in some options menu, or via raw mods. I suggest this because so far, I'm a bit worried about how far spread out various UI elements are (screenshots taken from an official video by Toady):

Spoiler (click to show/hide)

The stocks and play/pause buttons are up in the top right, and most of the main options are along the bottom (in the left, middle, and right of the screen on the bottom), and when an option is selected in most of these menus, such as the stockpile icon in the middle section, they bring up a box up in the top left (the clickable announcements are also shown in a row on the left).

The initial "bottom row" of buttons are quite small and far apart (unless Toady's screen is like 32 inches or something, so everyone else will have them relatively larger and closer together), making for quite a distance for mouse travel between different options on the bottom.

Also after clicking on one of these bottom row buttons, there is further mouse travel to finish completing that same task (not so much if it's one of the options in the left menu I guess, but the middle one is quite a distance). In the example images above, I really hope that "paintbrush with a plus" icon lets you start drawing another stockpile, because it would be quite ridiculous to have to move the mouse back and forth between the bottom middle and top left to add many different stockpiles in quick succession.

Some menus appear on the other side of the screen instead; usually these appear to be the result of clicking on buildings/objects/workshops, as opposed to zone stuff which is all on the left:

Spoiler (click to show/hide)

Strangely, in the case of lever assignment, I also noticed that the next step after you click the "link lever" button has an instructional popup window appear on the left again (luckily it's just informational, not another thing to be clicked on):

Spoiler (click to show/hide)

Keyboard shortcuts will still exist of course, but it would be better if we could decide where to place both the buttons that are on the bottom row (including on the sides of the screen oriented vertically for example), and also the popup menu windows (and info windows) so that the mouse usage is as good as it can be and not unnecessarily clunky. Ideally some of the other UI elements could also be re positioned, such as the minimap in the top right.

Starver

  • Bay Watcher
    • View Profile
Re: Modifiable UI element positioning for the Steam update.
« Reply #1 on: June 03, 2021, 02:02:19 pm »

I don't know how compatible it would be to the current 'windowing' renderer that establishes the dialogue/hotspot positions (also, how the unSteamed representations would be, sans the Premium Graphics elements), but I'd point at the old classic Transport Tycoon, back in the good old days of native-DOS. Among other things, like making use of whatever RAM was set up in whatever style (no need, like other games, to fine tune EMM386 to give EMS/XMS, or whatever the choices were again, in exactly the right quantities to run that particular game), it also gave you a Windowed interface where vehicle-tracking 'viewports', report-listings, facility statuses, etc would be generated on demand by the (right-clickish?) user request right next to the subject of your invocation but could be dragged around the screen (the 'desktop' of which was the draggable play area) so you could line the sides/top/bottom with such mini info-portals as you felt like hanging around and could still retain a cleared middle. A breath of fresh air, compared to most of the hard-rendered interfaces/HUDs of the day.

Of course, you needed each inner-window to have a draggable titlebar with close/minimise(?)/maximise(?) controls on them, which took up extra screen real-estate (though they could be overlapped/resized-by-corner-dragspots for some degree of optimality).

Yes, this is now old-hat (though far from universal, even amongst games that really could benefit from it) and even at the time was 'just' copying the best bits out of the three or four major flavours of GUI OS that existed, but it was revolutionary and efficient and aesthetic (unless you went mad with it yourself!) and I make no apology for raising it as my Ur-example, even if someone can point out that it was not actually the first significant (non-OS) Windowed-GUI Game. For me it is, and I'm assuming you can't turn back time to change my memories. Since then, there's been more the trend to entirely user-configurable Dockable toolbars/etc, perhaps with an undocked 'floating' option as well, and a memory of where they should attach/insert again if previously dismissed and then reinvoked. Again, not enough things use this approach, when they could.


Now, I think it's too late to get Toady to put this in from scratch (assuming it's not already somewhat/wholly in, or forthcoming, but that the current demos just have things appearing where/how Tarn 'likes' them but it's just not how you would prefer), so I'm mostly putting this up as my own thoughts of how to treat this issue. I've probably reinvented the same wheel (e.g. coding hot-configurable Tk/Tcl elements) several times in some of my own toy projects as I tried more to explore the possibilities than actually narrow down on one (portable/reusable) paradigm to present to my audience of one (i.e. me, probably my most vociferous critic, at least by default). It's sort of the reverse of "I don't know much about art, but I know what I like", as I'm not really sure what I like of my own varied 'art'. ...but, anyway, maybe something of what I just said is useful. Probably not inspiring, of course. Never that.


Oh, and if mouse-draggable windows/(re)dockables are a thing, I'd like to put in a request for associated keyboard controls too, some possibly tabbing/meta-key/cursor operations that I can get to like the old faithful Alt-Spacebar+M+cursoring in Windows, etc. Being one of those 'if I don't need to use a mouse, I'll be happily using the keyboard' people. ;)
Logged

Mr Crabman

  • Bay Watcher
  • A person with the head and pincers of a crab.
    • View Profile
Re: Modifiable UI element positioning for the Steam update.
« Reply #2 on: June 03, 2021, 03:12:47 pm »

I don't know how compatible it would be to the current 'windowing' renderer that establishes the dialogue/hotspot positions (also, how the unSteamed representations would be, sans the Premium Graphics elements), but I'd point at the old classic Transport Tycoon, back in the good old days of native-DOS. Among other things, like making use of whatever RAM was set up in whatever style (no need, like other games, to fine tune EMM386 to give EMS/XMS, or whatever the choices were again, in exactly the right quantities to run that particular game), it also gave you a Windowed interface where vehicle-tracking 'viewports', report-listings, facility statuses, etc would be generated on demand by the (right-clickish?) user request right next to the subject of your invocation but could be dragged around the screen (the 'desktop' of which was the draggable play area) so you could line the sides/top/bottom with such mini info-portals as you felt like hanging around and could still retain a cleared middle. A breath of fresh air, compared to most of the hard-rendered interfaces/HUDs of the day.

Of course, you needed each inner-window to have a draggable titlebar with close/minimise(?)/maximise(?) controls on them, which took up extra screen real-estate (though they could be overlapped/resized-by-corner-dragspots for some degree of optimality).

Yes, this is now old-hat (though far from universal, even amongst games that really could benefit from it) and even at the time was 'just' copying the best bits out of the three or four major flavours of GUI OS that existed, but it was revolutionary and efficient and aesthetic (unless you went mad with it yourself!) and I make no apology for raising it as my Ur-example, even if someone can point out that it was not actually the first significant (non-OS) Windowed-GUI Game. For me it is, and I'm assuming you can't turn back time to change my memories. Since then, there's been more the trend to entirely user-configurable Dockable toolbars/etc, perhaps with an undocked 'floating' option as well, and a memory of where they should attach/insert again if previously dismissed and then reinvoked. Again, not enough things use this approach, when they could.


Now, I think it's too late to get Toady to put this in from scratch (assuming it's not already somewhat/wholly in, or forthcoming, but that the current demos just have things appearing where/how Tarn 'likes' them but it's just not how you would prefer), so I'm mostly putting this up as my own thoughts of how to treat this issue. I've probably reinvented the same wheel (e.g. coding hot-configurable Tk/Tcl elements) several times in some of my own toy projects as I tried more to explore the possibilities than actually narrow down on one (portable/reusable) paradigm to present to my audience of one (i.e. me, probably my most vociferous critic, at least by default). It's sort of the reverse of "I don't know much about art, but I know what I like", as I'm not really sure what I like of my own varied 'art'. ...but, anyway, maybe something of what I just said is useful. Probably not inspiring, of course. Never that.


Oh, and if mouse-draggable windows/(re)dockables are a thing, I'd like to put in a request for associated keyboard controls too, some possibly tabbing/meta-key/cursor operations that I can get to like the old faithful Alt-Spacebar+M+cursoring in Windows, etc. Being one of those 'if I don't need to use a mouse, I'll be happily using the keyboard' people. ;)

With your example of draggable sections, that's good for an in-game customization, though keep in mind these windows appear and disappear, as they are just contextual menu stuff (except for the minimap, main top bar, and the bottom icons). Also, I'd definitely want to be able to "lock" them in place in a menu so I don't accidentally move it from where I wanted it.

As for the thing about Tarn, I actually did ask in the FotF about this suggestion and he'd said he hadn't planned it but thought he hasn't written himself into a corner that would prevent customization, though I wasn't exactly asking about them being draggable (honestly I just had in mind "type in the pixel positions you want the box to be anchored to").

Keyboard controls are already confirmed, so I'm not sure exactly what you're asking there.

Starver

  • Bay Watcher
    • View Profile
Re: Modifiable UI element positioning for the Steam update.
« Reply #3 on: June 03, 2021, 07:18:15 pm »

(I didn't realise until just now that I've been waffling on at length at you, now, in two threads. Let's see if I can keep this down a bit less waffly, eh?)
... keep in mind these windows appear and disappear...
Some 'memory', I suggest. If you prefer your Aquifer Alert popping up in a particular place on screen, drag it there the first time it happens, close it, then the next time it pops up it pops up where you'd shifted it to. Maybe.

Quote
..I'd definitely want to be able to "lock" them in place in a menu...
...a 'lock' hotspot-toggle? Or something like right-clicking on the taskbar to get the menu in which to toggle "Lock The Taskbar", as required, in Windows... Or whatever the latest Windows has now instead of the Taskbar, of course.

(FotF) I'm terribly far behind reading the FotF thread, please excuse me. I need to pick it up again at the next unread page and put a good hour of solid reading into it, I'm sure.

Quote
...I just had in mind "type in the pixel positions you want the box to be anchored to"...
Yeah, maybe an init.txt, d_init.txt or (especially) announcements.txt setting, but though I'd be happy to manually edit (or edit via an in-game dialogue to safely and sanely save me the trouble of opening notepad) the obvious GUI method is to have the drag-into-place generate and store the necessary coordinates without all that fuss. ;)

Quote
Keyboard controls are already confirmed, so I'm not sure exactly what you're asking there.
Yes, keyboard controls for things already in are (hopefully) kept as legacy. Just asking that if dialogue/alert/popover/menu-bar repositioning is made possible, tie a few novel-but-vaguely-logical key-combos into that as well, please. (Well, not asking you. Just casting my vague wishes out there, in case they wash gently but noticably over he that is the prime Toad or even the one with with Toes numbering three. But it's a suggestion, not a demand, so trying not to be too pushy about it. Especially if it might put them off considering adding it at all.)
Logged