Arimaa Forum (http://arimaa.com/arimaa/forum/cgi/YaBB.cgi)
Arimaa >> Site Discussion >> Improving piece selection.
(Message started by: NeilT on Jan 19th, 2012, 7:20am)

Title: Improving piece selection.
Post by NeilT on Jan 19th, 2012, 7:20am
I've played a few games of Arimaa now and I think that the way steps are selected in the web GUI client is good but could be improved.  To move a piece, you need to move the cursor to the square containing the piece, wait for the arrows, move the cursor to the adjacent empty square, then click.  That's four actions to select a step.

But the user is just trying to select an edge between an occupied square and an adjacent empty square.  The user could select that edge by clicking on it.  For that to work, the client would only bring up a single arrow at a time.  It would work out the edge which is closest to the cursor and examine the squares on either side.  If one side is occupied by a piece and the other is not and it is valid to move the piece to the empty square, it would bring up the arrow.  When the user clicks, it would make that step.  This cuts the number of actions down to two: move the cursor to the edge and click.

It would also be nice to be able to drag a piece from one square to the next.  Even better would be if it were possible to drag a piece through several squares.  So at the start of the game I could just drag my elephant four squares forwards.  As I'm dragging it, the client could show the arrows for all the moves available from the square under the cursor.

What do people think of these ideas?  Are they good or bad?

Title: Re: Improving piece selection.
Post by Fritzlein on Jan 19th, 2012, 8:52am
The original interface moved pieces by click and drag.  When the current way of moving pieces was first introduced, I was skeptical at first, but I soon got used to it and came to prefer it over click and drag.  I wouldn't have expected it a priori, but the highlight and select feels smoother.

Highlighting edges is an intriguing idea.  It could be less work, and it sounds like it is worth a try.  How would a push work?  Would you first select the motion of the pushed piece, as at present?

Title: Re: Improving piece selection.
Post by NeilT on Jan 19th, 2012, 11:43am
You can only really tell whether an interface works by trying it out, so perhaps dragging isn't as intuitive as I image.  I was thinking that dragging would be in addition to the click interface so people could use whichever they felt happiest with.  Drag would be triggered by moving the cursor with the button down.  Click would be triggered by releasing the button without dragging.  Mind you, that might just cause confusion.

Yes, with the edge idea, push/pull would work as it does with the current interface.  That technique works well.

Title: Re: Improving piece selection.
Post by ocmiente on Jan 19th, 2012, 12:00pm
Good idea.  I would also like to be able to flip a piece with one drag move.  Click and hold on the piece to be flipped, drag to the piece doing the flipping, drag to empty square, drag back to where the flipping piece is/was, and end on the space where the flipped piece ends up.  This would mean one continuous drag move - kind of a short T shaped movement.

Pulling and pushing could both be accomplished with one drag move.   For pushing, start with the pushing piece, drag through the piece to be pushed and end where the piece is pushed to.  Pulling starts with pulled piece, drag through the pulling piece, and end where the pulling piece ends up.

I also like the idea of dragging a piece to its final square without having to click on all the squares in between.  

And I also like the edge clicking idea.  That would work with a touch interface or a mouse.

The Arimaa client I use on my PC doesn't work on a tablet.  I haven't taken the time to figure out which, if any, interface works well on an Android tablet, but it would be nice if all of the interfaces took touch interfaces into account.


Title: Re: Improving piece selection.
Post by Oystein on Jan 19th, 2012, 1:32pm
I use the click-on-edge method in my GUI, and I think the method works well.

(The GUI is written in an attempt to help me in my AI programming, but of course, the result is no time left for my main goal)

Title: Re: Improving piece selection.
Post by NeilT on Jan 20th, 2012, 12:54pm

on 01/19/12 at 12:00:21, ocmiente wrote:
Good idea.  I would also like to be able to flip a piece with one drag move.


You're reading my mind.   ;)

Title: Re: Improving piece selection.
Post by Hippo on Jan 20th, 2012, 1:28pm
The edge clicking sounds well. I am not sure with the dragging.

Title: Re: Improving piece selection.
Post by robinz on Jan 21st, 2012, 6:16am
Am I the only one who keeps accidentally undoing steps, because when I click to move a piece, I accidentally click on the square with the piece on it, rather than the adjacent one?

I'd rather have to click the piece to say you are going to move it, then click on the destination square. This will create twice as many clicks, but still seems a bit less clunky overall. I'm not sure if there is a good way of doing this, sadly.

Incidentally, I've only played autopostal games for at least the past 6 months, so it being a bit of a faff to enter moves doesn't really bother me, but I recall that it did when I was trying to play live games at fastish speeds. Blitz games in particular I found impossible, as even if you can decide on a move instantly (and I'm generally a fairly slow player) it takes me much of the allotted time just to enter my 4 steps...

Title: Re: Improving piece selection.
Post by Simon on Jan 22nd, 2012, 2:51pm

on 01/19/12 at 12:00:21, ocmiente wrote:
Good idea.  I would also like to be able to flip a piece with one drag move.  Click and hold on the piece to be flipped, drag to the piece doing the flipping, drag to empty square, drag back to where the flipping piece is/was, and end on the space where the flipped piece ends up.  This would mean one continuous drag move - kind of a short T shaped movement.

Pulling and pushing could both be accomplished with one drag move.   For pushing, start with the pushing piece, drag through the piece to be pushed and end where the piece is pushed to.  Pulling starts with pulled piece, drag through the pulling piece, and end where the pulling piece ends up.

I also like the idea of dragging a piece to its final square without having to click on all the squares in between.  


I've had the same thoughts. One issue is, it seems natural to extend the pushing idea to a double push but if you do the same for a double pull there's a potential ambiguity of whether you want a double pull or a single pull with the pulling piece moving an additional step.

Title: Re: Improving piece selection.
Post by ocmiente on Jan 23rd, 2012, 11:48am

on 01/22/12 at 14:51:56, Simon wrote:
I've had the same thoughts. One issue is, it seems natural to extend the pushing idea to a double push but if you do the same for a double pull there's a potential ambiguity of whether you want a double pull or a single pull with the pulling piece moving an additional step.


My preference would be that once you start a pull, the rest of the move is considered to be a continuation of the pull - so dragging two squares past the pulling piece would pull twice.  If you wanted to do a pull first, then a single step by the pulling piece, that would require two drag movements.  



Title: Re: Improving piece selection.
Post by lightvector on Jan 23rd, 2012, 7:21pm
What about an interface where in *all* cases, you simply move the pieces to where you want them to be at the end of the turn (either by click + drag or click + click), and then on submission, the interface finds an up-to-4-step move that achieves that result, if one exists?

This could be a difficult interface to use if you're new, especially since sometimes intermediate states in the process of click and drag may not be reachable by a legal move, and especially when your move violates some rule you didn't see so that you can't actually submit, but if you've played enough so that the rules are intuitive, then I imagine once you get used to it, this is one of the most efficient interfaces I can think of for minimizing the the time spent entering your move.

For example, moving the elephant 4 steps is a single click and drag.  Flipping a piece is a single click and drag. A 3-step combo of stepping in and out of a square to drag a piece can be done simply by dragging that piece directly.




Title: Re: Improving piece selection.
Post by Migi on Jan 24th, 2012, 8:47am
I like your idea, lightvector. But to make it a little bit less confusing, I would show arrows on the board (both while you're dragging and afterwards) of the steps necessary to get there. So flipping a piece would be 1 drag, and show 4 arrows. If there are multiple possibilities, just pick one, but be consistent.

These arrows are not permanent. Moving an additional piece can change the arrows that are already there. Like if there are multiple ways to unfreeze a piece (and step back), it could show you one, but you can later do another (and not step back).

If it's not possible to reach the position in 4 steps, show no arrows and maybe show a small error message somewhere. You can't show a big error popup and undo the move though: If you're doing a double push and you move the pushed piece first, then there's no 4-step move to reach the position that's now on the board. But it's still possible to complete the move by dragging the pushing piece.

Also, dragging a piece onto another piece should switch their positions, like on move 1g/1s.

Anyway, I think it would be best to just try it out and see. Unfortunately I don't have enough time to make such an interface myself (the thing with the arrows requires a move generator - did anyone make their bot in JavaScript or Flash?)

Title: Re: Improving piece selection.
Post by Migi on Jan 28th, 2012, 10:58am
Hmm, about the idea with the arrows I talked about in the above post, I'm no longer convinced that it's the best idea. For example, yesterday as I was playing I noticed that I sometimes put the move I'm thinking about on the board (without clicking send yet), to look for tactical counters. The arrows would be quite distracting then. Also, I'm not sure how this would work when expert mode is on.

Title: Re: Improving piece selection.
Post by Fritzlein on Feb 3rd, 2012, 10:02pm

on 01/21/12 at 06:16:34, robinz wrote:
Am I the only one who keeps accidentally undoing steps, because when I click to move a piece, I accidentally click on the square with the piece on it, rather than the adjacent one?

That only happens in Expert Mode.  I do it sometimes too, but I think on balance it is worth being able to undo steps in Expert Mode without having to move my mouse off the board to the "<" button.  In blitz games I keep Expert Mode turned off so that this particular kind of misclick doesn't cost me precious seconds, and because I never have time to play out lines before hitting send anyway.  



Arimaa Forum » Powered by YaBB 1 Gold - SP 1.3.1!
YaBB © 2000-2003. All Rights Reserved.