Arcen Games

General Category => A Valley Without Wind 1 & 2 => Topic started by: Penumbra on April 16, 2012, 10:32:02 am

Title: Alternative ways of using multiple rows.
Post by: Penumbra on April 16, 2012, 10:32:02 am
I'll use my "one wish" on a usability improvement. This is the one thing that has been getting in my way for how I like to approach the game. Extra key bindings for inventory bars 2-10 (http://www.arcengames.com/mantisbt/view.php?id=6137)

To me, it doesn't sound like a large change, but would be one that gives a large amount of flexibility to the players. These extra binds, which would be completely unbound by default, would allow for other features some people have requested. Personally, this would allow me to have dedicated buttons on my keyboard for wooden platforms AND crates. I could have light orb on G, flash of light on Shift-G, and light snake on Ctrl-G. I always want quick access to fire touch and then a host of combat spells. A whole grouping for three different shield types. I could go on, but I hope I made my pint  ;)

As for future development on this, showing more inventory bars when "closed" and labeling the extra slots could totally be put off till past 1.0. This Mantis report is just for the binds, and the extra options menu window to set them.
Title: Re: Alternative ways of using multiple rows.
Post by: keith.lamothe on April 16, 2012, 10:35:47 am
I'll use my "one wish" on a usability improvement. This is the one thing that has been getting in my way for how I like to approach the game. Extra key bindings for inventory bars 2-10 (http://www.arcengames.com/mantisbt/view.php?id=6137)

To me, it doesn't sound like a large change, but would be one that gives a large amount of flexibility to the players. These extra binds, which would be completely unbound by default, would allow for other features some people have requested. Personally, this would allow me to have dedicated buttons on my keyboard for wooden platforms AND crates. I could have light orb on G, flash of light on Shift-G, and light snake on Ctrl-G. I always want quick access to fire touch and then a host of combat spells. A whole grouping for three different shield types. I could go on, but I hope I made my pint  ;)

As for future development on this, showing more inventory bars when "closed" and labeling the extra slots could totally be put off till past 1.0. This Mantis report is just for the binds, and the extra options menu window to set them.
The difficulty with not labelling them is that with the rotating-row thing how would you know which bind goes with which slot, unless you somehow always keep straight which row is "first"?
Title: Re: Alternative ways of using multiple rows.
Post by: x4000 on April 16, 2012, 10:41:34 am
I guess we could label them "row 1, row 2, etc" in the inventory itself.  But for players who are NOT using this feature, that might get more than a little confusing.
Title: Re: Alternative ways of using multiple rows.
Post by: Toll on April 16, 2012, 10:42:37 am
Can't remember which game had this, but what you could do is ditch the rotating system and assign row one to 1-0, row two to ALT+1-0, row three to SHIFT+1-0 etc. Between the permutations of alt, shift and ctrl, you should be able to hit eight usable rows that way. Not sure how easy-to-use that would be though, although personally I've never actually used the row changing function other than by accident anyway.
Title: Re: Alternative ways of using multiple rows.
Post by: Penumbra on April 16, 2012, 10:43:51 am
I would assume it would always be relative. And, if as a user I decide to bind two bars instead of just one, rotating them would have expected consequences. 
Title: Re: Alternative ways of using multiple rows.
Post by: x4000 on April 16, 2012, 10:45:18 am
I went ahead and split this topic out, because it was taking over the other thread.  I think that makes good sense if it's always relative: then you can rotate AND yet you can also still do the sort of bindings described here.
Title: Re: Alternative ways of using multiple rows.
Post by: keith.lamothe on April 16, 2012, 10:45:57 am
I guess we could label them "row 1, row 2, etc" in the inventory itself.  But for players who are NOT using this feature, that might get more than a little confusing.
Yea, though possibly we could just put a special marker on "row 1" for anyone who has any of those row 2+ binds defined, so they'd have to do one exploratory bind and could then work from there.

I would assume it would always be relative. And, if as a user I decide to bind two bars instead of just one, rotating them would have expected consequences. 
That much could be done with no additional UI, yea.  I'm not sure if other users would be as understanding ;)  I've noticed a trend when adding new interface stuff for specific players: they put up with foibles and are happy to have it, but then other players come along later and wonder why on earth these very specific bindings (or whatever) don't do what they want ;)
Title: Re: Alternative ways of using multiple rows.
Post by: Penumbra on April 16, 2012, 10:48:00 am
Can't remember which game had this, but what you could do is ditch the rotating system and assign row one to 1-0, row two to ALT+1-0, row three to SHIFT+1-0 etc. Between the permutations of alt, shift and ctrl, you should be able to hit eight usable rows that way. Not sure how easy-to-use that would be though, although personally I've never actually used the row changing function other than by accident anyway.

I think this would take away large amounts of flexibility needlessly. Any key you bind to bar one would lose all the modified versions at once. It would also remove your ability to rearrange your inventory freely. Having this configuration could be bound, however, if that user wishes it.
Title: Re: Alternative ways of using multiple rows.
Post by: x4000 on April 16, 2012, 10:50:39 am
I'm not sure if other users would be as understanding ;)  I've noticed a trend when adding new interface stuff for specific players: they put up with foibles and are happy to have it, but then other players come along later and wonder why on earth these very specific bindings (or whatever) don't do what they want ;)

I've noticed that trend also, but I do think that it's really likely that many of the players who would want these binds aren't going to be the sort who use the rotation in the first place.  If you have 30 items bound by default anyhow, why would you?

Then we will have the camp who wants to simply assign wooden platforms (or whatever) to a specific key and have done with it.

Perhaps, to placate that second camp, we can simply do some keybinds specifically for some commonly-needed spells (wooden platforms and crates being the two big ones I can think of).  I guess then we could also do ones for all the light-related spells, for that matter.  And I guess the various shields.

Not that I want to get into specific unbound keybinds for every spell... but for the logistical spells that would by far be simplest and most flexible, in a lot of respects.
Title: Re: Alternative ways of using multiple rows.
Post by: Penumbra on April 16, 2012, 10:54:24 am
Specific binds for every spell is what I am going after. I suggested this because it had more "grounding" in the original interface. I would see no real difference when playing, except for when I would want to change, say, which three shields I am using. I would then be forced to go into the key binding interface and swap three things instead of just rearranging my inventory.
Title: Re: Alternative ways of using multiple rows.
Post by: x4000 on April 16, 2012, 10:57:48 am
I really don't think that specific bindings for every spell will ever be that feasible.  I mean, I guess we could, but that's a whole heck of a lot of bindings.

In most respects that would be easier than the relative rows thing, though -- if we just made bindings for a list of "key spells" for now, would that solve your query?  And we could always grow the list of "key" spells over time.
Title: Re: Alternative ways of using multiple rows.
Post by: Penumbra on April 16, 2012, 11:06:47 am
Maybe I don't understand "relative" in this case. Here is how I am meaning it.

The "main" bar is whichever is shown at the bottom. They key bindings for these start at the left and move right. If the user rotates the inventory bars, all items shift through and a new set is visible on the main. The key bindings are for the slots, and not the spells.

For the key binds I was suggesting, this would work just like this, except working on the second through tenth bars.

Specific binds for every spell would be completely untenable, with updates and usability issues. 
Title: Re: Alternative ways of using multiple rows.
Post by: x4000 on April 16, 2012, 11:12:56 am
Maybe I don't understand "relative" in this case. Here is how I am meaning it.

The "main" bar is whichever is shown at the bottom. They key bindings for these start at the left and move right. If the user rotates the inventory bars, all items shift through and a new set is visible on the main. The key bindings are for the slots, and not the spells.

For the key binds I was suggesting, this would work just like this, except working on the second through tenth bars.

I understand what you mean by relative, and that's also how I meant it.

Specific binds for every spell would be completely untenable, with updates and usability issues.

That's my thought also, and why I said "key spells."  Basically, what I was thinking was this:

1. Have a keybind for "wooden platform" that is default unbound.  If you bind that to, say, G, then you know you can always hit G to trigger wooden platforms no matter where they are in your inventory.
2. Do the same thing for the shields, the light spells, maybe teleport... and that's about it.

Odds are, most players would not use any of that.  But if ball of light is central to how you play, then you'd map that and possibly wooden platforms to... whatever you want.  Then you can just throw them anywhere in your inventory and not worry about their position, relative or otherwise, and always know you can trigger them.  And meanwhile you can scroll through differently themed bars to get different combat spells at any given time.

It's not a replacement for what you were describing, but it's a far simpler way of hitting the most common cases.
Title: Re: Alternative ways of using multiple rows.
Post by: Penumbra on April 16, 2012, 11:23:17 am
It's not a replacement for what you were describing, but it's a far simpler way of hitting the most common cases.

This would give me 5 free slots to do with as I choose, as "floater" spells. The first bar is shared with my 5 button mouse, so 5 of those must be combat spells (and by must, I mean for me). I would be able to play with a few more spells at a given time. And, if it really is much easier to implement, that makes perfect sense. I don't have a good grasp on the difficulties involved.

Having specific binds for certain key spells is a nice feature, just, as you said, not this one  ;D  I reserve to right to bring it up again in the future!
Title: Re: Alternative ways of using multiple rows.
Post by: Penumbra on April 16, 2012, 11:31:28 am
the players who would want these binds aren't going to be the sort who use the rotation in the first place. 

This describes me perfectly. One of the first things I did was remove the binds for rotating. I use Vim almost exclusively at work, and I just like have a specific series of keys to do a discrete action. Once things become relative, all of a sudden I have to start remembering state. That just makes me do one of two things: either check constantly to remember, or always revert back to a known state.   I never claimed to be like most people, however :)
Title: Re: Alternative ways of using multiple rows.
Post by: zebramatt on April 16, 2012, 11:35:51 am
I wonder if there might be any distance in allowing keybinds to be assigned via the existing full spellbook interface, via an innocuous little button in the corner or some such?

Then you don't need to individually list EVERY spell in the bindings - just those which have been set. That might be a little incongruous, mind you, but it seems intuitive on the surface.
Title: Re: Alternative ways of using multiple rows.
Post by: x4000 on April 16, 2012, 11:40:27 am
I wonder if there might be any distance in allowing keybinds to be assigned via the existing full spellbook interface, via an innocuous little button in the corner or some such?

Then you don't need to individually list EVERY spell in the bindings - just those which have been set. That might be a little incongruous, mind you, but it seems intuitive on the surface.

Something like that could be interesting to explore post-1.0, but it would require quite a bit of rejiggering on our whole keybind handling system.  Or, well, close to an entire rewrite (which I wouldn't consider) unless we could figure out something clever, to be more accurate.  I just don't have time to figure out the "something more clever" for that one at this point, or to deal with the new bugs that would result from a change like that.
Title: Re: Alternative ways of using multiple rows.
Post by: TechSY730 on April 16, 2012, 11:45:45 am
I think allowing for key-binds of the most "important" logistics actions would be a good compromise. I would certainly use that.
Title: Re: Alternative ways of using multiple rows.
Post by: Penumbra on April 16, 2012, 12:20:53 pm
I wonder if there might be any distance in allowing keybinds to be assigned via the existing full spellbook interface, via an innocuous little button in the corner or some such?

Then you don't need to individually list EVERY spell in the bindings - just those which have been set. That might be a little incongruous, mind you, but it seems intuitive on the surface.

Something like that could be interesting to explore post-1.0, but it would require quite a bit of rejiggering on our whole keybind handling system.  Or, well, close to an entire rewrite (which I wouldn't consider) unless we could figure out something clever, to be more accurate.  I just don't have time to figure out the "something more clever" for that one at this point, or to deal with the new bugs that would result from a change like that.

I think the beauty of key bindings representing inventory slots instead of specific skills is actually really great. Being able to change which button does what, just by rearranging your skill bars is an amazing feature. Once you finished with binding things (which is never a really easy task, unless you let the user also do it from the inventory screen, by like pressing a button while mousing over... ok, nevermind :) ) you need never go back to that interface. If, later, the skill slots had their individual bindings printed on them, the entirety of swapping could be handled in the same interface easily and intuitively.

Bind to slot, slot to skill is a really nice indirection. 
Title: Re: Alternative ways of using multiple rows.
Post by: x4000 on April 16, 2012, 12:42:14 pm
Bind to slot, slot to skill is a really nice indirection.

It is, but you're missing out on what a whole bunch of other people (not you) keep bugging me about: ways to basically mirror wooden platforms in multiple ability bars.  They want wood platforms always on the same key, but to otherwise be able to rotate the rest of their spells through their bars.  So in other words, they want a few key spells pinned, and the rest of them handled with the handy indirection.

When Keith was saying that a lot of other folks wouldn't be happy with the sort of bindings you were asking for, I imagine he had those folks in mind (I sure did).  For them, doing the direct-access keybinds for certain key spells is really handy.  And it would somewhat meet your needs as well as being the easiest possible way to do this in the short-term, I think, which is a double bonus. 

That's why I said it wasn't really a replacement for what you were asking for, but it's also something that's needed.
Title: Re: Alternative ways of using multiple rows.
Post by: Penumbra on April 16, 2012, 12:52:47 pm
Yep! These are great. To stop the "always needing to add more,"  can you make a generic interface that is automatically updated when you add new spells? Not so much for the skill interface, but the thing zebramatt said would make it simpler on you in the long run if it were just auto-generated in the key-binding interface.

Comes down to which is less code. Custom code per spell as needed, or a "whatever is available" once and done.
Title: Re: Alternative ways of using multiple rows.
Post by: Bluddy on April 16, 2012, 12:57:48 pm
How about having a lock symbol under every ability on the toolbar? Clicking this lock will prevent that specific spell from rotating out. So you could place crates in a slot, then lock it, and when you rotate, crates won't get replaced. Once locked, a slot will continuously display the lock underneath it.

As a double-lock (to prevent accidentally clicking lock when you really wanted to click the spell) you could require shift to be pressed to reveal the lock buttons, or have a master lock button on the left that, when clicked, reveals the individual lock buttons.

Title: Re: Alternative ways of using multiple rows.
Post by: keith.lamothe on April 16, 2012, 12:58:11 pm
Honestly, I think it would be less total effort (than having a handpicked list of abilities bound this way) to have a separate binding tab (to keep the existing ones from getting swamped) for all player-usable abilities, and adding the keybind is just a quick thing you do at the end of implementing a new spell... though I guess the determination of what is "player usable" is not easily automated.

But simply doing bindings for the other 90 slots in the normal inventory I think would be much more "once and done", less overall effort because it doesn't involve a new code path for triggering an ability, etc.  It would require some user education (basically, "if you use this, don't try to use it with rotation"), but I think it would work.
Title: Re: Alternative ways of using multiple rows.
Post by: Penumbra on April 16, 2012, 01:01:49 pm
I just want more buttons. Whatever is easiest to implement and maintain for you guys.  :)

, "if you use this, don't try to use it with rotation")
A totally separate tab on the key-binding interface would remove it from accidental use. You could even have the tab only appear if rotate is turned off, or something.
Title: Re: Alternative ways of using multiple rows.
Post by: Professor Paul1290 on April 16, 2012, 02:18:19 pm
I don't know if this helps any, but I'll describe how I'm using spells right now.

The way I think of the spells right now is that I think of them as one of three categories:
A. Spells that need to be aimed and need to be fast. (projectiles in general)
B. Spells that need to be aimed but don't need to be fast. (Platforms and such)
C. Spells that don't need to be aimed. (Rhino, Area of effect around the player, and so on)

"A" tends to go into the left half of my first row which is where my five mouse buttons are as well, and anything that doesn't fit tends to get swapped in and out of that half of the row as necessary.
"B" tends to go into the right half of the first row. I use the number keys with for these spells.
"C" tends to go anywhere else in the inventory. I usually open up the inventory and right click these because they don't need to be aimed anyway. (yes, I open up my inventory quite often  :P )

It tend not to rotate the rows to get to spells because I find that, at least for me, it's more prone to mistakes and fumbling.
Title: Re: Alternative ways of using multiple rows.
Post by: LintMan on April 16, 2012, 02:51:30 pm
I'd like the ability to bind specific keys to specific spells, also.  A binding tab would be nice, but sounds like a fair bit of UI work.  How about this for a simpler implementation:

Use car stereo preset keys as a model:
1.  Select the spell you want to bind.
2.  Press and hold the key you wish to bind it to.  Keys already mapped in the settings cannot be overridden by these binds.
3. After 3-5 seconds you see a message that spell <x> is now bound to key <y>.

I'd be happy with this even if there was no way to view a list of these binds later.   Just press the keys and find out!