UI/UX: Rewrite the whole way interactions in a shop work
issueid=5294 10-13-2017 10:57 PM
The Creator
Number of reported issues by adom-admin: 480
UI/UX: Rewrite the whole way interactions in a shop work

Just look e.g. at how shops work (and to which for some reason we are accustomed):
- It is _not_ typical that wares are lying on the ground.
- It is _not_ obvious that picking them up doesn't steal them but rather puts them into a kind of cart.
- It is strange that a shopkeeper blocks a door and moving into him just brings up an attack option.
- It is weird that you can talk to the shopkeeper but this doesn't lead to any meaningful interaction.
- It is bothersome that you need up to three separate commands to pay (p to pay single items, P to display your debts, :p to pay for all; not to mention that you need the fourth ($) to see your gold because our gold icon in the new HUD is so tiny that nobody understood it).
- It is strange that a shopkeeper sometimes doesn't immediately clear the door to the shop after paying but keeps it blocked for a moment.
- Villagers running around in the shop and standing in the way also aren't helpful.

We could get rid of all four commands, replace it by "p"ay, not require to be anywhere near the shopkeeper for it to work, display a dialog that lists your debts, your current gold and offers to pay for (1) all, (2) some items or (3) none right now. And then just execute the transaction or allow you to select the items you want to pay for (optimally in a simple multi-select-variant of the pick-drop-dialog which we yet don't have). Or you would be press "p" and display a window featuring your current gold, plus any items you have to pay, and just pick from the list with keys/mouse. Items that are not affordable should be gray and emit that annoying buzzing noise of no-can-do. Adding an (x) close menu button would be a nice touch, just for those "I don't know what to do neeeeeext" kind of guys.
Issue Details
Issue Number 5294
Issue Type Feature
Project ADOM (Ancient Domains Of Mystery)
Category All
Status Implemented
Priority 2
Suggested Version ADOM 2.3.5
Implemented Version ADOM 2.3.6
Milestone "Ease of Use" UI
Votes for this feature 0
Votes against this feature 1
Assigned Users adom-admin
Tags (none)




10-14-2017 09:58 AM
The Creator
We even could replace 'p'ay completely and unify money management under '$': If you have debts it simply will offer to pay them and display some extra shopkeeper interaction.

Thus we could get rid of all the 'p'-related commands and add 'p'ick as a mnemonic for newbie players (who totally do not get the traditional ',' for pickup).

10-14-2017 11:01 AM
Ancient Member
Regarding items on the ground, manually picking them up, and shopkeeper: this is what makes ADOM shops great because it makes the player think of how to rob them, and it feels great when you manage (or almost manage) that for the first time! Angband-like shops that are just menus will never provide that feeling.

The non-obviousness can be fixed if the first shopkeeper the player finds (i.e., Terinyo) gives a bit of instructions the first time you arrive: "You can pick any of my wares from the ground, inspect it, then pay if you are convinced!" or similar.

Regarding talking to the shopkeeper: yes, this could definitely bring up a dialog like "You owe X gold pieces ([p] to pay, [space] to ignore)" or something like that.

Regarding the multiple commands: I'm an old-school player and have never actually needed all of them, I only use 'p'. But I don't see the advantage of removing commands that can be useful for other people. Just don't show them to the noobs and hide them under some "advanced commands" section of the manual, but why remove them if someone can use them?

Villagers entering the shop: I love this because it enhances immersion. In fact I would go the opposite way, i.e., making villagers actually buy something from time to time.

Pay command working from a distance: this makes sense (maybe not a lot immersion-wise, but I think it's a good compromise).

Pay dialog with different options: this would also be nice.

Gold icon: maybe you could display the amount of gold more prominently in the HUD, but only when the character is in a shop, so it won't take space the rest of the time? Typically the player doesn't worry much about golds the rest of the time, except in certain places like altars or the casino (perhaps you could bring it up in those cases as well).

Unify everything under "$": note that "$" might be difficult to type in some international keyboards. In the Spanish keyboard is easy (Shift+4) but I can imagine it being harder in others (I remember that I had many problems with the "#" command in some previous versions of ADOM).

10-14-2017 02:00 PM
Qui Qui is offline
Senior Member
I'm also an old-school player and I only use :p, so I guess everyone has their own preferences.

As for non-intuitive interactions, the most non-intuitive for me is that buying and not-selling causes shops to restock. Probably would make more sense the other way around (you sell things, the shopkeeper presumably trades them for something else with someone, and gets new things you can buy) but that's for some other RFE in the future maybe.

10-15-2017 07:19 AM
Ancient Member
Quote Originally Posted by Al-Khwarizmi
Regarding items on the ground, manually picking them up, and shopkeeper: this is what makes ADOM shops great because it makes the player think of how to rob them, and it feels great when you manage (or almost manage) that for the first time! Angband-like shops that are just menus will never provide that feeling.

Regarding talking to the shopkeeper: yes, this could definitely bring up a dialog like "You owe X gold pieces ([p] to pay, [space] to ignore)" or something like that.
In general I agree, but couldn't there be a dialog option which brings Angband-like shop menu too? You know for people who are used to shop that way.

10-15-2017 09:53 AM
Senior Member
Put items on shelves that you can "stand over" pick items from shelves and maybe just 'C'hat to shop keeper to show dialog options to pay them? Why need 'p'ay command at all and not use 'C'hat?

I think '$' is just as confusing as 'p', besides it's a special key and certain keyboard layouts have it in hard place to press. I don't like pressing "alt gr" + "4" to access "$"

Getting rid of "Pay" command and joining it together with "Chat" would also reduce huge amount of keybindings adom has.

10-15-2017 10:22 PM
The Creator
The following changes have been applied to ADOM:
- All 'p'ayment commands have been removed. They now are invoked via '$', which has become much smarter. Additionally when you 'C'hat with the shopkeeper, he also will initiate payment if you have any debts with him. The advantage of "$" is that it doesn't require you to stand next the shopkeeper while for chatting you have to do that.
- The shopkeeper now explains (when first entering a shop) how picking up stuff and paying works (thanks to Al-Khwarizmi for the idea). In tutorial and easy mode he does so in a speech bubble to make this as clear as possible. In all other modes it's just a part of the message so that players don't become too distracted.
- The shopkeeper now immediately vacates the shop door as soon as you have paid all debts to make it more obvious how all this works.
- There now is a quick advice display (similar to quick hints) that shows how your gold and debt change during a turn. If the dynamic displays your gold, it won't be redundantly repeated in that advice, otherwise both will be shown as appropriate.

10-15-2017 10:26 PM
The Creator
Oh, and I forgot: Village people now show up in the shop much less often. While I agree that more detailed interactions with village people and shop content would be awesome, we don't have that now and so it's better for them to stay out of the way in order to simplify navigation in the early maps.

+ Reply