ALFA Universal UI (Plus Other UIs for DMs/Players!)

New models, textures, & integration of 3rd party content.

Moderators: ALFA Administrators, Staff - Technical

FoamBats4All
Githyanki
Posts: 1289
Joined: Sat Feb 04, 2012 6:00 pm

ALFA Universal UI (Plus Other UIs for DMs/Players!)

Post by FoamBats4All »

I'm not a UI developer. However, it doesn't take much to realize that NWN2, and ALFA in particular with its add-in content, has a cluttered player interface, and an even more cluttered DM interface.

So I've started working on what I'm calling the "ALFA Universal UI". The goals of this interface are as follows:
  • Provide a single interface to work with, removing and replacing both DMFI and PC Tools.
  • Take up a small amount of screen real estate.
  • The UIs should only capture mouse clicks when absolutely necessary. No more having an invisible section of your screen unusable (such as with DMFI's DM tools).
  • Provide a textual command for every component, so that users of the Stand Alone Client can still get things done. These commands will be documented.
  • Cover both player and DM tools in the same UI. Highlight DM tools in some way to make them stand out.
For design, I'm going with a bar to the left side of the screen. Icons will fill this vertical bar, standing for categories of actions. When an icon is clicked, it brings up a second bar, with smaller icons. This bar (also vertical) has the actual commands. This means that it is always at most 2 clicks to get to the tool you want. Clicking an already active category hides the second bar. Neither backdrops capture mouse events, so you can click through everything but the currently displayed buttons.

There is a lot to cram into this UI. I'm still working on categories and how to neatly organize/display everything. I'll post when I have a finalized list.

However, as I said, I'm no UI developer. I'm also not the one who hammers away at the DM Client the most. I'd appreciate input by players and DMs, and I'd rather scrap the work I have now in favor of a better idea than create something that people won't use. So feedback and input, particularly by those who make often use of the tools or have design experience, is appreciated. Once I have a better idea, support, or overwhelming apathy I'll continue work.

Here's a screenshot of a general idea of what it looks like. Not all the categories are finalized, as I said above.
ImageImage
User avatar
wvincenti
Rust Monster
Posts: 1129
Joined: Mon Jan 05, 2004 5:32 pm
Location: NJ, USA (GMT -5)

Re: ALFA Universal UI

Post by wvincenti »

I don't know if it will help, but I'm currently getting a lot of mileage out of Charlie's UI.

http://nwvault.ign.com/View.php?view=NW ... tail&id=25

-Bill
  • Currently NWN1 ALFA: Ryld Ky'bler
    Currently NWN2: Gwindor Faelivrin, still not actually dead!

    Formerly: Timyin Tim, Glorfindel Inglorion and Beleg Thalionestel amongst others.
Zelknolf
Chosen of Forumamus, God of Forums
Posts: 6139
Joined: Tue Jul 05, 2005 7:04 pm

Re: ALFA Universal UI

Post by Zelknolf »

I would warn against a philosophy of reducing clicks when content is this voluminous. Human memory is capable of containing about seven items at a time (five comfortably), and everything else needs to be stored or shuffled. Precious few people (ironically, typically people who are adept at making this sort of thing) store and retrieve very efficiently and don't notice this as much, but I wouldn't count on that being a typical experience.

That said, I'm with you on having everything collapse to the left; our meaningful information on the base scene is largely square and centered, but our client rectangle is wider than it is tall (with the PC list being on the right, so we probably don't want to fight with it). I would probably want to organize things by task/concept (it looks like you're organizing by mechanic right now?)-- that is, if we're in combat, we probably don't need to roll diplomacy; we probably want a "move all <faction> to me," "focus attacks on current selection," "make hostiles run away," "stop combat [presumably ClearAllActions() on all creatures, switch personal reputations to neutral, switch NPC factions to neutral; if new AI, clear FactionEnemies collection]," and tools for killing/damaging/healing/(tech)raising. Similarly, a travel category might note where people are in terms of areas/listening range/perception, and cover our tools for jumping/moving people around, and a social category might cover emotes, voice throwing, and facing.

It might mean 3-4 clicks (combat > damage > text input + {enter or click}; combat > rally on me > defenders), but that's probably faster than scanning a longer list of buttons.


// edit -- we should probably also index the existing tools and evaluate how well they're serving their purposes. I certainly got my fair share of "This button is stupid; can you just rip it out?" requests over the last couple years.
User avatar
oldgrayrogue
Retired
Posts: 3284
Joined: Thu Jan 24, 2008 7:09 am
Location: New York
Contact:

Re: ALFA Universal UI

Post by oldgrayrogue »

*Applauds Foam*

If you could do this just for the DM client I would love you.
FoamBats4All
Githyanki
Posts: 1289
Joined: Sat Feb 04, 2012 6:00 pm

Re: ALFA Universal UI

Post by FoamBats4All »

Zelknolf wrote:I would warn against a philosophy of reducing clicks when content is this voluminous. Human memory is capable of containing about seven items at a time (five comfortably), and everything else needs to be stored or shuffled. Precious few people (ironically, typically people who are adept at making this sort of thing) store and retrieve very efficiently and don't notice this as much, but I wouldn't count on that being a typical experience.
Good to know, will keep that in mind.
Zelknolf wrote:That said, I'm with you on having everything collapse to the left; our meaningful information on the base scene is largely square and centered, but our client rectangle is wider than it is tall (with the PC list being on the right, so we probably don't want to fight with it). I would probably want to organize things by task/concept (it looks like you're organizing by mechanic right now?)-- that is, if we're in combat, we probably don't need to roll diplomacy; we probably want a "move all <faction> to me," "focus attacks on current selection," "make hostiles run away," "stop combat [presumably ClearAllActions() on all creatures, switch personal reputations to neutral, switch NPC factions to neutral; if new AI, clear FactionEnemies collection]," and tools for killing/damaging/healing/(tech)raising. Similarly, a travel category might note where people are in terms of areas/listening range/perception, and cover our tools for jumping/moving people around, and a social category might cover emotes, voice throwing, and facing.
I'm still working on organization, though it's definitely by task/concept, with the exception of the 'roller' category which has all the rolling/simulation functions. Will be posting later on all the functions we need, and my proposed categories for them.
Zelknolf wrote:// edit -- we should probably also index the existing tools and evaluate how well they're serving their purposes. I certainly got my fair share of "This button is stupid; can you just rip it out?" requests over the last couple years.
While I'm at it I'll be changing some of the old UIs, yeah. Anyone unsatisfied with current ALFA UIs is encouraged to post here and we can look into fix them.
FoamBats4All
Githyanki
Posts: 1289
Joined: Sat Feb 04, 2012 6:00 pm

Re: ALFA Universal UI

Post by FoamBats4All »

oldgrayrogue wrote:If you could do this just for the DM client I would love you.
That's the idea. :) This UI should be workable for both DMs and players.
FoamBats4All
Githyanki
Posts: 1289
Joined: Sat Feb 04, 2012 6:00 pm

Re: ALFA Universal UI

Post by FoamBats4All »

A listing of all tools offered by our UIs so far, to be recategorized. If someone else wants to take a stab at making this all neat into a few categories, would be very helpful! Going to do it myself and look to see if anyone else posts before actually putting it into the XML. As I said, I'm not the most UI design-savy person out there.

NWN2 Stock Ribbon
DM Creator, DM Chooser, Toggle Trap/Trigger Display, Toggle DM Invisibility, Pause, Toggle Free Camera On/Off

DMFI Ribbon
VFX Manager, Ambience Manager, Localized Sounds Manager, Music Manager, Dice Roller, Voice Widget, Autofollow, Inventory Manager, Local Variable Manager

PC Tools
Save Character, Check Time, Safe Location, Build Campire, Pitch Tent, Toggle AFK, Emotes, Dice Rolls, Timers
Pray for Spells, KEMO Animations, Save Location, Set Description, Subdual mode, VFX Lute/Backpack/Quiver/Shield/Lrg-sword/Greataxe/Dwarfaxe/Swrd-back/Swrd-belt/Bow-back, Close Door, Known Spells, Prepared Spells

DMFI Target
BATTLE TOOL: Increase STR/DEX/CON/SR, Decrease STR/DEX/CON/SR, Whole Area Hostile, Whole Area Commoner
CREATURE TOOL: Copy PC, Copy Party, Remove Effects, Scale, Set Appearance, Freeze Player, Boot Player, Rename, Set Faction Hostile/Defender/Commoner/Merchant, Manage Inventory, Identify Inventory, Strip Inventory, Remove Uber Items, List Languages, Grant Languages, Remove Languages
ITEM TOOL: Identify, Rename, Give/Take Item IM, Toggle Cursed/Plot/Stolen
PLACEABLE TOOL: Rotate, Rename, Set Plot, Destroy, Remove 3'/6'/20'
SERVER TOOL: Report Gold/Networth/XP/Location, Copy PC, Copy Party, Paste Creature, Adjust Time, Adjust Weather to Default, Increase/Decrease Rain
DMFI DM PARTY TOOL: Get Out Of My Way, Jump Player to DM, Jump Party to DM, Jump All Players to DM, Create Start/Destination Portal, Destroy Portal, Send Message Popup to All Players, Send Message Popup to Party

Context Menu
DM GENERAL COMMANDS: Jump DM to Object, Permanently Destroy Object, Toggle Invulnerability, Dump Local Variables
DM CREATURE COMMANDS: Limbo, Jump Object to DM, Heal, Kill, Rest, Give 10 XP, Give Experience, Give/Take Gold, Set Experience, Set Script Hidden, Reset Level, Shift Alignment
DM OBJECT COMMANDS: Set Locked, Set Lockable
DMFI OBJECT TOOL: DMFI Rotate, Rename
DM CREATURE CONTROL: Unpossess Creature, Take Control, Take Control Full Powers
DMFI SERVER TOOL: Adjust Time, Paste Creature, Report Gold, Report Net Worth, Report XP, Battle Control

Player Report
Reset Rest Timer, Reset Study/Pray Timer, Jump to Player, Auto-Follow Player, Show Itemized Wealth Report { w/ (Un)Curse Item, (Un)Plot Item, (Un)Stolen Item}, Boot Player

Loose UIs
ZSpawn, Modebar, Minimap, Power Attack/Combat Expertise

Currently Text-Only Commands
Roll Attack, Roll Grapple, Roll Initiative, Roll Skill, Roll Ability, Ping, Page, SRD, uptime, IRC, IRCMSG
Last edited by FoamBats4All on Wed Jan 09, 2013 9:13 pm, edited 1 time in total.
Reason: Added missed UIs mentioned by Zelknolf
Zelknolf
Chosen of Forumamus, God of Forums
Posts: 6139
Joined: Tue Jul 05, 2005 7:04 pm

Re: ALFA Universal UI

Post by Zelknolf »

Couple more that jump to mind. I still feel like we're missing some things, but
Player Report
(inherently shows all players online and party membership)
Reset Rest Timer, Reset Study/Pray Timer, Jump to Player, Auto-Follow Player, Show Itemized Wealth Report { w/ (Un)Curse Item, (Un)Plot Item, (Un)Stolen Item}, Boot Player

Combat Mode UIs
In two parts:
Combat Expertise/ Power Attack (which I don't think ever displays for DMs?)
Bardsong / Other Modes (which I believe always shows for DMs, fully populated?)

Maps
(likely to be left alone, but still-- minimap + area map totally exists, and they're totally tools)
FoamBats4All
Githyanki
Posts: 1289
Joined: Sat Feb 04, 2012 6:00 pm

Re: ALFA Universal UI

Post by FoamBats4All »

So here's the organization that I came up with. Will say it again: I'm no interface designer. Would appreciate input from others. Or if someone has a better breakdown, would like to see it. Additionally, if any DMs or players have additional tools they would like to see, speak up.

Player- and DM-Visible:
Combat and Abilities
Roll Initiative, Roll Attack, Roll Grapple, Roll Ability, Roll Save, Roll Skill, Roll Dice, Subdual Mode, Pray for Spells, Use Spellbook*

Roleplay
Toggle AFK, Check Time**, Autofollow, Animations*, Set Description, Select Language, Manage Spells*, Visual Effects, List Anchors*, Safe Location

Utility
Save Character, List Online Players, Send Message to IRC, Seen Player, Notify to Combat Log, List Version, Ping, Uptime, Lookup SRD
DM-Visible:
Combat Control
ZSPawn, Whole Area Hostile, Whole Area Commoner, Modify Stats, Modify Spell Resistance, Set Faction

Player Manipulation
Give 10xp, Give Experience, Set Experience, Take Crafting Gold/XP*, Shift Alignment, Reset Level, List Languages, Grant Languages, Remove Languages, List Known Spells, List Prepared Spells

Object Manipulation
Jump Object to DM, Jump DM to Object, Rename, Set Appearance, Scale, Rotate, Copy PC, Copy Party, Identify Item, Identify Inventory, Strip Inventory

Object State
Destroy, Destroy 3', Destroy 6', Destroy 20', Toggle Invulnerability, Toggle Plot, Toggle Cursed, Toggle Stolen, Set Locked, Set Lockable

DM Tools
Paste PC, Remove Effects, Manage Inventory, Local Variable Manager, Rest Party, Reset Rest Timer, Reset Study/Pray Timer

World Management
Adjust Time, Adjust Wealther*, VFX Manager, Ambience Manager, Localized Sounds Manager, Music Manager, Create Portal, Create Destination Portal, Destroy Portal

Server Management
Freeze Player, Boot Player, Report Location, Report Gold, Report Networth, Jump All Players to DM, Send Message Popup to All Players, Send Message Popup to Party
* - New tool.
** - Modified to also show how long it will take for you to get tired.
User avatar
Ithildur
Dungeon Master
Posts: 3548
Joined: Wed Oct 06, 2004 7:46 am
Location: Best pizza town in the universe
Contact:

Re: ALFA Universal UI

Post by Ithildur »

This would be an amazing effort, kudos Foam.

Maybe a separate Roll Touch Attack? Not sure if you've incorporated that into grapple checks, but the two go hand in hand and often there are times touch attacks need to be calculated aside from grapple.

Also perhaps display touch AC, display flatfooted AC, for those times when DMs/players choose to break things down in detail per pnp rules? Roll stuff like bull rush, trip, disarm per pnp would be dreamy, but probably not used that often by most folks (although I'd definitely use bull rush from time to time!).
Formerly: Aglaril Shaelara, Faerun's unlikeliest Bladesinger
Current main: Ky - something

It’s not the critic who counts...The credit belongs to the man who actually is in the arena, who strives violently, who errs and comes up short again and again...who if he wins, knows the triumph of high achievement, but who if he fails, fails while daring greatly.-T. Roosevelt
Zelknolf
Chosen of Forumamus, God of Forums
Posts: 6139
Joined: Tue Jul 05, 2005 7:04 pm

Re: ALFA Universal UI

Post by Zelknolf »

Hmm-- I do like a fair bit of that, though the structure is a bit shallow (which is indeed fewer clicks, but slower scanning), and it looks like there's an assumption that any given function will only be in one place (which I think is nomming on some of the tasks).

If I could suggest a structure like so:
Combat
- Whole Area Neutral (I think we should change this from commoner; neutral defaults to being very non-disruptive, while default commoner has issues)
- Subdual
- Factions (Submenu)
--- Whole Area Hostile
--- Whole Area Neutral
--- Set Selection Hostile
--- Set Selection Neutral
--- Set Selection Commoner
--- Set Selection Merchant
- Modify Abilities (submenu)
--- Stats
--- SR
--- Toggle Invulnerability
- Spawns (submenu)
--- Creator
--- zSpawn
- Dice (submenu)
--- Roll <whatever>
Role Playing
- Toggle AFK
- Check Time
- Follow
- Animations (submenu)
- Set Description
- Select Language
- Manage Spells
- Visual Effects
- List Anchors
- Safe Location
- Face Target <yes, new tool, but seriously: how many times have you been in a conversation thinking "Why won't this toon look at that one?">
Movement
- List Location
- Jump Object to DM
- Jump DM to Object
- Jump Party to DM
PC Manager
- Advancement
--- Give Experience
--- Set Experience
--- Bonus Experience
--- Reset Level
- Effects
--- Remove Effects
- Abilities
--- Pray for Spells
--- Use Spellbook
--- Reset Spell Preparation Timer
--- Reset Rest Timer
--- List Languages
--- Grant Languages
--- Remove Languages
--- List Known Spells (could this become "modify known spells?" -- we'd have to list them to allow them to be changed)
--- List Prepared Spells
--- Validate Prestige Class
- Inventory
--- Manage Inventory
--- Identify Item
--- Identify Inventory
--- Strip Inventory
--- Take Crafting Gold/XP
--- Toggle Plot/Cursed/Stolen
--- Report Gold
--- Report Inventory
- Alignment
--- (I forget if we have different buttons to give tiny nudges in a direction; submenu if so, button if not)
- Copy PC
- Copy Party
- Rest Party
NPC Manager
- Rename
- Appearance
--- Set Appearance
--- Scale
--- Rotate
- Inventory
--- Identify Item
--- Identify Inventory
--- Strip Inventory
--- Take Crafting Gold/XP
--- Toggle Plot/Cursed/Stolen
- Factions (Submenu)
--- Set Selection Hostile
--- Set Selection Neutral
--- Set Selection Commoner
--- Set Selection Merchant
- Modify Abilities (submenu)
--- Stats
--- SR
--- Toggle Invulnerability
- Alignment
--- (I forget if we have buttons; it should be easy for a DM to make an NPC be good/evil/lawful/chaotic -- that drives a lot of mechanics)
Scene Management
- Adjust Time
- Adjust Wealther*
- VFX Manager
- Ambience Manager
- Localized Sounds Manager
- Music Manager
- Portals (submenu)
--- Create Portal
--- Create Destination Portal
--- Destroy Portal
- Destroy (submenu)
--- Destroy
--- Destroy 3'
--- Destroy 6'
--- Destroy 20'
- Locks and Traps (submenu)
--- Toggle Locked
--- Toggle Lockable
--- Toggle Trapped
Management
- Ping
- Save Character
- <need a name for this: "discipline" is a PA thing, even though the proper use of these will probably involve the PA; DMs have a "get this guy out of my face" button>
--- Freeze Player
--- Boot Player
- Reporting
--- List Online Players
--- List Version
--- Uptime
--- Report Location
--- Report Gold
--- Report Networth
- Movement
--- Jump Object to DM
--- Jump DM to Object
--- Jump All Players to DM
- Communication
--- Send Message to IRC
--- Seen Player
--- Send Message Popup to All Players
--- Send Message Popup to Party
--- Notify to Combat Log
- Data
--- Local Variable Manager
- Reference
--- Lookup SRD
--- <I feel like we could have any quantity of information stuffed in here; probably something to see to over time, but I like to point to Civilization as a game with some fine documentation always available>
- Copy Party
- Rest Party
Dice
- Redundant versions of all rolling stuff


And then the thought from there would be to filter based on PC v. DM status.


Of course, making everything accessible through GUI also means that any player with technical knowledge and a sufficiently black hat can just call those scripts, so we should probably add logging to everything and add early checks for DM status before doing anything.
FoamBats4All
Githyanki
Posts: 1289
Joined: Sat Feb 04, 2012 6:00 pm

Re: ALFA Universal UI

Post by FoamBats4All »

Zelknolf wrote:Hmm-- I do like a fair bit of that, though the structure is a bit shallow (which is indeed fewer clicks, but slower scanning), and it looks like there's an assumption that any given function will only be in one place (which I think is nomming on some of the tasks).
Which particular tasks?
Zelknolf wrote:If I could suggest a structure like so:
<snip>
A couple of things I dislike about that, though definitely want to add subsubmenus for things like factions/abilities and some of those tools (like facing the target). It won't work for everything (like rolling skills, there are just too many of them and having a visual-only representation of each would be a headache). Anyway here's things I would like to avoid:
  • DM and player tools sharing the same category.
  • Submenus with only one subsubmenu option.
  • Small submenus/too many parent menus. With a vertical layout we need to balance for it not to look weird. If we have too many categories we get a longer, larger UI and the submenu buttons become increasingly distant from their parent category button. Not the end of the world. But if we have to many submenu options, we run into the problem of them being longer than our base bar's height, which is jarring. Also dislike submenus to open up subsubmenus when they're lower on the chain, particularly if they would have a long list.
That said I'm not really satisfied with my own layout for DM tools yet, and will incorporate some of your suggested tools. If we could find a middle ground that meets the above restrictions I'd be happy. Or if someone else wants to suggest a layout, that'd be valuable too. As would thoughts on DMs and players about usability and wants.
Zelknolf wrote:And then the thought from there would be to filter based on PC v. DM status.
We could do that, though another reason I wanted DM tools separate from player tools is so that I can enable/disable a few buttons rather than having to scan for individual buttons to enable in DM mode.
Zelknolf wrote:Of course, making everything accessible through GUI also means that any player with technical knowledge and a sufficiently black hat can just call those scripts, so we should probably add logging to everything and add early checks for DM status before doing anything.
Yes, they could. Of course all scripts will validate to make sure that DM functionality is called from a DM tool. One of the reasons I wanted DM tools in their own buttons was so that I could cut that functionality off earlier to make it more secure.
FoamBats4All
Githyanki
Posts: 1289
Joined: Sat Feb 04, 2012 6:00 pm

Re: ALFA Universal UI

Post by FoamBats4All »

Ithildur wrote:Maybe a separate Roll Touch Attack? Not sure if you've incorporated that into grapple checks, but the two go hand in hand and often there are times touch attacks need to be calculated aside from grapple.

Also perhaps display touch AC, display flatfooted AC, for those times when DMs/players choose to break things down in detail per pnp rules? Roll stuff like bull rush, trip, disarm per pnp would be dreamy, but probably not used that often by most folks (although I'd definitely use bull rush from time to time!).
Will add those, thanks for the suggestion!
Zelknolf
Chosen of Forumamus, God of Forums
Posts: 6139
Joined: Tue Jul 05, 2005 7:04 pm

Re: ALFA Universal UI

Post by Zelknolf »

FoamBats4All wrote:Which particular tasks?
Well, the most obvious examples would be these ones:
  • DM and player tools sharing the same category.
(seems like an odd restriction to place on oneself; DMs do a lot of stuff that is just player stuff on an expanded scope or on a different critter.)

We could also avoid the bar height v. submenu height with current icon heights. As it is, the main menu bar (looks like 40x40 icons?) would be 320 pixels tall, and the largest thing inside of it (11 items visible in a vertical bar, with 24x24 icons) would be 264. From there we just have a positioning problem-- but certainly something to keep aware of, and something I was trying to be sensitive to, especially keeping in mind how brutally-restrictive NWN2's minimum resolution (800x600) is.
paazin
Fionn In Disguise
Posts: 3544
Joined: Thu Apr 15, 2004 1:07 am
Location: UTC +2
Contact:

Re: ALFA Universal UI

Post by paazin »

I like the initial mock-up Foam presents.
People talk of bestial cruelty, but that's a great injustice and insult to the beasts; a beast can never be so cruel as man, so artistically cruel.
Locked