Welcome, Guest. Please Login or Register.
Apr 20th, 2024, 6:13am

Home Home Help Help Search Search Members Members Login Login Register Register
Arimaa Forum « Working on new interface, would like feedback »


   Arimaa Forum
   Arimaa
   Site Discussion
(Moderator: supersamu)
   Working on new interface, would like feedback
« Previous topic | Next topic »
Pages: 1  Reply Reply Notify of replies Notify of replies Send Topic Send Topic Print Print
   Author  Topic: Working on new interface, would like feedback  (Read 2822 times)
thomastanck
Forum Senior Member
****



6366th Person to register!

   


Gender: male
Posts: 30
Working on new interface, would like feedback
« on: Mar 23rd, 2013, 6:31am »
Quote Quote Modify Modify

Abstract: The current mouseover and click interface is difficult to use, being the reason for many misclicks. To facilitate play for superblitz (4s/move) and superlightning (2s/move) games, we shall investigate and implement a hybrid interface using both the mouse and keyboard that is hopefully faster, more reliable, and most importantly, easier to use.
 
Old design by thomastanck: https://dl.dropbox.com/u/17117351/interfacedesign.txt
New design by thomastanck and clyring: https://docs.google.com/document/d/17B-QJnoGpYf5_ASsW9wLYoeJqRepfDK2waff ZYmE6iw/edit?usp=sharing
 
If you have any questions, please ask! Especially if you don't know how to perform a certain move using my proposed interface; just give me a position and a move and I'll translate. If you feel that there should be a shortcut or exception for a certain move sequence, please put that in with a position and a move as well.
 
More importantly, discuss! I'm not sure that this interface is the best right now, and I only have 1 problem in my problems list.
 
Finally, I'm very busy right now, but I'm still putting some time into this every day. If anyone wants to help me, or take up the challenge and implement this him/herself, feel free.
 
P.S. The example position was very badly chosen so one of the sample interactions could not be done, and I left that as TODO. More reason for you to reply with different positions containing moves that I may have overlooked.
 
TODO LIST
1) Implement Core code
2) Implement UI code
3) Premove
4) Drag and Drop UI code
5) Drag and Drop Flipping & Long range Movement
« Last Edit: Mar 23rd, 2013, 12:59pm by thomastanck » IP Logged

Thomas Tan, a very bad Arimaa player.
Boo
Forum Guru
*****



Arimaa player #6466

   


Gender: male
Posts: 118
Re: Working on new interface, would like feedback
« Reply #1 on: Mar 23rd, 2013, 10:12am »
Quote Quote Modify Modify

You might consider stealing a premove idea from chess:
 
http://support.chess.com/Knowledgebase/Article/View/109/13/what-are-prem oves-and-how-do-they-work
IP Logged

clyring
Forum Guru
*****



Arimaa player #6218

   


Gender: female
Posts: 359
Re: Working on new interface, would like feedback
« Reply #2 on: Mar 23rd, 2013, 10:14am »
Quote Quote Modify Modify

Being able to continue entering steps while moving the mouse over to the next piece to be moved would be nice and would definitely save precious time in really fast games, but would definitely take some getting used to. I really like that idea, but feel like it could be implemented somewhat better still than what has been described.
 
-It is probably a bit easier to work with when both push and pull steps have the enemy piece being moved as the active piece.
-There should of course be a keyboard shortcut for submitting a move. Perhaps X would be fine for this?
-Edge-clicking to enter steps: Maybe not as important with the keyboard controls, but I would consider it a nice  feature to be able to enter moves with only the mouse in this way. It would also slightly speed up moves made with the keyboard since the click to select an active piece would also be making that piece's first step.
 
More on the first point (by example, as in your text-dump): Consider the position with just Ee6 Dd7 De7 cd6  from gold's perspective. To move the elephant, just click on one of the edges next to the elephant leading to a vacant square (In this case e5  and probably not f6!Tongue) and then use WASD to move it further if needed (or more edge-clicking, whichever). To push the cat into the c6 trap, click on the edge between c6 and d6, then use A to push with the elephant or S to push with the dog. To pull then push the cat into the f6 trap, click on the edge between the elephant and the cat to make the cat the active piece and indicate the start of a pull, then press S or click the appropriate edge to complete the pull, with the cat remaining the active piece. Then press D or click the appropriate edge to start the push and press W to complete the push with the elephant or S to complete it with the dog, then press X to send the move. (For a grand total of: Click d6|e6, press SDW(X) or SDS(X))
« Last Edit: Mar 23rd, 2013, 10:47am by clyring » IP Logged

I administer the Endless Endgame Event (EEE). Players welcome!
thomastanck
Forum Senior Member
****



6366th Person to register!

   


Gender: male
Posts: 30
Re: Working on new interface, would like feedback
« Reply #3 on: Mar 23rd, 2013, 10:31am »
Quote Quote Modify Modify

on Mar 23rd, 2013, 10:12am, Boo wrote:
You might consider stealing a premove idea from chess:
 
http://support.chess.com/Knowledgebase/Article/View/109/13/what-are-prem oves-and-how-do-they-work

 
Thank you. I'll put it last on my TODO Tongue
But seriously, I didn't think.
 
on Mar 23rd, 2013, 10:14am, clyring wrote:
Being able to continue entering steps while moving the mouse over to the next piece to be moved would be nice and would definitely save precious time in really fast games, but would definitely take some getting used to. I really like that idea, but feel like it could be implemented somewhat better still than what has been described.
 
-It is probably a bit easier to work with when both push and pull steps have the enemy piece being moved as the active piece.
-There should of course be a keyboard shortcut for submitting a move. Perhaps X would be fine for this?
-Edge-clicking to enter steps: Maybe not as important with the keyboard controls, but I would consider it a nice  feature to be able to enter moves with only the mouse in this way. It would also slightly speed up moves made with the keyboard since the click to select an active piece would also be making that piece's first step.
 
More on the first point (by example, as in your text-dump): Consider the position with just Ee6 Dd7 De5 cd6  from gold's perspective. To move the elephant, just click on one of the edges next to the elephant leading to a vacant square (In this case e7  and probably not f6!Tongue) and then use WASD to move it further if needed (or more edge-clicking, whichever). To push the cat into the c6 trap, click on the edge between c6 and d6, then use A to push with the elephant or S to push with the dog. To pull then push the cat into the f6 trap, click on the edge between the elephant and the cat to make the cat the active piece and indicate the start of a pull, then press S or click the appropriate edge to complete the pull, with the cat remaining the active piece. Then press D or click the appropriate edge to start the push and press W to complete the push with the elephant or S to complete it with the dog, then press X to send the move. (For a grand total of: Click d6|e6, press SDW(X) or SDS(X))

 
-Consistency is good. I'll take it
-Spacebar is the send shortcut
-Edge-Clicking is a great idea, but I'll be implementing this as an option. Personally I'm VERY fumbly with the mouse, and would continue to misclick edges Tongue
 
Thank you for the example, it was what allowed me to understand at all.
IP Logged

Thomas Tan, a very bad Arimaa player.
Boo
Forum Guru
*****



Arimaa player #6466

   


Gender: male
Posts: 118
Re: Working on new interface, would like feedback
« Reply #4 on: Mar 23rd, 2013, 10:58am »
Quote Quote Modify Modify

Quote:
eb6s Ma6e Mb6e eb5n: ClickA6 D S ClickB5 W D (ClickA6 D ClickANY D) (Pull/Push compound. very common capture move)

This is a camel flip. I don't think 2 mouse clicks and 4 keyboard clicks are faster than camel drag-drop Ma6-->Mc6. I think introducing drag-drops for flipping and long range moving like
Quote:
cf7w ce7s ce6s ce5s: ClickF7 A S S S    (move single piece)

 is worth attention.
IP Logged

thomastanck
Forum Senior Member
****



6366th Person to register!

   


Gender: male
Posts: 30
Re: Working on new interface, would like feedback
« Reply #5 on: Mar 23rd, 2013, 12:55pm »
Quote Quote Modify Modify

on Mar 23rd, 2013, 10:58am, Boo wrote:

This is a camel flip. I don't think 2 mouse clicks and 4 keyboard clicks are faster than camel drag-drop Ma6-->Mc6. I think introducing drag-drops for flipping and long range moving like
 is worth attention.

 
Yes, thanks for reminding me.
 
I have updated the OP with a new link and my TODO list.
IP Logged

Thomas Tan, a very bad Arimaa player.
harvestsnow
Forum Guru
*****





   


Gender: male
Posts: 88
Re: Working on new interface, would like feedback
« Reply #6 on: Mar 24th, 2013, 2:14pm »
Quote Quote Modify Modify

Quote:
To move the elephant, just click on one of the edges next to the elephant leading to a vacant square (In this case e5  and probably not f6!) and then use WASD to move it further if needed

 
I added something like this to the tampermonkey script I presented in the other thread. Just change "WASDMOVES = true;" to test it.
 
The original client code is not modified, I just check where the good arrow is displayed and click() on it when the corresponding key is pressed. You'll have to click on the piece once first, then use WASD for all the moves.
 
The eventOverSquare function is reset, so the arrows will be displayed when you click on the piece but not when you mouve over it.
It would be possible to keep it but then the cursor will have to stay on the original square until the piece finishes its move. Otherwise the command will target the wrong square.  
Keeping all the functionnalities of the client and adding this one would require patching the eventClickSquare function, I think.
« Last Edit: Mar 24th, 2013, 3:01pm by harvestsnow » IP Logged
thomastanck
Forum Senior Member
****



6366th Person to register!

   


Gender: male
Posts: 30
Re: Working on new interface, would like feedback
« Reply #7 on: Mar 24th, 2013, 6:34pm »
Quote Quote Modify Modify

Hey harvestnow,
 
Do you mind implementing the rest too? I already have pseudocode written in the doc. I'm much less familiar with the code than you are, so you'll probably get it done faster. I don't really mind how you do it exactly, but you can ask me for more details if you want.
IP Logged

Thomas Tan, a very bad Arimaa player.
harvestsnow
Forum Guru
*****





   


Gender: male
Posts: 88
Re: Working on new interface, would like feedback
« Reply #8 on: Mar 25th, 2013, 2:23pm »
Quote Quote Modify Modify

In fact, what I did has little to do with either of your systems I shouldn't even have quoted clyring since he was talking about something else... It's just a bunch of shortcuts added to already existing mechanics: you press a key instead of clicking an arrow. I'm not sure if it's even faster than the original.
 
Your suggestion is much more ambitious, since it basically requires to rewrite the whole logic. I might look into it, but I don't promise anything.
 
If we were to rewrite a new client from scratch, maybe I would favor a system where you can move any piece the way you want. Before sending the move, the code checks that the created position is a valid one (by generating all the possible moves, or with a more clever method). If it is valid, send a move that produces it, otherwise reset the position. I think that would be the easiest way to make a drag-and-drop system work, or to allow moving the pulling and the pulled pieces separately. You might lose some time when you make a mistake, but you're playing at superblitz anyway, so hopefully you know what you're doing.
« Last Edit: Mar 25th, 2013, 2:24pm by harvestsnow » IP Logged
Pages: 1  Reply Reply Notify of replies Notify of replies Send Topic Send Topic Print Print

« Previous topic | Next topic »

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