Wednesday, October 17, 2018

interaction design - What is the best graphical interface for inputting a list of pairs?


I want to create a graphical interface for inputing skill build orders for an RPG game. A skill build is an ordered list of (skill, number) pairs, like this (see footnote):


(A x1) -> (B *) -> (C x2) -> (A *)

I want to create a graphical interface that can add items to this kind of list, preferably in any position of it.



The main idea I am having now is to make some sort of drag-and-drop interface, with icons representing the skills


current build = (A x1) -> (B *) -> ...
-----------------------------------------
amount: [ 1 | 2 | 3 | 4 | * ] (radio buttons or drop-down selector)
skills: +---+ +---+ +---+
| A | | B | | C |
+---+ +---+ +---+

Clicking an icon would add the item-number combination to the end of the list (the most common place to add things to) and dragging it to a spot on the result list would cause it to be inserted there instead.


But I imagine having to do multiple clicks to select the number and the icon would be awkward. An alternative might be having a button for each possible pair:



+----+  +----+  +----+
|A *| |B *| |C *|
+----+ +----+ +----+

+----+ +----+ +----+
|A x1| |B x1| |C x1|
+----+ +----+ +----+

+----+ +----+ +----+
|A x2| |B x2| |C x2|

+----+ +----+ +----+
//and so on

But then I think it would get way too cluttered.


What is the best way to input such a list of pairs?


Are there any places where a similar problem was solved and where I can take inspiration from?


Some design considerations:




  • I have 4-5 skills and the numbers range from 3-5 (and the * wildcard)





  • Some numbers (1 and *) will be selected more often then others (2,3,4). All skills are equally likely to be selected.




  • If we choose an asymmetrical design, skills should be prioritized over numbers.




  • I am primarily interested in obtaining a fast and clean workflow. It is OK if the final result ends up a little complicated or unintuitive.




    • This is not intended to be the default interface. I want this to be faster then the simple but slow interface where each skill is entered manually for each level.






For the curious, a pairing like


(A x1) -> (B *) -> (C x2) -> (A *)

can be interpreted as


As a first priority, level up A once

As a second priority, level up B whenever possible
As a third priority, level up C twice
As a fourth priority, level up the remaining levels of A

The main reason for using this is because describing directly what skill to take at each level is longer and less clear:


A, B, C, B, C, B, A, B ...  // this is simple, but less clear


No comments:

Post a Comment

technique - How credible is wikipedia?

I understand that this question relates more to wikipedia than it does writing but... If I was going to use wikipedia for a source for a res...