Warning: it's 5AM here and I've just finished doing this after several hours. Sorry for any delirious text.
The Basic InterfaceThis is a proposal of an interface that should be easy(ier) to realize. I know the thing I posted in the second post is quite complicated and hard to program – with all the mouse support and buttons and skinnable interface and tabs etc – and when I've seen Zwei's ideas I decided to come up with something that could realistically be done by Toady and done quick.
So this is my idea of the necessary minimum for good interface. Granted, there's a lot of room for improvement but I think this would do nicely for version 1.0. It's still text-only, it's still keyboard based, there's no buttons or pop-ups or whatever. Very simple, basically just a reorganization of existing stuff. The only technical change is separating the tileset from the interface which I think is a prerequisite for all things interface.
What I've done is that I've cleaned up the menu to make it readable and visually helpful. I've shuffled menus and submenus according to my notion of their importance. And I would like to streamline how some functions work (like for example creating just one mode of selection instead of the current... many). This will be a bit wordy, sorry in advance.
The result is still text only and as easy to maintain as the current interface. Therefore I believe it should be put in as soon as possible :roll:.
Before I get to the wordy explanation, here's the graphical part with all menus hidden, heavily borrowed from Zwei. But don't pay much attention to the fonts and colors, they're not the point.
(An important note: While I've drawn these illustrative pictures to have something cool looking, bear in mind that everything I mention can be achieved in the current "graphical style" as well.)The small line at the bottom shows commands that control the interface as opposed to controling the game. It would stay in all menus and show things like “Esc: close screen” or “< and > : Change Z-level” (which I've omitted and am too lazy to add now).
What's Wrong with Dwarf FortressThe current problem isn't lack of graphics, it's the lack of order. Namely:
- No visual distinction whatsoever. Menus are ordered alphabetically in a wall-of-text. Instead, they should be divided into logical categories that are organized by importance. All lists need to be short to make them usable by eyes, not only be memory.
- No notion of importance/unimportance. Rarely used features like the rooms screen are sitting in the main menu, while often used features like list of all your items are hidden as sub-menus. Shuffle them around! Merge some, divide others.
- Unnecessarily many ways of doing things. Like selecting stuff. Or building stuff. Ideally, there should only be one way. It's doable and I will explain my proposal later.
- Unnecessarily many ways of representing things. So why workshops work differently than bedrooms which work differently that hospitals? This would also help to remedy the following issue:
- Toady has the tendency to group things according to their internal workings instead according to game logic. Which I believe is very, very, very confusing. For the interface and the user, it doesn't matter that hospitals work differently than barracks, they should definitely be in the same menu. Fishing zones and plant gathering “zones” in the same menu. And the other way around: why oh why are patrol routes grouped with the note taking system?
Streamlining SolutionsWhat always confused me the most were the many ways of building things: point and press enter, flow from furniture, UHKM, use zones. That's four ways of doing basically the same, and they should all be grouped into just two:
- Point and click for thing that have a fixed size (workshops)
- And another way for things that have modifiable size (rooms, stockpiles) or can be placed in numbers (walls, but perhaps even furniture?)
The hospitals in .31 are I think an ideal solution for everything from bedrooms to bridges.
To build anything you just fill the desired area the same way you dig. (And the same way you do for stockpiles or zones.) This is both quick and flexible to allow even for irregular shapes. Coupled with the mouse for designations, I don't think you need anything else. Coincidentally, this also means the controls for building are the same as controls for digging etc. which is nice.
If the created room needs a furniture you place it
after, not
before. Creating rooms from furniture is the most user unfriendly idea I've ever seen in a strategy game. This also has the neat effect of allowing some rudimentary working even without furniture (“Here's your bedroom, you can sleep on the floor”) and also prepares ground for future additions such as dwarves buying and placing their own furniture.
Selecting is the other overcomplicated part but it can be solved quickly. Firstly, K and T can easily be merged into one, K should automatically tell you what's in the building you're looking at or that the Mica throne is actually a +<<-Mica throne->>+.
V and Q can I think also be merged but this is questionable. I would prefer to have one Select function, and in the case I'd select a square with both a creature and a building, it would present me with a list which I'd navigate using +, - and Enter. Keeping V and Q separate isn't that much of a big deal, but it doesn't really solve anything – when you have multiple creatures on the same tile, you still need to list between them somehow. And once need to have the list of creatures, you can pretty much add buildings to it.
Menu ReorganizationWhat I've done is that I've reshuffled the menus according to game logic and similar functions instead according to the internal workings. I've merged some less often used features and divided others – most notably the Build stuff. Then I've divided them to categories and arranged these according to importance (most important on the left, obscure on the right).
Selections I've talked about above.
Work are the old designations – I've looked for a more user friendly name but couldn't find anything better. Digging is a separate option now since it's so important it needs to be in the main menu. Work area is things like cutting trees, fishing (!) and farming (!). I've thrown away things like traffic, melting etc. and put theme somewhere else because I felt they shouldn't be grouped with work. Also, they're really obscure and shouldn't be listed on an important place.
Building is the mostly just a reorganized build menu. Architecture are constructions with a new name that seemed less confusing. Furniture is furniture. Machinery is traps, mills, etc. all together. Rooms are bedrooms, barracks, hospitals, meeting areas (!) or statue gardens (!) which I think should be together. Stockpiles obviously need a massive reworking, the categories are all wrong and confusing. Workshops (furnaces included) without any change.
Some time ago I've explained these divisions in more detail in the
third post (note the image in the spoiler). You'll notice it's a bit outdated (most notably it was before I decided to split the designations) but I think it's still understandable.
Military stuff nicely together. Two changes here: move alerts from military screen to burrows screen (somehow), I think it's more intuitive here since it depends on burrows and you mostly use it for civilians anyway. Setting squads to active/inactive should be a thing of schedules, not alerts (more on this some day later), which leaves alerts solely as a movement restrictor, and thus burrows. The other change is that I've split notes from patrols and moved them away.
Detailed info are all subscreens, very often with their own submenus. Some consolidation going on here, for example artifacts moved from main menu under Stocks, nobles moved under units, etc. More explanation in
the second post (spoilered picture), it's old but I think I wouldn't write it much differently now.
Special are odds and ends. Item orders is an alternative name for “item prompts”. Traffic includes not only traffic but also depot access.
Minimap I'm not sure about. Zwei had some ideas
here.
The EndWhile this interface would still require rewriting of every screen in the game and even some functional changes in the game itself, I think it's the bare minimum of what should be considered an “acceptable” interface. I also hope it might not take that much time, since there are no new functions (buttons, tabs, images, movable parts...) in the interface itself, it's all just about moving the text.
Please let me know what you think of it. Obviously, there's still a lot to be done – all “detailed information” screens need reworking, some of the screens like burrows or workshops would probably need changes. I hope to get to it later, but no promises. Feel free to come up with your own solutions. Of course if you dislike the whole proposal you're free to come up with your own :wink:
And here's a bit of a candy:
Mouse Support (Optional)I'd really love to be able to click on everything. Also, mouse opens the possibility for useful tooltips!