Arimaa Forum (http://arimaa.com/arimaa/forum/cgi/YaBB.cgi)
Arimaa >> Site Discussion >> Game viewer / analysis tool
(Message started by: clojure on Sep 9th, 2010, 9:01pm)

Title: Game viewer / analysis tool
Post by clojure on Sep 9th, 2010, 9:01pm
Here are the current results of this thread.
Newest version: http://personal.inet.fi/koti/egaga/arimaa-viewer/arimaa.html
Tutorial: http://personal.inet.fi/koti/egaga/arimaa-begin/tutorial.html
Video demonstration: http://www.youtube.com/watch?v=raeswA4pzj4
------------------------------------------

My plan is to introduce a new client for Arimaa that is supposed to fill the gap of a proper game viewer. I hope that I have the energy to build it to be modifiable for others, too. The source code will be in MIT license (permits almost anything). Of course, its usage must be in accordance with Arimaa's license.

This post is supposed to give you a glimpse of what might happen; please don't rely on it, because I get stressed about  achieving something very easily. Public announcement like this seems to contradictory in that regard but I think speaking of the project will actually relieve me some of the pressure because I can get social confirmation of the ideas and viability. Also, it could be that some of the work can be divided among us. Especially, I need information about server side stuff.

Okay, so I see that the main goal is to be able to view an existing game, and try out variations, comment and mark positions/moves, import and export the information in suitable notation. The optional requirements, for environment, should be that the client is usable without active Internet connection, and could work in mobile devices.

If this is achieved in manner that it's polished and has user friendly interface, possible customizable one, I think I would be satisfied. Privately I also hope that I document and structure the code properly for future changes.

Now, let's get a bit enthusiastic. I saw the thread about shared board, and tadaa, we have a winner idea. I think my analyzer can be done in such fashion that it is usable collaboratively. I have technical questions that have to be verified but I think it won't be too hard (though getting everything right is).

One good test for the client would be the One vs. the Mob game. It would have to be easy to offer suggestions, and see even if people are out of sync in real time. It should be easy to see what are new comments etc. But achieving exactly this is not very high priority.

I hope this tool would help people to interact with others more, talk about the game, and give educated people possibility to teach. Now that I've read Begining Arimaa, I'm entirely convinced that Arimaa must have a good interactive tool for discussing ideas. There's so much possibilities. From top of my head, I'd say if there was some tagging system, people could browse the archive with combinations like "camel framing", "elephant capture". (Of course, this can be achieved by letting bots to analyze the archive, but you got the point, didn't you? I didn't.).

Here's some random list that gives some features and ideas which should be discussed and prioritized.

commenting :-X
 * is there need for authenticating who said what, basically one could trust only game files from arimaa.com
   ** I say keep it simple: one can edit a gametree position's comment however one will, and save the commented game as a new one
 * it should be easy to browse only those game positions that have comments, possibly game tree structure has a hint (e.g. icon)
   ** it's a bit annoying with the current technical solution, which permits only one icon per node (combinations of different icons blows up the amount of work labour)
 * chatting is freeform and could or could not be saved to the gamefile

importing games
 * verification that the game is properly notated
 ** a formal description of the notation system
 * possibly human readable but the recursive variations make it kind of pointless
 * i think the following works: a mark for opening variation for a move before the mark, e.g. Hb1e [ Hb1w ], and this supports recursiveness.
 * comment begin and end mark that let's user put anything inside (maybe escape system can be ignored for first)

live collaborative analysing :o
 * control
 ** only one has it at a time
 ** the admin is the only one who can _take away_ the control forcefully
 ** otherwise it is meant so that people mostly suggest moves as variations and put a comment on that
 ** people can try variations without others seeing it (so suggestions are commits of variations)
 ** the one with control accepts variations (for example queue based)
 ** one can give control to others by clicking control-button next to username
 * server-side
 ** node.js (see nodejs.org could be possibly very well suited here. it seems easy to use. unfortunately windows-version needs cygwin
 ** node.js best thing is that because the client is in javascript, the server can use exactly the same logic code that doesn't deal with ui
 ** see also socket.io (google) which seems promising for event based ajax/comet/websocket-system

bot analyzing ???
 * one could connect a bot (could be javascript bot of course, too) which would help the user
 ** one could give positions for which to find forced goals
 ** bot could suggest alternative moves for beginners, maybe give textual info why that move is good
 *** if bot has strategic understanding, that is
 * could find similar games from archive and suggest to view those

So... you still there?

Mostly, I'm interested to hear suggestions from user's perspective. Also documents that help me to understand possible integration to Arimaa server would be helpful.

As a bonus here's a preview of the current state of the viewer http://www.youtube.com/watch?v=C94r0qh-FSc

edit 17.9.2010:
You can try out latest version here: http://personal.inet.fi/koti/egaga/arimaa/arimaa.html

Title: Re: Game viewer / analysis tool
Post by rbarreira on Sep 10th, 2010, 10:43am
First reaction: wow, that is quite a cool and ambitious list. I'm watching the video right now, it looks good!

Title: Re: Game viewer / analysis tool
Post by Fritzlein on Sep 10th, 2010, 12:36pm
Awesome!  If the Arimaa Festival were tomorrow, I would want to use that tool on my computer and share my desktop via Skype.  The ability to store comments and sub-variations is like having lecture notes integrated with visuals.

In another application, the extensive comments I wrote up during the last Mob game would be obsoleted by your viewer.  Next time I will instead create an annotated game file for your viewer and share that.  I gave few concrete lines in my commentary, because it is a pain to notate them and a pain to read the notation, but your viewer solves both problems.  The Mob itself would have even more use for your viewer to facilitate their discussion.

Server integration, bot integration, and multi-user mode would all be very cool, but I know the dangers of imagining too many features and therefore flaming out before completion.  You ask for feedback; to that end I would like to start using it in its current state, treat it as an off-line only tool, and make usability suggestions on that front only.  Is your notation finalized?  Specifically, if I create a annotated game with the current interface, will it still be readable/usable by all future versions?

Thank you for undertaking this task.  You put your finger on a pressing need of the Arimaa community, and seem well on your way to having addressed it.  You rock!

Title: Re: Game viewer / analysis tool
Post by clojure on Sep 10th, 2010, 1:32pm
Good to hear positive reactions from both of you! The use cases Fritzlein provided are valuable for seeing how to improve the client and how to prioritize the project (maybe divide into milestones or even subprojects).


on 09/10/10 at 12:36:06, Fritzlein wrote:
I know the dangers of imagining too many features and therefore flaming out before completion.  You ask for feedback; to that end I would like to start using it in its current state, treat it as an off-line only tool, and make usability suggestions on that front only.


I agree completely. It's not that it isn't viable to do everything I listed, but the problem is how much effort is needed. And if the project is one big clumsy feature-creep, one could get depressed by not seeing clear progress and daunting issues looming in the task list. And it's well-known fact that user feedback is essential in early stages and small development iteration cycles are preferred in this kind of project.


Quote:
Is your notation finalized?  Specifically, if I create a annotated game with the current interface, will it still be readable/usable by all future versions?


Good question. I might have said it a bit poorly but the notation was only a suggestion that I hope to get feedback from those that understand notated game files. So there is not yet an implementation but it should be easy to do.

If file size issue is not important, I think I could create pretty stable notation. I could for example add an additional mark that could make possible to add unlimited kind of types of information to particular move.

Also if I tag the file with the version of the notation system, it should be easy to migrate old files. Newer versions should be as capable as older versions. If not, some data might be lost in file translation between version. (Say, I would drop the support for markings). But I don't see this a real problem.

The question for me is what to save in the current system. The notation that I get from Arimaa.com viewer has only the moves even without players' names. Also, should use of time saved (in case it's available somewhere)? Of course, missing data could be retroactively integrated but could be cumbersome.

To get first public version available, I think I settle to provide the information I get from clicking 'M' (move list) in Arimaa.com client.


Quote:
Thank you for undertaking this task.  You put your finger on a pressing need of the Arimaa community, and seem well on your way to having addressed it.  You rock!


My only worry is that I have put myself under expectations that I can't fulfill. Otherwise, I'm happy to help a friendly community. The best way to appreciate is to give feedback, support and let me know if there is some showstopper.

Next, I probably will polish the current version to be more user-friendly and also stem up the inner quality.

When I get the initial version ready, writing a bot could be a fresh vacation from this. No promises for available date but I hope there is a usable version in time for you to prepare for the October festival [insert a picture of Homer with thinking bubble containing buckets of beer]

Title: Re: Game viewer / analysis tool
Post by Hippo on Sep 10th, 2010, 2:29pm
Wow, when I have read the topic without seeing the video, I was afraid these are just words with nothing behind. The video looks great. Seems the off-line version is almost ready. Fritzlein question for format compatibility is good one, but I suppose it is not crucial as it would not be hard to create format converter.

Yes I would vote for project with milestones ... single user one able to import standard notation and save in it's own, as first, multiuser (on-line visible, not necessary simultaneously modified) second, bots third ...

I am not sure what are the coloring possibility good for especially when the color is not propagated to following turns. May be just to ilustrate comments.

Good job so far, thanks.

Title: Re: Game viewer / analysis tool
Post by clojure on Sep 10th, 2010, 2:37pm

on 09/10/10 at 14:29:33, Hippo wrote:
Wow, when I have read the topic without seeing the video, I was afraid these are just words with nothing behind.

I understood the value of it :). But even if I hadn't done anything but started the discussion, in the long run, the viewer will be done by someone if the community grows, so having the ideas laid out beforehand is useful. If a proper plan with division of features into task and prioritizing them is done, it will be much nicer for someone to step in from the bushes and done a bit of help.


Quote:
I am not sure what are the coloring possibility good for especially when the color is not propagated to following turns. May be just to ilustrate comments.


I forgot to mention about the marks. I am taking suggestions. I think visually a square, a circle, 'X', will be almost enough with possible addition of first three alphabets A, B, C, and maybe numbers. If the marking in itself doesn't bear any signifigance (just differentiates from others), the same game file can be shown in different visuals for different users with just change of style-file.

Thanks for commenting.

Title: Re: Game viewer / analysis tool
Post by leo on Sep 10th, 2010, 4:37pm
Yay! This is good news! :)

I agree with Fritz that things would be best done step by step, first having an offline viewer, then adding other features. But it feels on the right track to become a very complete multi-uses software package that can even interact with existing software such as the bot testing platform.

Just so people know: Henrik and I have been discussing privately during the last days about the shared board project. My hope is that your viewer can support multi-users soon so that we can work together on it instead of splitting forces on two projects.

Are there any technical details would-be co-developers should know?

Title: Re: Game viewer / analysis tool
Post by clojure on Sep 10th, 2010, 5:12pm
Yo Leo,


Quote:
But it feels on the right track to become a very complete multi-uses software package that can even interact with existing software such as the bot testing platform.


Yeah, it's exciting. However we must be careful not to try to generalize it too eagerly. That will easily lead to delayed feedback process and sometimes it's hard to make progress when goals are not concrete enough (just like in Arimaa?). Of course, making it too specific is not good at all, either, code-wise especially.


Quote:
My hope is that your viewer can support multi-users soon so that we can work together on it instead of splitting forces on two projects.


It's my hope too, but this is something that I don't want to promise, since I have little experience on this but my incidental "research" is promising.


Quote:
Are there any technical details would-be co-developers should know?


I want to emphasize that this is not only a coding project. If there is artist or web layout designer etc, I'm glad to have that kind of experience to help. But those are not priority issues.

But about technical details, I already suggested that we should investigate whether http://nodejs.org and http://socket.io/ would be the way to go.

The viewer is fully implemented in Javascript, including the game logic. This makes possible that when collaborative server side software is made, it can use exactly the same code for validating moves and saving the modified tree. It's a nice benefit, especially considering future changes to model logic.

I think I will write up some general plan in a public repository which has task management system and wiki. Then I'll see what other people could do. I definitely would like help in setuping the server side code to be run somewhere, at least.
Leo, if you are very eager to get collaborative thing going, you can see whether you can setup a demo locally where you have node.js running that sends back and forth json data with socket.io. If you get that done, the rest should be relatively easy for me to integrate to the client.

One hurdle is whether we need the same authentication as in Arimaa.com; if so, then there must be way for server to ask from Arimaa.com whether given user's credentials are ok.

Is there url that returns plain game data in some notation when given the game id? Probably is?

Title: Re: Game viewer / analysis tool
Post by leo on Sep 10th, 2010, 5:38pm
Thanks! I'm stuck with a server with no websockets and no node.js or the like, but I do plan to investigate the thing, and I think a few developers in the Arimaa community have a similar interest. Let's give them some time to chime in. Omar can give all the information you need about the server side questions.

Regarding the game logs, there's a log retriever in the Games section of the main web site. The direct url is http://arimaa.com/arimaa/games/showGame.cgi . If you want *all* game data such as timestamps and chat, you need to download the game archives in the Download section.

I'll write more feedback in the days to come. Thank you for undertaking that task!

Title: Re: Game viewer / analysis tool
Post by rbarreira on Sep 10th, 2010, 5:41pm

on 09/10/10 at 17:12:06, clojure wrote:
Is there url that returns plain game data in some notation when given the game id? Probably is?


http://arimaa.com/arimaa/games/pgn.cgi

Title: Re: Game viewer / analysis tool
Post by clojure on Sep 10th, 2010, 5:50pm

on 09/10/10 at 17:41:11, rbarreira wrote:
http://arimaa.com/arimaa/games/pgn.cgi


Excellent! Is there other hidden query available? For example to retrieve certain player's (id) game ids?

Title: Re: Game viewer / analysis tool
Post by rbarreira on Sep 10th, 2010, 5:52pm

on 09/10/10 at 17:50:27, clojure wrote:
Excellent! Is there other hidden query available? For example to retrieve certain player's (id) game ids?


Not that I know of, but maybe omar knows or can implement it if possible.

Title: Re: Game viewer / analysis tool
Post by leo on Sep 10th, 2010, 6:08pm
Oops, I gave the wrong URL. Thank you Ricardo for fixing it!
I don't think full data base query is implemented as of now but you can experiment with the archive files locally if needed for the moment. On some browsers, offline ajax can retrieve local files.

Title: Re: Game viewer / analysis tool
Post by Janzert on Sep 10th, 2010, 7:01pm
Note that despite the url's name above the format returned is pretty distant from pgn. Omar had also created created the ability to get the full game information (everything that is included in the database as far as I know) in JSON, YAML and possibly a few other formats. Unfortunately that was at http://arimaa.com/arimaa/games/agn.cgi which appears to be broken now.

Multiple game data in a very raw format is also available from http://arimaa.com/arimaa/games/db.cgi. This is mostly targeted for a tool that wants to keep up to date with all the games from the site.

Also somewhere around the site or possibly in a forum thread is at least a partial spec for the client interface to the gameroom. So anything you can do through the gameroom is possible.

Janzert

Title: Re: Game viewer / analysis tool
Post by clojure on Sep 10th, 2010, 7:10pm

on 09/10/10 at 19:01:07, Janzert wrote:
Omar had also created created the ability to get the full game information (everything that is included in the database as far as I know) in JSON, YAML and possibly a few other formats. Unfortunately that was at http://arimaa.com/arimaa/games/agn.cgi which appears to be broken now.


Useful information, thank you. It would be great if there would be all current information about how to retrieve data for future tool makers, e.g. in wiki.

Title: Re: Game viewer / analysis tool
Post by leo on Sep 10th, 2010, 8:03pm
Here's a list of links to server protocol and such:
http://arimaa.com/arimaa/forum/cgi/YaBB.cgi?board=talk;action=display;num=1199089716;start=
(second post of the thread; warning: it's an old thread)

Title: Re: Game viewer / analysis tool
Post by clojure on Sep 11th, 2010, 9:46pm
This is unusual of me, but I think I'll give you chance to try it out, even though it's not well tested yet http://bitbucket.org/egaga/arimaa-game-viewer/wiki/Home

Click 'get source' and after download & extraction, open arimaa.html with your favorite browser. All comments are welcome. See http://bitbucket.org/egaga/arimaa-game-viewer/wiki/doc_usermanual for instructions. You can shoot questions also here.

Some of functionality is missing, e.g. cannot be saved to file.

I've tested this with a couple of modern browsers, and I have two independent verification, too. Still, it would be nice to know if there is basic issues with navigation.

The code needs refactoring but is mostly separated into components so it won't be too big a problem. Only main.js is awful (but only superficially, easy to eliminate duplication and introduce abstractions).

Next, I'm going to add issues to the tracker and one by one eliminate them.

Title: Re: Game viewer / analysis tool
Post by rbarreira on Sep 12th, 2010, 7:57am
In Firefox (Linux) I couldn't see the game tree, but could move pieces around.

I'm using Chrome (Linux too) now, and it works better, the tree is displayed.

Title: Re: Game viewer / analysis tool
Post by clojure on Sep 12th, 2010, 8:19am

on 09/12/10 at 07:57:00, rbarreira wrote:
In Firefox (Linux) I couldn't see the game tree, but could move pieces around.


Thanks for the report. I hadn't tried with Linux. It was easy to see that I had forgot to remove debugging console calls. Different browsers react differently on undefined objects.

Now it worked for me at least with Namoroka (Mozilla Firefox for Ubuntu 3.6.4pre).

Title: Re: Game viewer / analysis tool
Post by rbarreira on Sep 12th, 2010, 8:24am
That test was with Ubuntu 10.04, but I keep doing updates so the current Firefox version is 3.6.9.

Title: Re: Game viewer / analysis tool
Post by clojure on Sep 12th, 2010, 8:41am

on 09/12/10 at 08:24:27, rbarreira wrote:
That test was with Ubuntu 10.04, but I keep doing updates so the current Firefox version is 3.6.9.


Hi, thanks. I forgot to say I updated the fix to the repository. Does it work now?

For those that want to repeatedly download, it's easiest to get Mercurial Hg (that's the version control system) client and just clone the repository. After that only "hg pull" and "hg update" commands are needed.

Title: Re: Game viewer / analysis tool
Post by rbarreira on Sep 12th, 2010, 9:38am
Yes, it is working now!

Title: Re: Game viewer / analysis tool
Post by Hippo on Sep 12th, 2010, 12:03pm
Yes, it works now. I was surprised how it choses last finished postal game of the viewer :) but it was hardcodded ... I would look at it more closely later.

Title: Re: Game viewer / analysis tool
Post by clojure on Sep 12th, 2010, 12:44pm

on 09/12/10 at 12:03:32, Hippo wrote:
Yes, it works now. I was surprised how it choses last finished postal game of the viewer :)


Haha! I forgot to change the game to some other one ;) Well, at least that game has lots of problematic moves by gold, so one can test how variations work!

Title: Re: Game viewer / analysis tool
Post by Fritzlein on Sep 13th, 2010, 12:44pm

on 09/11/10 at 21:46:03, clojure wrote:
This is unusual of me, but I think I'll give you chance to try it out, even though it's not well tested yet

Thanks very much for offering this early preview.  I love what you have done so far.  Please don't take the comments below as criticism; it is just the feedback of an enthusiastic user who wants more.  :)

How do you enter a move of fewer than four steps?

If I can use the down arrow to move forward in the tree, I intuit that the up arrow should allow me to move backward in the tree.

Is there a way to delete a move (or branch) that I entered incorrectly?

I am not understanding why the color of the icon next to the last move in a variant is sometimes the color of the moving player and sometimes the color of the opponent, even when one has navigated away from that branch.  Everywhere else the color of the icon is the color of the moving player.

When I enter a comment and navigate to another move with the arrow keys, instead of navigating by clicking, my comment is not saved.

I love being able to expand and collapse the tree view.  An added feature which isn't logically a tree but useful in terms of viewing is the ability to roll up the sequence of moves following a branch.  For example, if the tree contains two alternative lines that don't themselves branch, it is convenient to be able to see only the two alternatives to the main move without seeing the full continuation of each.  So there are two levels of expanding the branch: first to see the moves that deviate, and second to see the continuation under one or the other or both if desired.  I know this isn't tree logic per se, but it is very convenient for navigation.

Why aren't moves in variations displayed by their notation just like moves in the main line?  Maybe I have entered three alternative moves, and I forget whether trying to blockade the elephant was [1], [2], or [3], so I have to open them each up in order to find the line I want, instead of being able to tell from the notation before clicking which line I wanted.

I will have to get used to the paradigm of comments applying only to positions and never to moves.  As a commentator, I often want to have it both ways, i.e. sometimes I want to talk about the position statically, and sometimes I want to say, "Silver's elephant charge is misguided."  At the moment I can only make the comment about the move as a comment about the position following the move.  I'm not sure how else this could be done, now that I think about it, but it wasn't intuitive to me at first.

Perhaps at least one could have special commentary on the quality of a move, adopted from chess, whereby one could choose from special symbols !, !!, ?, ??, !?, ?!, and the chosen symbol is displayed after the move notation.  Also there are special position evaluation symbols =, +=, =+, +-, -+, +/-, -/+.  Perhaps small icons with position evaluation could be put into the Gold and Silver arrows.

Perhaps the distinction between a position comment and a move comment could be enforced in notation in this way:  Comments after the steps and before the next move number apply to the position, whereas comments after the move number and before the steps apply to the move.  For example:

[+=] [Silver will lose material so racing is the only chance.] 37s [?!] [The rabbit should move to b3 instead to help trap control.] hc5s ra5s ra4s ra3s  
[+-] [Gold can make do with only one defensive step, and thus wins the race.] 38g [!][Forcing goal in three.] Cb1w Rg4n Rg5n Rg6n

But maybe pulling move comments forward like this is an unnecessary complication, and there should be no logical distinction between a comment about a move and a comment about the position following that move.

Of course, before using the tool seriously I will need to be able to save and import games.  Another big feature request for somewhere down the line is the ability to re-order and promote variations.  Sometimes I would like a sub-variation to become the main line; other times the main line remains static, but I would like to present variations in a different order.

I know it is fun to think ahead to bot intergration, collaboration, etc., but there is so much to be done simply in getting a fully-functional off-line viewer that I strongly encourage you to keep that as the focus.  That in itself is a dauntingly massive project.

Let me just say again that what you are doing is very, very cool, and I am extremely eager to use the results.  :)

Title: Re: Game viewer / analysis tool
Post by clojure on Sep 13th, 2010, 1:13pm
I'll soon answer Fritzlein your questions but before that let me announce a Google Chrome extension.

Here's the contents needed: http://personal.inet.fi/koti/egaga/arimaa-chrome/arimaa-chrome.zip

If you haven't installed extensions to Chrome manually before, here's instructions.

First extract the contents from the zip.

The on the top right of Chrome there's that tool:
http://personal.inet.fi/koti/egaga/arimaa-chrome/topright.png

Under that you find extensions-text which you click. then you will see your extensions. There's a small button with which you can enlarge "developer's space" (don't know exact words since my client is in Finnish).

There you find "load extension". Navigate to where you extracted the zip and select chrome-extension (not sure if there will be two level directory structure after you extract, but you should select the directory that has directly under it the files).

After this, it should work.

http://personal.inet.fi/koti/egaga/arimaa-chrome/icon.png

There's that icon that is present when you are viewing a game in Arimaa.com. Click on it to open a new tab with the game (it doesn't update after clicking). You can have many games open in different tabs, though.

Enjoy:

http://personal.inet.fi/koti/egaga/arimaa-chrome/result.png

I would appreciate if anyone can verify this to work. :)

Title: Re: Game viewer / analysis tool
Post by Hippo on Sep 13th, 2010, 1:38pm
OK I have tried it, but I cannot see a gold rabbit on the right top.

Title: Re: Game viewer / analysis tool
Post by clojure on Sep 13th, 2010, 1:56pm
Without yet reading all of your comments, let me first thank you for commenting and have a few general comments on the project.

First, only criticism that I would be offended by is dead silence. The most honorable comment is that addresses the current problems and gives suggestions. Even comments that only say "I don't kinda like that, it feels clumsy" are important. And by all kind of users, since this is meant for every player. Experts give of course more analyzed criticism but also newbies can have very good grasp what makes it usable.

What comes to the minor or major issues that either aren't there yet, or will not, is no worrying aspect. I publicized this project for the reason that enthusiastic like Fritzlein can affect the outcome early. Many of the issues mentioned I was expecting to be mentioned and this brings the question of how we share the current development status. I had already written most features to here: http://bitbucket.org/egaga/arimaa-game-viewer/wiki/doc_offline_viewer

Also for tasks there's repository here http://bitbucket.org/egaga/arimaa-game-viewer/issues?status=new&status=open

I would be glad if some of you signed to BitBucket and would comment those features / tasks directly there. Or if you think you have ideas, you could add issues. But overall discussion is also nice to have here.

Now let's dive into the current status.


on 09/13/10 at 12:44:35, Fritzlein wrote:
How do you enter a move of fewer than four steps?


The functionality of passing is done in logic (you can view games that have less than 4) but the UI has no pass yet. My flow of selecting what features to do is chaotic ;)


Quote:
If I can use the down arrow to move forward in the tree, I intuit that the up arrow should allow me to move backward in the tree.

Nice to know. These kind of intuition mismatching features might scare people away. But later customization is possible.


Quote:
Is there a way to delete a move (or branch) that I entered incorrectly?

Tree updating by user is currently in now way supported. I was aware that it is an issue, and especially deleting is needed.


Quote:
I am not understanding why the color of the icon next to the last move in a variant is sometimes the color of the moving player and sometimes the color of the opponent, even when one has navigated away from that branch.  Everywhere else the color of the icon is the color of the moving player.


If you use keys, it should always update it correctly. There's an implementation issue that I haven't get to work out yet (I can't get the deselected value as event, AFAIK). But actually since when you go back to that last move of a variation, either by clicking or arrows, it will be shown correctly. It should matter in functional way. But I'll fix it.


Quote:
When I enter a comment and navigate to another move with the arrow keys, instead of navigating by clicking, my comment is not saved.


This is instructed in user manual (http://bitbucket.org/egaga/arimaa-game-viewer/wiki/doc_usermanual) but I actually underestimated the value of being to able save it otherwise. Nice catch.


Quote:
I love being able to expand and collapse the tree view.  An added feature which isn't logically a tree but useful in terms of viewing is the ability to roll up the sequence of moves following a branch.  For example, if the tree contains two alternative lines that don't themselves branch, it is convenient to be able to see only the two alternatives to the main move without seeing the full continuation of each.  So there are two levels of expanding the branch: first to see the moves that deviate, and second to see the continuation under one or the other or both if desired.  I know this isn't tree logic per se, but it is very convenient for navigation.


This is something I would like to have but will be a low priority issue since firstly I need to restructure the code before I complicate anything.


Quote:
Why aren't moves in variations displayed by their notation just like moves in the main line?


Forgot to mention that notation is what is, rubbish. Just couldn't yet bother to make it better.

It could be possible that user can add small prefix or postfix to a variation.


Quote:
I'm not sure how else this could be done, now that I think about it, but it wasn't intuitive to me at first.


Yeah, I didn't came up any better solution yet. One thing I must be wary of not complicating it too much. If there was moves distinguished from positions it could be a bit visually distressing.


Quote:
Perhaps at least one could have special commentary on the quality of a move, adopted from chess, whereby one could choose from special symbols !, !!, ?, ??, !?, ?!, and the chosen symbol is displayed after the move notation.  Also there are special position evaluation symbols =, +=, =+, +-, -+, +/-, -/+.  Perhaps small icons with position evaluation could be put into the Gold and Silver arrows.


Good idea in general. Hard to say what is a solid solution.


Quote:
Perhaps the distinction between a position comment and a move comment could be enforced in notation in this way:  Comments after the steps and before the next move number apply to the position, whereas comments after the move number and before the steps apply to the move.  


Can't say yet how I feel about this.


Quote:
Of course, before using the tool seriously I will need to be able to save and import games.


This shall be one of the next implemented features.


Quote:
Another big feature request for somewhere down the line is the ability to re-order and promote variations.  Sometimes I would like a sub-variation to become the main line; other times the main line remains static, but I would like to present variations in a different order.


Sure, I understand the need and it shouldn't be horrible thing to implement (though these kind of things usually bring up some corner case issues).


Quote:
I strongly encourage you to keep that as the focus.  That in itself is a dauntingly massive project.


Will do. Though since this is a hobby project, for refreshment I always play around with prototyping different things. It could be that suddenly I got ahaa moment and in a day there's some new cool feature.


Quote:
Let me just say again that what you are doing is very, very cool, and I am extremely eager to use the results.  :)


Without people that would love to use this, I wouldn't be here creating it. Part of the fun is social interaction and the feel that I have influence on how Arimaa is understood.

Title: Re: Game viewer / analysis tool
Post by clojure on Sep 13th, 2010, 2:00pm

on 09/13/10 at 13:38:23, Hippo wrote:
OK I have tried it, but I cannot see a gold rabbit on the right top.


Hmm. if it didn't complain when you loaded it, it should have at least parsed the manifest file properly, I think. This is pretty hard to debug without trying it oneself...

Just a question that is probably very unnecessary. You saw the information of extension in the extension listing? It's name, version number, etc [not sure about the exact names again]. Was there an active view "background.html")

And you did go to Arimaa.com's game (the rabbit is not shown anywhere else)? Sorry about stupid questions...

Title: Re: Game viewer / analysis tool
Post by Hippo on Sep 13th, 2010, 2:19pm

on 09/13/10 at 14:00:59, clojure wrote:
Hmm. if it didn't complain when you loaded it, it should have at least parsed the manifest file properly, I think. This is pretty hard to debug without trying it oneself...

Just a question that is probably very unnecessary. You saw the information of extension in the extension listing? It's name, version number, etc [not sure about the exact names again]. Was there an active view "background.html")

And you did go to Arimaa.com's game (the rabbit is not shown anywhere else)? Sorry about stupid questions...

     
The Extensions tab shows:
Arimaa game viewer - Verze: 0.2 (Rozbaleno)
View Arimaa.com games
ID: ffooihhadkapcheeaeaefbdlegfhhngm
There is background.html. When I click it, I got somewhere I am not familiar with ... should I do there something?

And rabbits are shown only on the board ... and in the killed pieces region :)

Title: Re: Game viewer / analysis tool
Post by clojure on Sep 13th, 2010, 2:26pm

on 09/13/10 at 14:19:16, Hippo wrote:
There is background.html. When I click it, I got somewhere I am not familiar with ... should I do there something?


No, that's meant for developers. But it sounds there's some weird problem with recognizing that the current page is ok. One thing could be that for some reason the call for checking if it's Arimaa.com and if there's list of moves is made before the page dom (structure) is created in browser.

:<


Quote:
And rabbits are shown only on the board ...

Funny. That. Maybe they want to play hide and seek.

Umm. there's always chance I screwed up the distribution... but I'll wait a bit if someone else wants to have a go.

Title: Re: Game viewer / analysis tool
Post by clojure on Sep 13th, 2010, 3:15pm
I just tried with Ubuntu and Chromium and your currently ongoing game works fine with above instructions. Do you go to the game via game room and use the default client? I forgot that there even existed others... this extension will not support them probably (without looking).

edit: If anyone is interested in developing a Chrome extension (was it related to Arimaa or not), you might want to read how I felt about it (http://huttuh.blogspot.com/2010/09/google-chrome-extensions-my-first.html) (If you feel this is not relevant, please say and I will remove it)

Title: Re: Game viewer / analysis tool
Post by Hippo on Sep 13th, 2010, 7:16pm
I am using javascript client.

Title: Re: Game viewer / analysis tool
Post by Fritzlein on Sep 15th, 2010, 1:36am
I also tried using the Chrome extension, but like Hippo, I get no rabbit to click, although every step of the instructions seemed to work.  I'm using Windows 7 and Chrome 6.0.472.55.

Title: Re: Game viewer / analysis tool
Post by clojure on Sep 15th, 2010, 3:00am
Thanks for reporting. So far, one has told me that it worked (beside me). Though, there's a weird thing: first time the rabbit is clicked, the moves are not imported. But after that it seems to work.

I'm withholding the development of Chrome extension until I get a bit more done with the viewer.

Last night I designed the new format. http://bitbucket.org/egaga/arimaa-game-viewer/wiki/doc_flexible_format

I implemented the support for exporting moves but not with other data yet. Also no importing for that.

Title: Re: Game viewer / analysis tool
Post by clojure on Sep 15th, 2010, 11:59am
Ok, so for first time the bunny icon didn't show up for me either ??? but after a second I realized that Chrome had been updated a day ago (I noticed this since http is not showing up anymore.)

There must have been some change to API or behavior. I really didn't think that versions would matter that much in this case. ::)

Title: Re: Game viewer / analysis tool
Post by omar on Sep 16th, 2010, 5:29am
Great work Henrik. I haven't downloaded and tried out the viewer yet, but I'll do that soon.

This should now be working:
 http://arimaa.com/arimaa/games/agn.cgi
so you can download game data using this. It broke when I transfered the site to a new server due to some missing modules.

For getting a players' game ids you could probably use this:
 http://arimaa.com/arimaa/gameroom/playerRatingHist.cgi

http://socket.io looks like a good solution for the client to establish a persistent socket connection.

http://nodejs.org looks like a good solution for the server side. But I've never used JavaScript on the server side so I don't know if it has libraries for accessing a MySQL database.

Of course we need to experiment with both of these a bit to see how stable they are and what problems could arise.

The current JavaScript client was designed so that it can be dropped into a web page using a SCRIPT tag and then controlled programmatically using methods that it provides. It also provides it's own buttons, but those could be programatically hidden if needed and the button clicks could be simulated via methods such as eventUndoMove() by the external controller. The intent was that the JavaScript client could be used for annotating games in a manner similar to this:
 http://chessbase.com/news/2010/games/simpsons01.htm

Notice how you can click on moves in the comments to go to the corresponding positions. Even proposed moves can be clicked on to view the variations.

I never got around to writing some of the methods for changing the move list and documenting the methods well enough so that other could start using it, but the intent was good :-)

If you use a similar design for your game viewer so that it can be pulled into a page using a SCRIPT tag and then controlled via methods it provides, then it can be extended and used in many ways; provided that you expose the methods and document them :-)


Title: Re: Game viewer / analysis tool
Post by clojure on Sep 16th, 2010, 9:28am

on 09/16/10 at 05:29:50, omar wrote:
Great work Henrik. I haven't downloaded and tried out the viewer yet, but I'll do that soon.


Thank you :)

I'll look the data retrieving urls soon. It's good to have them!


Quote:
http://nodejs.org looks like a good solution for the server side. But I've never used JavaScript on the server side so I don't know if it has libraries for accessing a MySQL database.


I haven't really taken a good look what kind of libraries it has but I think it had at least API for Postgres. I'm quite sure that also for MySQL but I must ask (as NOT database expert) that why MySQL instead of PostgreSQL. My understanding is that experts don't take MySQL seriously because of some technical  solutions.

Even if node.js didn't provide a way to access any kind of persistent data saving (which is not the case), it can still used for prototyping and works great for teaching sessions. The game with comments / annotations etc can be saved by having another, stupid connection to server side process that just saves any given FAN (http://bitbucket.org/egaga/arimaa-game-viewer/wiki/doc_flexible_format).


Quote:
The intent was that the JavaScript client could be used for annotating games in a manner similar to this:
 http://chessbase.com/news/2010/games/simpsons01.htm

If you use a similar design for your game viewer so that it can be pulled into a page using a SCRIPT tag and then controlled via methods it provides, then it can be extended and used in many ways; provided that you expose the methods and document them :-)


This is nice. I have done similar thing a few months ago with embedding a Factor programming language interpreter to a web page tutorial. http://personal.inet.fi/koti/egaga/jsfactor/tutorial.html

People that would write tutorial page only needed to insert code into html element with class "codeblock" and the interpreter would give result which automatically creates a visual representation. Also readers of the page can insert arbitrary code and get results.

A bit more API was needed to do the actual playground for the language:
http://personal.inet.fi/koti/egaga/jsfactor/playground.html

Documenting a small API is no problem. I also intend to document the overall architecture later. Now I have mostly documented things that users find interesting. Thus I don't encourage people to dive into the code yet, as it is of production quality only in some of the components.

Title: Re: Game viewer / analysis tool
Post by clojure on Sep 16th, 2010, 10:18am
To make it easier to try out current version, I put it online: http://personal.inet.fi/koti/egaga/arimaa/arimaa.html

Worked with Opera, Chrome, Safari, Firefox (also in Linux, Ubuntu) but had animation weirdness in Chromium (Ubuntu).

edit: Here is list of node.js modules which seems to have a mysql protocol implementations (dunno about the quality / state of progress of those) http://github.com/ry/node/wiki/modules

Title: Re: Game viewer / analysis tool
Post by megajester on Sep 16th, 2010, 2:53pm

on 09/16/10 at 10:18:08, clojure wrote:
To make it easier to try out current version, I put it online: http://personal.inet.fi/koti/egaga/arimaa/arimaa.html

Worked with Opera, Chrome, Safari, Firefox (also in Linux, Ubuntu) but had animation weirdness in Chromium (Ubuntu).

edit: Here is list of node.js modules which seems to have a mysql protocol implementations (dunno about the quality / state of progress of those) http://github.com/ry/node/wiki/modules

Man this is so cool. If we had a way of integrating something like this into the gameroom it would open up all sorts of possibities, like one-on-one coaching sessions etc...

Would it be possible to add a Facebook-style chat bar to the bottom like I've seen on some websites?...

This is just me speculating, please feel free to ignore me and get on with more urgent stuff...

Title: Re: Game viewer / analysis tool
Post by clojure on Sep 16th, 2010, 3:07pm
Hey megajester, thanks for the feedback. I hope anyone is not holding his thoughts.

The wiki has plans what's to come, in particular this might interest you: http://bitbucket.org/egaga/arimaa-game-viewer/wiki/doc_shared_board

But as Fritzlein was eager to remind, one should first focus on the offline-viewer. That alone would be useful, if people share their desktop via ssh or Skype.

The chat would be the easiest to add of what there's to come but then I would need to put up server or integrate with Omar. If you look the issues I have in http://bitbucket.org/egaga/arimaa-game-viewer/issues?status=new&status=open you might get understanding what I probably do before the chat.

Though, one can always have a small hope :P

But anywys, suggestions are welcome. New ones will be added to candidate feature list.

Title: Re: Game viewer / analysis tool
Post by Nombril on Sep 16th, 2010, 4:09pm
I've been following the discussion, and finally took a look with the online version you just published.  Thanks for making it so easy to try out.  I too think this will be a great tool.

If you get to live collaborative analyzing, it might be worth having timestamp/username in the comment field, as with the chat program.  Maybe have a section for "live comments" and a second section for comments added by the players or others after the game.  (You currently have Position and Move comments - just change the labels?)

I do see the value in having the colored squares A, B, C, when discussing the importance of a particular square in an ongoing/multi move trap control battle (or other "longer" range struggles).

As a minor point, I wonder if anyone else misses sound affects for the piece movement?  (I was very annoyed by some sounds when I first started on arimaa.com, but now it strikes me as 'broken' when sound isn't there.)

Title: Re: Game viewer / analysis tool
Post by clojure on Sep 16th, 2010, 4:18pm

on 09/16/10 at 16:09:35, Nombril wrote:
I've been following the discussion, and finally took a look with the online version you just published.


Yeah, I figured that might get some new people to try it out. :)

About comments, currently I'm thinking that there will be separate comments and chat. But I think I need also distinction of move/position comments, since they work functionally differently. (Position comments show's in all variations but move comments are different for each move/variation)

About markers, if anyone come up any other kind of information that could be tied to the position, other than textual comment/coordinate color, feel free to say. Different shapes are for example a possibility.


Quote:
As a minor point, I wonder if anyone else misses sound affects for the piece movement?


This is valuable information. I'll add a task, so that people have the option to have sounds if they have modern browser that supports HTML5 (I think ogg format is supported).

So thanks for testing!

Title: Re: Game viewer / analysis tool
Post by omar on Sep 16th, 2010, 9:34pm

Quote:
I haven't really taken a good look what kind of libraries it has but I think it had at least API for Postgres. I'm quite sure that also for MySQL but I must ask (as NOT database expert) that why MySQL instead of PostgreSQL. My understanding is that experts don't take MySQL seriously because of some technical  solutions.


I'm no database expert either. It just happened that back when I was selecting a DB for the Arimaa site I heard that MySQL was very fast although it didn't have the high-end features like transactions, stored procedures, etc. I figured I probably don't need these and started using MySQL. But it sounds like over the years MySQL added more features and PostgresSQL has become faster.

http://www.wikivs.com/wiki/MySQL_vs_PostgreSQL

I guess for me to change the DB for the current site would require a lot of code changes and wouldn't be worthwhile, but if rebuilding from scratch the choice of what database to use is open and should be reevaluated.

Title: Re: Game viewer / analysis tool
Post by omar on Sep 16th, 2010, 10:05pm
I just tried out the game viewer and took a look at your code. I am quite amazed at what you've done already and consider it still pre beta. The JavaScript client we use in the gameroom is about 4300 lines of code and doesn't use any libraries. Your code is using jQuery libraries and is already about 2600 lines. It is coming along very fast.

Title: Re: Game viewer / analysis tool
Post by clojure on Sep 16th, 2010, 10:16pm
Thanks for the info on database. I'm mostly worried about transactions and sane behavior but maybe it's not crucial in Arimaa context.

I just committed initial version for the functionality of importing the new notation but it's not usable for user. I created a pretty controversial way to traverse the notation for creating abstract tree of moves but it helped to make it a bit more declarative looking. I've thought about giving CoffeeScript a try since it would help to make code somewhat cleaner (it's compiles quite directly to Javascript). The only problem could be debugging, even though the compiler should spit nice looking code. But probably I wont' use it for this project. Here's a link for those that are interested http://jashkenas.github.com/coffee-script/

What comes to the amount of code lines, I have not been up to my standards. It will be compacted and made beautiful. But my main concern is to keep code high-level and quite straightforward so that people would understand it. So far, I've tried mostly only to have natural component division. Global entanglement of implementation details would be suicide.

Luckily, I've overcome my fears of showing code, even though I know it can give poor impression. Nowadays for this kind of project I have different priorities. So getting features fast enough is important, so that my interest won't derail to other things.

So far, it's been fun, and surprisingly making the wiki look tidy and valuable has been more of a enjoyment than labour.

Keep giving feedback and I will deliver! ;)

Title: Re: Game viewer / analysis tool
Post by clojure on Sep 17th, 2010, 2:59pm
Sometimes I feel like I'm spamming considering the throughput of this site (have I started a mad race for 5000th post with Fritzlein? I want a bunny cake, too!).

The following url will work as a partial filter: http://bitbucket.org/egaga/arimaa-game-viewer/wiki/documentation_development_diary

I will write there daily what I've done as the progress goes on. You get a glimpse of struggles overcome. The content could be a bit raw for non-programmers but some of you might find it still interesting enough to have a look at it.

Title: Re: Game viewer / analysis tool
Post by clojure on Sep 23rd, 2010, 1:03am
I feel that the current site has a bit too big initial barrier to try out the game since it requires registration and firing up a game is after so many clicks (these things matter, unfortunately).

So here's what I did this morning:
http://personal.inet.fi/koti/egaga/arimaa-begin/tutorial.html

I would appreciate somebody with artistic talent could help me out...

The idea is that this could be used to lure people to try out Arimaa quickly. I intend to make a different page for interactive tutorial.

The bot is 1-ply-no-evaluation-function genius at the moment ;)

Title: Re: Game viewer / analysis tool
Post by omar on Sep 24th, 2010, 1:44am
Wow, this is really neat. I can't believe how fast you made this. This tutorial will be a great way for new players to try out the game.

Noticed a rule checking bug. If I start a push by moving the opponents piece then I am able to move another of the opponents piece to complete the push. I should only be able to use one of my stronger pieces to complete the push.

The side panel to explain the rules is nice, but it might not be enough space. Maybe you might want to consider having a link for the rules which opens a separate window to explain the rules. I like how you used the piece icons to show examples of the rules.


Title: Re: Game viewer / analysis tool
Post by omar on Sep 24th, 2010, 1:47am
I see that the new step sound file I gave also did not work well. I'm not sure why these aren't working well in fireFox.

Title: Re: Game viewer / analysis tool
Post by clojure on Sep 24th, 2010, 2:06am

on 09/24/10 at 01:44:15, omar wrote:
Noticed a rule checking bug. If I start a push by moving the opponents piece then I am able to move another of the opponents piece to complete the push. I should only be able to use one of my stronger pieces to complete the push.


Nice catch! I didn't test the rules exhaustively yet. Moreover, at least the repetition and immobilization ones haven't been added.


Quote:
The side panel to explain the rules is nice, but it might not be enough space. Maybe you might want to consider having a link for the rules which opens a separate window to explain the rules. I like how you used the piece icons to show examples of the rules.


I hear what you're saying. For proper rules explanation, yeah, I have to add a separate page, or other mechanism, such as  a div-hover-popup.

The sound file is not the new one, actually, since it would require a change of code, and wouldn't still work properly. It's a shame.

I'll try to add a bit of intelligent behavior to the bot so that it feels more helpful for beginners, and doesn't confuse with kamikazing :)

I really appreciate the feedback, thanks.

Title: Re: Game viewer / analysis tool
Post by clojure on Sep 25th, 2010, 2:40pm
Call for feedback! I'd like to know how you find the new user interface. Is it simple enough to understand without explanation? Is it smooth experience?

http://personal.inet.fi/koti/egaga/arimaa-begin/tutorial.html

There is also one debatable question: should the moves be animated after the whole move, or should they be animated for every step?

Title: Re: Game viewer / analysis tool
Post by rabbits on Sep 25th, 2010, 6:01pm
It looks very nice!

I think the trap squares should be highlighted in some way when you can move to them.

The sound isn't working for me (Firefox).

Title: Re: Game viewer / analysis tool
Post by clojure on Sep 25th, 2010, 6:57pm
Thanks! Yeah, I forgot the trap thing. Now it's highlighted but for the sake of structural visuals, it has different border color. And the sound thing is known for Firefox.

If somebody knows why Firefox reads ogg file differently from other browsers, and how to convert the original http://arimaa.com/arimaa/jsClient/pro/sounds/trap.mp3 or
the Audacity converted http://arimaa.com/arimaa/jsClient/pro/sounds/step2.mp3
so that it works with Firefox's html5 support. The best I could do was to convert the step2 but it had too much silence before and after the sound... and for some reason I couldn't get it to interrupt the playing as in other browsers.

(I wouldn't want to include external sound managers or flash.)

Title: Re: Game viewer / analysis tool
Post by Nombril on Sep 26th, 2010, 3:35pm
Hi, I took a quick look at the game page, and had a few suggestions.

Is it possible to show captured pieces?

I wasn't able to use it on an iPad/Safari.  But this might not be a supported browser!

For the rules
* "Move piece(s) up to 4 times in one turn"  might be more clear if you replace 'times' with 'steps'.

Setup:
* This might not be the best starting setup for beginners.  Maybe dog, horse, cat, as the left three pieces?  or 99of9 setup?  Do you want to make a note that normally you get to set up your pieces in any order you choose?  (I can understand that you aren't having a first time player do the setup, even though it is an important part of the game.)

Title: Re: Game viewer / analysis tool
Post by clojure on Sep 26th, 2010, 3:48pm
Hi, you brought up good questions!


on 09/26/10 at 15:35:47, Nombril wrote:
Is it possible to show captured pieces?


Will be added. Also how many steps are left.


Quote:
I wasn't able to use it on an iPad/Safari.  But this might not be a supported browser!


Safari works for me in Windows Vista. Cannot test with iPad; I would gladly hear if someone else got it to work. Other browser support is of interest to me also but I don't expect it to work in IE since I haven't tried.


Quote:
* "Move piece(s) up to 4 times in one turn"  might be more clear if you replace 'times' with 'steps'.


Could be better. I'm not sure which one is more intuitive for a random guy. I'll change it somehow.


Quote:
This might not be the best starting setup for beginners.  Maybe dog, horse, cat, as the left three pieces?  or 99of9 setup?


This is something I didn't think about much. As a beginner myself, I'm quite unaware how I should start and have felt that fuzzy setup with something like rabbits at back row and elephant in the middle is all I can thrive for. I'll change the startup setup now that someone more knowledgeable has spoken :)


Quote:
 Do you want to make a note that normally you get to set up your pieces in any order you choose?  (I can understand that you aren't having a first time player do the setup, even though it is an important part of the game.)


Well, this is a hard question. I would like to, but I also try to keep it limited to essentials of what might interest a beginner to goto Arimaa.com, and then he would immediately see that "ah, of course!". I would suspect that it's quite a low probability to get disinterested by that he cannot choose his own formation, since everything is new and taking his brain power to absorb. Maybe Kasparov or board game geek might notice it at his first time?

So it comes to the balance of information overload and how to keep layout in minimum so that it can be used with low-resolution monitors. There are other information that I'd like to add, such as the immobilization rule, since if it occurs in a beginner game, he will be totally confused. Especially, since I haven't added that rule yet to my engine :)

Thank you.

Title: Re: Game viewer / analysis tool
Post by clojure on Sep 26th, 2010, 4:38pm
I have done the changes. Please comment if it's better now.

Do forced refresh in your browser if it feels like it's broken or there is no difference. Ctrl+r in some browsers.

Title: Re: Game viewer / analysis tool
Post by Nombril on Sep 26th, 2010, 8:04pm
I had a minute for a quick look.  Flip silver (or gold) camel/elephant, so E is across from m and M across from e.

For the captured pieces, I am used to one row for each color, and having the pieces ordered by strength.  Order of capture isn't too important.  The icon can be smaller if required to fit well.

Title: Re: Game viewer / analysis tool
Post by clojure on Sep 27th, 2010, 6:38am
Done. Except that even though I'd like to have the captures for each side on one line, making the images smaller is problematic. I even find that their size is too small as is.

One solution would be to put the captures on top and on below of the board, the silver pieces under gold home row, and vice versa. But it would be better to fully take advantage of the empty space on the right side -- again for support for low resolutions.

I might change it somehow, so I'm eager to hear more opinions.

edit: added possibility to remove rules. They will be back when page is refreshed.

Title: Re: Game viewer / analysis tool
Post by clojure on Sep 27th, 2010, 9:00am
For slower machines, the viewer and tutorial has been updated so that it doesn't show shadows or border rounding anymore. I was informed that it had quite a big impact on the responsiveness. Now it should feel much slicker!

Title: Re: Game viewer / analysis tool
Post by clojure on Sep 27th, 2010, 1:08pm
I felt that it was time to get it as fast as I could for slower machines with the dom based approach, so I made changes and I got one feedback that it works better in Firefox.

I had to struggle to get it work with Chrome but finally I found the small culprit, and I am baffled whether the cause was a bug in browser, since it worked locally but not via my homepage.

If any of you notices problems with the animation or graphics, please let me know. It would be best handled now, when everything is fresh in my memory.

In the foggy future I think a canvas based approach will be an alternative for cooler outlook.

Title: Re: Game viewer / analysis tool
Post by leo on Sep 28th, 2010, 3:39am
I've been trying the newest versions of the game viewer and game tutorial and both look really nice and feel responsive on Chrome and Firefox.

I'm still a bit puzzled by the ghost pieces that show the future steps (although I was thinking of something vaguely similar years ago) but it's a cool feature, as well as the highlighted destination squares in the tutorial.

The font for the comment boxes still feel very small to my eyes. I'll test the game logic and log tree functions again to see if any new bugs slipped in meanwhile. I haven't tested the Chrome extension yet, will do soon.

I'm really amazed at the pace of the projet, and I hope I can integrate the notation converter into it. You said you consider using html5 canvas, but I really think SVG would be a much better option than canvas. In SVG you can insert and animate raster pictures such as the board and pieces pictures and mix them with vector graphics of all kinds.

More comments will come!

Title: Re: Game viewer / analysis tool
Post by clojure on Sep 28th, 2010, 6:54am

on 09/28/10 at 03:39:30, leo wrote:
I've been trying the newest versions of the game viewer and game tutorial and both look really nice and feel responsive on Chrome and Firefox.


Good to hear. This verification is important for me. Makes me go *phew*.


Quote:
I'm still a bit puzzled by the ghost pieces that show the future steps (although I was thinking of something vaguely similar years ago) but it's a cool feature, as well as the highlighted destination squares in the tutorial.


I'm puzzled too, they certainly can be improved upon but are already there so that people can give feedback, and even though I don't like the look of the ghosts in the viewer, I feel that I can grasp the situation quicker when they are on (luckily for those of you don't like them, can switch them off).


Quote:
The font for the comment boxes still feel very small to my eyes.


Hmm. Gotta fix that, not sure why I didn't get it right for the first time.


Quote:
I'll test the game logic and log tree functions again to see if any new bugs slipped in meanwhile.


This is really helpful, since the bugs I had to smack, the hideous ones, were in the variation moving and deleting parts, since I move them around one by one, and not rebuild them (at least yet). I also feel that I haven't yet abstracted all the important things in the code, which makes these details hard to handle.


Quote:
You said you consider using html5 canvas, but I really think SVG would be a much better option than canvas. In SVG you can insert and animate raster pictures such as the board and pieces pictures and mix them with vector graphics of all kinds.


I like this comment, since it brings an option I haven't even considered. Well, that's because I haven't ever used SGVs. If I can make the board look as stylish as with the canvas, and it works smoothly, I probably don't have objection. I rather even could fancy it, since it makes possible more interesting dynamic markups.


Quote:
More comments will come!


Tsunami party everyone! ;D

Title: Re: Game viewer / analysis tool
Post by omar on Sep 28th, 2010, 8:19am
I just tried the tutorial page:
http://personal.inet.fi/koti/egaga/arimaa-begin/tutorial.html It does feel quite a bit faster. I think it's quite usable now. I love the surprise after winning a game :-)

Title: Re: Game viewer / analysis tool
Post by omar on Sep 28th, 2010, 8:42am
If there was a way to setup the initial pieces via a JavaScript variable embedded in the page then this could also be used for interactive puzzles; like "gold to move and win in 2". Having the bot search 2 plys in JavaScript might be the most challenging part.

Title: Re: Game viewer / analysis tool
Post by leo on Sep 28th, 2010, 9:03am

on 09/28/10 at 06:54:27, clojure wrote:
Well, that's because I haven't ever used SGVs. If I can make the board look as stylish as with the canvas, and it works smoothly, I probably don't have objection. I rather even could fancy it, since it makes possible more interesting dynamic markups.


I'm going to send you a little html/svg experiment I did when I planned to make an svg interface for the position notation converter and the shared board - said interface I stopped developing when I saw your game viewer as a savior :)

SVG is used all across mobile devices and major browsers (except in IE unless you install a plugin, or you wait for IE9 to come out). It's really like having open standard Flash.



on 09/28/10 at 08:19:15, omar wrote:
I love the surprise after winning a game :-)


There's also one when you lose a game, and the biggest surprise is that Clojure managed to get the same picture to express two different emotions. By the way, I've been discussing with him about making pictures especially for that, and I'm all ears for ideas.


on 09/28/10 at 08:42:24, omar wrote:
If there was a way to setup the initial pieces via a JavaScript variable embedded in the page then this could also be used for interactive puzzles


That would also allow to link to the position converter once it's integrated into the viewer.

Title: New bitbucket repository
Post by clojure on Sep 28th, 2010, 9:33am

on 09/28/10 at 08:42:24, omar wrote:
If there was a way to setup the initial pieces via a JavaScript variable embedded in the page then this could also be used for interactive puzzles; like "gold to move and win in 2". Having the bot search 2 plys in JavaScript might be the most challenging part.


Sure, this is a feature to be added. What comes to javascript, there could be option that it requires browser support for web workers, so that the browser won't halt and start complaining that the script should be stopped.

I'm not sure whether it's infeasible to solve the problem with limited set of pieces. Or at least the designer could add "superficial" pieces that bot ignores when calculating the defense.

It seems this tutorial getting off the ground, so I put it also to a public Bitbucket page, separate from the viewer, since the requirements are a bit different. Of course, some of the code will be shared (but as copies).

http://bitbucket.org/egaga/arimaa-tutorial/overview

I'll be adding some tasks there, feel free to comment or add your own. I don't mind if the task is only vague idea (as you might have noticed, I babble myself a lot).

Title: Re: Game viewer / analysis tool
Post by clojure on Sep 28th, 2010, 9:45am

on 09/28/10 at 09:03:58, leo wrote:
I'm going to send you a little html/svg experiment I did when I planned to make an svg interface for the position notation converter and the shared board - said interface I stopped developing when I saw your game viewer as a savior :)


Oh no. Something stopped because of me.


Quote:
SVG is used all across mobile devices and major browsers (except in IE unless you install a plugin, or you wait for IE9 to come out). It's really like having open standard Flash.


Good info, keep 'em coming.


Quote:
By the way, I've been discussing with him about making pictures especially for that, and I'm all ears for ideas.


All credit to Leo for his original pictures that I only stripped/modified a tiny bit (magic hand in Paint.net is handy!).

I'd like to keep the tutorial without any credits, so that it focuses fully on the subject of Arimaa  but I'll put a small signature if you want for you. Anyone who truly knows me, knows that I haven't made those pics just by glimpse of it, others by clicking a link and seeing art of mine (second page). http://personal.inet.fi/koti/egaga/tekstit/cooperation.pdf

Title: Re: Game viewer / analysis tool
Post by leo on Sep 28th, 2010, 11:25am

on 09/28/10 at 09:45:34, clojure wrote:
Oh no. Something stopped because of me.


Actually I had stalled long before you started your project, so no worries ;)

Regarding the picture credits, I think I'd prefer the Rimbit character and pictures to remain within the Arimaa community. I'll explain why later, it's related to the growingly unscrupulous behavior of the companies, big and small, toward artists.

Title: Re: Game viewer / analysis tool
Post by clojure on Sep 29th, 2010, 9:18pm
If anyone is interested making a translation for the tutorial, please inform me or send private message. There is not proper localization file yet, but if you translate from the top of the page to down with occasional marking where it belongs, I can handle the rest. Or you can just take html file and edit it.

Here is example translation if Finnish players want to show it to children or grand parent: Tutorial (http://personal.inet.fi/koti/egaga/arimaa-begin/tutorial_fi.html)

Title: Re: Game viewer / analysis tool
Post by Fritzlein on Oct 12th, 2010, 12:29pm
I finally checked out your tutorial, clojure.  It looks very cool.  Of course there are many things it doesn't explain, but that is a feature, not a bug.  Many people want to sit down and play rather than reading instructions.  I'm afraid that we do people a disservice by insisting that they know all the rules before they start to play, when in fact one can play a fun game of Arimaa knowing only a small subset of the rules.  Thus your tutorial is serving a great purpose.

The only serious suggestion for improvement I have is that the starting position be changed.  On the one hand I agree that it would be too much explanation to inform the players that they can arrange their pieces arbitrarily, but you don't have to add any explanation to convey additional information.  Simply by randomizing the opening position, you could give the impression of variability.

If your setup has all rabbits on the back rank, people will assume that all rabbits must be on the back rank.  If your setup is symmetrical, people will assume that the setup must be symmetrical.  If Silver has the same setup as Gold, people will assume that it is mandatory for the two players to have the same setup.  In contrast, if the two setups are random and different from each other, people will assume that Arimaa setups are random, which is still false, but closer to the truth than the impression you currently give.  You could therefore convey more information without having to explain anything more.

One minor detail: it should be "Learn by playing" rather than "Learn by play".

Title: Re: Game viewer / analysis tool
Post by clojure on Oct 12th, 2010, 12:39pm
Thanks for the suggestion. I don't really have objections to it. Only thing is that some people might think that automatic random setup is part of the game. I might have to add a small explanation.

When I feel like it, I write a complete tutorial page for those that like more explicit, total rules.

I actually was wondering whether it was "learn by play(ing)". Good to know!

Title: Re: Game viewer / analysis tool
Post by Fritzlein on Oct 12th, 2010, 12:42pm

on 10/12/10 at 12:39:06, clojure wrote:
Only thing is that some people might think that automatic random setup is part of the game. I might have to add a small explanation.

Why would you have to add an explanation then as opposed to now?  The situation would be more clear then, so it needs more explanation?  Right now you give a very wrong impression that you don't explain at all.  It is an improvement to give a somewhat wrong impression that you still don't explain at all.  I like leaving off explanations for the purpose of your tutorial.

If you also want to convey the information "this is a reasonably good setup", then just randomize between aaaa's 192 options (subtracting symmetry): four choices for left rabbits (omar, 99of9, Fritzlein, mistre), four choices for right rabbits, four ways to have cats and dogs split while occupying the typical rabbit squares the rabbits aren't in, elephant front center, three choices left for camel, horses fill last two holes.  But this is more work for you; a random setup is good enough and easier to implement.

Title: Re: Game viewer / analysis tool
Post by clojure on Oct 12th, 2010, 12:43pm
You assume that the current state is how I intend it to be forever ;) i.e. It bothered me but hadn't figured out the proper way to solve it.

Other than that, I agree that current state is worse in getting wrong impression.

Title: Re: Game viewer / analysis tool
Post by Fritzlein on Oct 12th, 2010, 12:49pm
Fair enough.  I actually like the totally minimal explanation, and think you shouldn't add to it.  There are already plenty of places to get the full rules such as Wikipedia, WikiBooks, Omar's tutorial, and the community video.  You are (presently) filling a different niche, which I like.  It's all on one screen.

Maybe situational pop-up text like "you must complete a push" wouldn't clutter the screen or require more up-front reading.  It's amenable to many people to learn more rules while they are playing.  But that's extra difficult to engineer smoothly.

Title: Re: Game viewer / analysis tool
Post by clojure on Oct 12th, 2010, 1:25pm
I added the randomization.

Indeed some kind of context-sensitive help would be neat but I think I'll pass it for now. I added it as a task to issue manager: http://bitbucket.org/egaga/arimaa-tutorial/issue/4/context-sensitive-help

Notice that the project page is different from the viewer.

And great to see that you seem to strongly agree with my initial plan, i.e. to let player get familiar without too much clutter.

Thanks again.

Title: Re: Game viewer / analysis tool
Post by Fritzlein on Oct 12th, 2010, 5:12pm
Sweet, and it is a new setup if I play twice.  Thanks.

Title: Re: Game viewer / analysis tool
Post by Fritzlein on Oct 17th, 2010, 9:05pm
I went to bitbucket to check out the latest version of the analysis tool, but I forgot how I got it running on my computer last time.  Could you give me a quick hint?  Thanks in advance!

Title: Re: Game viewer / analysis tool
Post by clojure on Oct 18th, 2010, 4:24am
Hi. The latest version that I mostly intend to be usable by others resides in http://personal.inet.fi/koti/egaga/arimaa/arimaa.html

The version I'm working on, and at this moment is NOT usable can be get the following ways:

If you want to download the sources as zip, you can download it from rights side "get source" dropdown list. Then extract and open the "arimaa.html" with a browser.

There is a third option but you have to have hg/Mercurial installed (it might be with some Linux distributions).

If so, in command line:
hg clone https://egaga@bitbucket.org/egaga/arimaa-game-viewer

Later you get new updates by first "hg pull" then "hg update".

I'm in middle of making a change that makes importing the new notation work, and I don't remember what particular instance I have committed to that repository. The newest version of the viewer in Bitbucket might not work at all.

Title: Re: Game viewer / analysis tool
Post by clojure on Oct 22nd, 2010, 6:39pm
The Arimaa online festival is in a week. I did my final burst of effort today. I hope the viewer will be usable and won't cause headache for Fritzlein.

Hereby I present a version of the game viewer that is able to load and save modified games. http://personal.inet.fi/koti/egaga/arimaa-viewer/arimaa.html

First of all, note that it is not at the same URL as before. You can use the earlier version also, in case the new one has more problems: http://personal.inet.fi/koti/egaga/arimaa/arimaa.html

Here is user manual that still needs probably some details.
http://bitbucket.org/egaga/arimaa-game-viewer/wiki/doc_usermanual

The following is especially important for Fritzlein, I hope you read it carefully.

If saving, or loading fails, there could be situation where every bit of work you have done beforehand might not be usable. So please be aware of this. If you don't find any problems during non-trivial testing, it should work.

First thing you need to do is to test whether saving works with your browser. Do some modifications to the gametree, and save it. Then close the browser and press "saved games". If there is a game that you can "load", and the game is as you modified, then congrats, you have a supported browser. (For some reason, Mozilla Firefox 3 doesn't save them permanently for me; Chrome works fine).

Here's an idea if you need to use the older version: don't shutdown the browser and have multiple tabs that have each their own viewer. This has the risk that you close the browser accidentally or by shutdown. But it's a possibility.

If you use the newest version, one thing you might not notice is that setup variations are not saved. This is due to the fact that I forgot to add the initial support for the new file format, and thus later for the implementation. I don't think it's very important, so bear without it. You can use setup variations on the fly when you are live, though.

There are probably lots of small things that could be improved but since the festival is so close already, I'd like to know what are the most crucial things I need to fix.

This project has reached a quite important phase. I hope some of you like it, and find it useful. Comments are more than welcome. I know probably most issues but it's always useful to hear them from a different viewpoint.

Thank you for all the support, gotten and to come.

EDIT: Gosh, I need to still update the import before you can import arbitrary games. This is because my notation does not support redundant marking of capturing.

EDIT 2: Fixed. Now you can import Arimaa.com games by taking a copy paste from the Arimaa.com move list that you get with "M" in javascript game client.

EDIT 3: As I haven't tested this thoroughly, I find small problems. For example, markings were one row off. But since I can save and load with intermediate format being text, I'm quite confident that mostly it works.

EDIT 4: Seems that if one has _both_ markings and comments on a same node, the loading fails. Let me see...

EDIT 5: needed to add a space for exporting between markings and a comment. I wish everything was as trivial to fix.

EDIT 6: markings had problem: they were shown incorrectly. This problem came to be since I changed the underlying coordinate system earlier.

When testing save/loading, you should reload the browser to be sure that everything is as fresh as could, since just pressing F5 seems to keep old data sometimes.

Title: Re: Game viewer / analysis tool
Post by Fritzlein on Oct 23rd, 2010, 2:07am
Thank you so much.  I will test this soon, indeed I must as the festival is upon us.  It is bad luck that my Arimaa time has been less than usual right before the festival, but I will try to make the strategy workshop worth attending nevertheless.  It is rather late for me to give you development feedback, but I am sure that if I can find any way to save and load game trees in some browser then my presentation will be head and shoulders above anything I could have done without your tool.  You are very generous to the Arimaa community, and I greatly appreciate it.

Title: Re: Game viewer / analysis tool
Post by clojure on Oct 23rd, 2010, 7:29am
Quick thoughts, I woke just up.

Please don't start doing actual work before I know, so that I don't hassle anything, and that I'm sure I've done everything to ensure it works. It would be nice to hear what's your schedule to create the modified games.

Other thing is that, we can minimize the risk of having work lost quite a lot with a bit of manual labor from you.

I will add better export button that will give you all saved games as one text. Then you should copy-paste it from time to time to a text file on your computer.

Then if the real load system fails, you can look at the manual backup, (maybe fix it if it's already broken there), and cut the notation for the game you need and import it.

Title: Re: Game viewer / analysis tool
Post by clojure on Oct 23rd, 2010, 10:51am
I added the possibility to export games properly. Now you can copy paste the games as the new format (FAN) and modify it with hand if need be. Then you can import it. The format implementation doesn't support yet all the requirements, such as single step commenting. But you can get idea by looking at the exported notation.

Notice that when you export all saved games with "export all", you get also information that cannot be handled by the import system; only moves, variations, markings and comments are supported. If you feed invalid data to the import textarea, it doesn't do anything or might complain in computer jargon.

I strongly suggest you do export to external continuously as you work on the game. The viewer has no version control in itself, at least yet, so new saves override old ones.

The viewer hasn't been tested exhaustively. Especially I'm worried about deleting and moving variations, since their code is quite elaborate. Also performance-wise I have no clue whether it works for average person. Memory consuption could be problem in long term session. So sometimes it could be good idea to restart your tab/browser (depending how it handles memory).

I might do a short video to show how everything works... (or doesn't).

Title: Re: Game viewer / analysis tool
Post by clojure on Oct 23rd, 2010, 3:40pm
Demonstration of the new features: http://www.youtube.com/watch?v=raeswA4pzj4

Title: Re: Game viewer / analysis tool
Post by omar on Oct 24th, 2010, 6:58am
Wow, this tool is becoming extremely powerful. Great work Henrik.

Title: Re: Game viewer / analysis tool
Post by clojure on Oct 24th, 2010, 9:03am

on 10/24/10 at 06:58:05, omar wrote:
Wow, this tool is becoming extremely powerful. Great work Henrik.


Thanks for appreciating! My only concern is that there could lurk some minor bugs, and that some parts of the code requires intimate knowledge of how things work, and isn't at the moment well documented. Partly it's due to how I approach development process in solo coding to keep myself motivated, partly due to the nature of javascript combined with my coding preferences.

However, new orthogonal features could be co-developed by others. Especially code that doesn't not need to modify gametree should be relatively easy to use as a blackbox.

Title: Re: Game viewer / analysis tool
Post by Hippo on Oct 24th, 2010, 11:44am
Wow, it saves now :), seems I would like to analyze my postals with it ... it could be helpful later :) ... good job.

Title: Re: Game viewer / analysis tool
Post by Fritzlein on Oct 24th, 2010, 12:00pm

on 10/23/10 at 15:40:15, clojure wrote:
Demonstration of the new features: http://www.youtube.com/watch?v=raeswA4pzj4

I just watched, and I am blown away by your progress.  Incredible.  You are an amazing programmer.  I will start preparing my presentation file this afternoon.

Title: Re: Game viewer / analysis tool
Post by Fritzlein on Oct 24th, 2010, 12:17pm
I am trying to import game 115864, the one I will discuss in the workshop, into the editor, without success so far.  The move list generated by the game room uses 1w, 1b, 2w, etc. for the move numbers instead of 1g, 1s, 2b, etc.  I guess that could prevent importing, but even when I change the numbers it isn't working.  I'll keep trying various ways to get the game in; if necessary I could enter the moves by hand.

[EDIT]
OK, I see that the captures are explicit in the notation I am trying to import, but implicit in FAN.  e.g.

26s  ee3e Ce2n ef3n Ce3e Cf3x
vs.
26s  ee3e Ce2n ef3n Ce3e

With captures removed, 'b' and 'w' changed to 's' and 'g', and spaces inserted before and after move numbers, I was able to import the whole game.  It feels great to know that I can export to and import from external text files; that gives me confidence to start the real work.  Now begins the annotation!  Yay!  :D

Title: Re: Game viewer / analysis tool
Post by Fritzlein on Oct 24th, 2010, 12:54pm
Does the setup variation always occur only as a branch under Gold's setup and not as a branch under Silver's setup?

Title: Re: Game viewer / analysis tool
Post by clojure on Oct 24th, 2010, 1:05pm

on 10/24/10 at 12:54:04, Fritzlein wrote:
Does the setup variation always occur only as a branch under Gold's setup and not as a branch under Silver's setup?


Yes. I might change that later, but I didn't consider it important enough for the additional complexity.

Please note also, as previously mentioned, that setup variations are not saved (just to be sure :D).

I'm baffled why the game didn't load. You shouldn't need to change "w" and "b", and I also have implemented the notion of "removal step"; both for only importing to support Arimaa.com games. So there must be some minor bug. Shouldn't be too hard to find out.

Thanks for the compliments, Hippo and Fritzlein, also any additional bug reports / complaints are welcome.

Title: Re: Game viewer / analysis tool
Post by Fritzlein on Oct 24th, 2010, 1:28pm

on 10/24/10 at 13:05:16, clojure wrote:
Thanks for the compliments, Hippo and Fritzlein, also any additional bug reports / complaints are welcome.

The compliments will keep flowing because something like this was desperately needed, but also hard to make.  This is a great service.

I turned off the shadowing at first, thinking it was a distraction, but as I imagine talking through a position I can see how useful it will be to see both the current situation and what is about to happen.  The shadowing is back on; a great feature.

I am also experimenting with square highlighting.  Tentatively I am using yellow for danger and blue for safety, although I think green for safety might be more intuitive.  Are the highlight colors you chose special?  Also, is it impossible to highlight a trap?

I just tried adding some annotation, exporting, and reimporting.  The import failed.  


Code:
1g  Ra1 Rb1 Cc1 Rd1 Ce1 Rf1 Rg1 Rh1 Ra2 Hb2 Mc2 Dd2 Ee2 Df2 Hg2 Rh2
1s "Standard split horses. Offset camel weakens h2 rabbit, menaces c6."  ra7 mb7 rc7 ed7 he7 rf7 hg7 rh7 ra8 cb8 rc8 dd8 de8 rf8 cg8 rh8
2g "Silver setup deters EH attack on either wing; Gold probably wants lone-E attack or EMHR attack in west."  Ee2n Ee3n Ee4n Ee5w "Reasonable to get the gold E towards an M or R pull as part of a lone-elephant attack, while constraining the silver E."
[ 2g  Ee2n Ee3n Ee4n Hg2n "Normal move has dual threat of EH on f6 or pulling h7 R, but here f6 is safe." ] 2s "Silver has no way to stop a R pull and is thus very anxious for counterplay." @xa6=A @xb6=A ed7s dd8s hg7s hg6s
3g  Hg2n Hb2n Mc2n Cc1n "Gold improves four pieces and asks Silver to commit."
[ 3g  Ed5w Ec5w Eb5n Hg2n "Gold launches the lone E with one defensive step." 3s @xg2=B @xb6=A ed6s dd7s rc7e mb7e
4g  Eb6w Ea6s ra7s Hb2n
] 3s  ed6w ec6s ec5s cg8s
4g  Mc3e Md3e Me3e Rd1w
4s  ec4e ed4e ee4e de8w


This only imported up to the actual 2g; the variant 2g and beyond was not imported. :'(

Title: Re: Game viewer / analysis tool
Post by clojure on Oct 24th, 2010, 1:30pm
The problem with importing from Arimaa.com was with the handling of moves with separated by lines. It did only look for spaces, and since there is no spaces between two moves, it failed. I wonder why it worked for other Arimaa game...

I am not going to update the viewer with that fix until you, Fritzlein, say that you have saved your annotations as external file. I will commit it to bitbucket though.

Title: Re: Game viewer / analysis tool
Post by clojure on Oct 24th, 2010, 1:32pm
That works with the fixed version (that replaces \n with " ").

Title: Re: Game viewer / analysis tool
Post by Fritzlein on Oct 24th, 2010, 1:37pm

on 10/24/10 at 13:30:35, clojure wrote:
The problem with importing from Arimaa.com was with the handling of moves with separated by lines. It did only look for spaces, and since there is no spaces between two moves, it failed. I wonder why it worked for other Arimaa game...

Wow, you are fast.  I will guess the reason it worked for the games you imported is that Omar has re-implemented the move list generation several times, not exactly the same, so I was using a different gameroom move list than you were.

Anyway the latest little glitch is from export-import, not the game room.  The only outside influence is Notepad, but I don't have wordwrap on, so that shouldn't have caused a problem.  (By the way, I am using Chrome on Windows 7 Home Premium, by the way, if that matters.)

Title: Re: Game viewer / analysis tool
Post by clojure on Oct 24th, 2010, 1:38pm

on 10/24/10 at 13:28:57, Fritzlein wrote:
I turned off the shadowing at first, thinking it was a distraction, but as I imagine talking through a position I can see how useful it will be to see both the current situation and what is about to happen.  The shadowing is back on; a great feature.


Yeah, I find it useful too, but the graphics design might be more clear or different.


Quote:
I am also experimenting with square highlighting.  Tentatively I am using yellow for danger and blue for safety, although I think green for safety might be more intuitive.  Are the highlight colors you chose special?  Also, is it impossible to highlight a trap?


At the moment, traps are highlighted logically but not shown properly. I might change that.

Also there's no reasons for the colors. The marking system is not thought out with specific use cases in mind. There could also be arrows etc. Go ahead and suggest for later versions. :)

Just say and I will add the fixed version. Then that import should work. But you have to have all annotations saved to elsewhere just to be sure.

Title: Re: Game viewer / analysis tool
Post by clojure on Oct 24th, 2010, 1:45pm
Well, I went ahead and put the fixed version. Force refresh the page (ctrl+R) and it should work. (I have the same environment atm also).

EDIT: Yeah. The problem is not with Arimaa.com different lists but my blind assumption. I'm not sure exactly how the copy-pasting from/to textarea/notepad affects the text, but now the translator should be aware of line ends. I might need to test this in Linux, too.

Title: Re: Game viewer / analysis tool
Post by Fritzlein on Oct 24th, 2010, 2:15pm

on 10/24/10 at 13:45:53, clojure wrote:
Well, I went ahead and put the fixed version. Force refresh the page (ctrl+R) and it should work.

I confirmed the re-import now works, thanks!

Title: Re: Game viewer / analysis tool
Post by clojure on Oct 24th, 2010, 2:23pm
It's very good practice to confirm. Now I can relax a bit :) Thanks!

Title: Re: Game viewer / analysis tool
Post by Fritzlein on Oct 25th, 2010, 1:35am
I am enjoying entering comments and variations in preparation for my presentation.  Two feature requests have occurred to me.  Neither is essential in any time frame, never mind in time for the festival, but I thought I would record them here before I forget.

1) Sometimes when I get lost in a maze of variations, I simply want to pop back out to the game, get my bearings, and move on.  For this purpose a "collapse all" button would be nice.
2) I love the ability to re-order sub-variations; a very nice extension of that would be to swap the top sub-variation with the main line.  I understand this is a serious issue notationally, because elements in brackets would have to get unpacked into the main line whereas the main line would have to be properly bracketed and tucked in.  The feature is particularly useful to analysis, though, when one often changes one's mind as to which move is best.  Even for the workshop, where I am obviously going to leave the actual game moves as the main line, I have had the desire to promote a move from a sub-sub-variation into the main sub-variation, which I can't presently do without deleting and re-entering moves.

As I say, these are just notes for future reference rather than immediate feature requests.  So far I find I have everything I need for the festival and more!

Oh, there is a real bug too, albeit a small one: deleting a position can apparently orphan moves below it in the variation, causing strange behavior from the viewer.  Logically deletes should be cascading, although that is a dangerous power to give the user.   :o

Title: Re: Game viewer / analysis tool
Post by Fritzlein on Oct 25th, 2010, 2:33am
Did I mention yet that the ability to annotate a game this way is freakin' awesome?  I want to start another Mob game right now, simply because there is such a vastly better way to swap analysis than ever before.  I want the entire library of Arimaa puzzles converted to and integrated with the new viewer because the current puzzles only can show the main line of the solution with vague comments about what happens against other defenses.  I want this tool integrated into the current "game comments" space to make it ten times easier to point out missed moves and alternate variations.  And forget the bother of making analysis videos; the annotated tree of variations from a game itself is a sufficient contribution to the community, without the hassle of MotionBox or Vimeo or whatever.  Sure, videos are great for people on the fringe of the community, but what you have provided is what serious players need.  I am fired up by the potential for your development to take the communally available Arimaa analysis to a higher level.

Title: Re: Game viewer / analysis tool
Post by Fritzlein on Oct 25th, 2010, 2:38am
I notice that chessandgo hasn't commented in this thread yet.  When he tries this out for the first time, he is going to gush his mush.  He wanted to do analysis so badly he was building trees by hand, which I can assure you is a pain in the tuckus.  The only drawback I see here is that serious students of the game (like him) will now pull even further ahead because their studying just got easier.

Title: Re: Game viewer / analysis tool
Post by clojure on Oct 25th, 2010, 6:32am

on 10/25/10 at 01:35:14, Fritzlein wrote:
I am enjoying entering comments and variations in preparation for my presentation.


Thank you for the kind words :)


Quote:
Two feature requests have occurred to me.


You can pour any ideas here. Or create account to Bitbucket and add an issue.


Quote:
1) Sometimes when I get lost in a maze of variations, I simply want to pop back out to the game, get my bearings, and move on.  For this purpose a "collapse all" button would be nice.


Nice low-hanging fruit.


Quote:
2) to swap the top sub-variation with the main line.  I understand this is a serious issue notationally, because elements in brackets would have to get unpacked into the main line whereas the main line would have to be properly bracketed and tucked in.


There is an issue for this in Bitbucket http://bitbucket.org/egaga/arimaa-game-viewer/issue/17/variation-promoting-into-main-line-move

I previously considered this and put a "won't fix" resolution until it is requested fiercely enough.

I actually don't understand how you would like it to work for normal game. Maybe you explained that but I don't get it. I mean that visually the gametree would be short as collapsed. Wouldn't it feel weird? I find this unintuitive for user, since I need to somehow annotate also what is the main move.

All issues that I have with this is mainly with the idea, not with implementation (although it needs some work).


Quote:
The feature is particularly useful to analysis, though, when one often changes one's mind as to which move is best.


In this case it is much more useful.


Quote:
Oh, there is a real bug too, albeit a small one: deleting a position can apparently orphan moves below it in the variation, causing strange behavior from the viewer.


Could you provide me a minimal notation that I can produce this error with? I failed to get this problem.


Quote:
Logically deletes should be cascading, although that is a dangerous power to give the user.   :o


The intented behavior is this. Some bug has crept in.

Title: Re: Game viewer / analysis tool
Post by clojure on Oct 25th, 2010, 6:43am

on 10/25/10 at 02:33:35, Fritzlein wrote:
Did I mention yet that the ability to annotate a game this way is freakin' awesome?


These comments are one of the reasons I have the motivation to get boring stuff done.


Quote:
I am fired up by the potential for your development to take the communally available Arimaa analysis to a higher level.


In lfe in general, I feel that there is lots of possibilities to improve our understanding by providing tools. Especially in education I considered starting making visual interactive software but it seems I have some controversial thoughts about education and am a bit cynical in general how it would work out with all things considered.

But in Arimaa context, I would be really glad if this tool helps you understand the game better and share the knowledge. Which brings me the topic that soon we should create a service for browsing and adding FAN'ned games. That would help Mob games also but provide the platform for growing the base knowledge.

One thing that I should think soon is about how I can enhance the support for markings, providing variety of them and way to customize the visual view. (e.g. you wanted red and green, but I think color blindness is too common to make them default).

Title: Re: Game viewer / analysis tool
Post by RonWeasley on Oct 25th, 2010, 8:25am

on 10/25/10 at 02:33:35, Fritzlein wrote:
Did I mention yet that the ability to annotate a game this way is freakin' awesome?  I want to start another Mob game right now, simply because there is such a vastly better way to swap analysis than ever before.  


During your previous post I immediately thought about The Mob.  This new ability could make it much easier to collaborate.  It may make the game harder for The One, but it seems like the experience will be more fun for The Mob.  It may help The Mob reach consensus more easily, which makes things more fun for The Moderator.

Title: Re: Game viewer / analysis tool
Post by Hippo on Oct 25th, 2010, 8:46am
I have one easy thing for to_do list ... the shadow mode ignores piece color (orientation), it would be more natural to have silver pieces flipped.

... I am going to use it now :) import, save, load functions work well so it's really ready to use :). Thanks

BTW: Could I flip the board to look on it from the silvers perspective?

Next one with really low priority: Renaming future for saved games would be helpfull.

Title: Re: Game viewer / analysis tool
Post by clojure on Oct 25th, 2010, 8:54am
Thanks for reminding of that shadow / ghost thing.

The following is for all that is going to use the viewer:

Even though the save/load should work, it's still in testing phase, so there could be problems. So please export the textual notation to a file if you would get angry for losing data.

Also, since I will update the viewer from time to time, the most secure way for you is to get the sources from Bitbucket (right top corner), and have the viewer completely locally.

All this just for precaution. I don't want anyone to get to situation where there is lots of accumulated data but everything is wiped off to bitdust.

EDIT: I will add your request to the issue repository (flip board / renaming).

Title: Re: Game viewer / analysis tool
Post by camelback on Oct 28th, 2010, 9:26am
I got this post by searching "client" in Arimaa forum ;D
WOW!!! What a great tool! I don't have words to describe how awesome it is.

So far I used save and load feature of David Fotland's arimaa.exe for analysis. Now I moved to Ubuntu I was desperately looking for a new tool.

This is 1000 time better than what I hoped for. I would say this is the best thing to improve one's game.

Great job Clojure! Keep up the good work.

THANK YOU

Title: Re: Game viewer / analysis tool
Post by rbarreira on Oct 28th, 2010, 9:54am

on 10/28/10 at 09:26:10, camelback wrote:
So far I used save and load feature of David Fotland's arimaa.exe for analysis. Now I moved to Ubuntu I was desperately looking for a new tool.


Not at all to decrease the value of clojure's new tool, but FYI you can still run David Fotland's program in Ubuntu by using Wine (http://www.winehq.org/). Let me know if you need help installing.

Title: Re: Game viewer / analysis tool
Post by clojure on Oct 28th, 2010, 11:54am

on 10/28/10 at 09:26:10, camelback wrote:
WOW!!! What a great tool! I don't have words to describe how awesome it is.


This means a lot to me. :') Thanks for the support!

And if I get to implement all my fantasies, it should really help to study Arimaa. A book I'm reading is giving me confidence that I'm on right track when I'm going towards a platform that helps to maintain ideas and also combine them. The author calls it "liquid network" http://www.amazon.com/Where-Good-Ideas-Come-Innovation/dp/1594487715

Title: Re: Game viewer / analysis tool
Post by Fritzlein on Oct 29th, 2010, 6:01pm
I expect it is too late for last-minute code changes; this comment is for after the festival.

I had entered a sub-line for move 3g.  Today I went to add another alternative, and it appeared in three places on my screen.  In the notated output, my third 3g appears only once, but on the tree view it shows up three times.  I am pasting the notation here in case it will allow the bug to be reproduced.


Code:
1g  Ra1 Rb1 Cc1 Rd1 Ce1 Rf1 Rg1 Rh1 Ra2 Hb2 Mc2 Dd2 Ee2 Df2 Hg2 Rh2
1s "Adanac consistently experiments with small setup variations. Here M position slightly weakens west, strengthens east."  ra7 mb7 rc7 ed7 he7 rf7 hg7 rh7 ra8 cb8 rc8 dd8 de8 rf8 cg8 rh8 "Silver EHH setup in response today would be more committal than my experimentation two years ago."
2g "Silver setup deters EH attack on either wing; Gold probably wants lone-E attack or EMHR attack in west."  Ee2n Ee3n Ee4n Ee5w "Reasonable to get the gold E towards an M or R pull as part of a lone-elephant attack, while constraining the silver E."
[ 2g  Ee2n Ee3n Ee4n Hg2n "Standard opening only really targets h7 rabbit pull, not EH attack." ] 2s "Silver has no way to stop a R pull and is thus very anxious for counterplay." @xa6=A @xb6=A ed7s dd8s hg7s hg6s
3g "Gold has radically divergent strategic choices."  Hg2n Hb2n Mc2n Cc1n "Gold improves four pieces and asks Silver to commit."
[ 3g  Ed5w Ec5w Eb5n Hg2n "Gold can aggressively pursue a rabbit pull without ceding b3." 3s @xg2=B @xb6=A ed6s dd7s rc7e mb7e
4g  Eb6w Ea6s ra7s Hb2n
] [ 3g  Ed5e Ee5e hg5s Ef5e 3s @xg3=A @xf6=A ed6e ee6s ee5s ee4s
4g  Eg5n Eg6n rf7s Eg7w
] 3s "When both camels are on the same wing, both elephants usually want to be there too."  ed6w ec6s ec5s cg8s "Silver fears a swarm against c6."
4g "Big question throughout the game: Which wing does gold M want to be on? Silver M is committed; Gold M may choose. "  Mc3e Md3e Me3e Rd1w "Fourth step should consider Ce1n as well as the rabbit shift."
4s "The gold M is now opposite the silver HH. Silver has achieved nothing but asymmetry and tension."  ec4e ed4e ee4e de8w "Building a phalanx on d7 is not strictly necessary; Cg7s is a useful alternative."
[ 4s  ec4e ed4e ee4e cg7s 5g  Ed5n dd7n Ed6n Mf3w
5s  ef4w ee4w Me3n mb7s


Title: Re: Game viewer / analysis tool
Post by clojure on Oct 29th, 2010, 6:31pm
It looks fine to me. Just to be sure, it is different from this?

http://imgur.com/ohbwgl.jpg

Thanks for the notation. Different from the problem you are having, it seems that copy-pasteing directly causes problems. I need to copy-paste, cut, and paste again to get it to work. There's some weird characters probably.

Btw. did you notice that I earlier asked for a similar notation for the deletion bug, since I couldn't reproduce that. It should delete childrens under the node being deleted.

I probably won't do any changes to the client. It is too risky. Thank you for giving well informed reports.

Title: Re: Game viewer / analysis tool
Post by clojure on Oct 29th, 2010, 6:35pm
Did you try to import it after refreshing the browser? It would help to know if it gave same or different view.

Don't feel obliged to answer especially soon. You probably have much more interesting stuff to do =)

Title: Re: Game viewer / analysis tool
Post by qswanger on Oct 29th, 2010, 8:30pm
Henrik, you da man dude!   ;D

Awesome work!

I remember you saying when you first started this project that you're currently unemployed (which is why you have the time to devote to it). Is that still your situation, or have you managed to find something? With your skills, talent, hard work, and dedication I can't imagine someone would not want to hire you. Are the job prospects really that slim in Finland?

Title: Re: Game viewer / analysis tool
Post by clojure on Oct 29th, 2010, 9:12pm

on 10/29/10 at 20:30:56, qswanger wrote:
Henrik, you da man dude!   ;D


Haha :D

Great to hear you appreciate!


Quote:
I remember you saying when you first started this project that you're currently unemployed (which is why you have the time to devote to it).


I would say that it has helped that I'm indeed unemployed but it wasn't prerequisite to get it done to this point. Mainly the question has been that I feel motivated, and it springs from the community's need and that I like to create stuff, especially when I don't need to argue with invalid business logic.


Quote:
Is that still your situation, or have you managed to find something? With your skills, talent, hard work, and dedication I can't imagine someone would not want to hire you. Are the job prospects really that slim in Finland?


It's complicated :D I resigned myself from the job because of merging of two companies. It came as surprise, and before it I was preparing to decrease my work time so that I could do more creative stuff.

The question is multidimensional why I'm not yet at work. Let's just say that I haven't found my niche where environment, people and technical aspects are what they should. One recent prospect is that some friends of mine are founding a startup (they are getting fed up, too). But it depends a lot of the content whether I will accept a position there.

I fantasize that I could create a game like Braid; game that is like a good piece of art and gives player new experiences that happen inside his head. Or maybe research on AI for board games but I wouldn't really like to involve with university bureaucracy and its somewhat bizarre atmosphere (the competition for funding, success is too important, not creativity, ego clashes, teaching content is too much tied up with industry practice).

I have come to conclusion by reading quite a lot and having difficulties with accepting the norms, that I will have a life where I don't compromise my ideals; whether that leads to a quick dead-end, I don't know, but at least I won't stress out for insignificant matters, as I do in normal working environment.

But what comes to Finland in general, I think the current situation is kinda good. There are available positions for programmers but I'm not sure how many people are competing for them.

Title: Re: Game viewer / analysis tool
Post by Fritzlein on Oct 29th, 2010, 11:50pm

on 10/29/10 at 18:31:18, clojure wrote:
It looks fine to me. Just to be sure, it is different from this?

Yes, it was different from your screen shot.  The third variation appeared in three places.  I wish I had given you a screenshot, because now I am not only failing to reproduce the error, I am entirely failing to import the annotation from my earlier post.  I can't get it to appear any way, either right or wrong.


Quote:
Thanks for the notation. Different from the problem you are having, it seems that copy-pasteing directly causes problems. I need to copy-paste, cut, and paste again to get it to work. There's some weird characters probably.

I tried the copy-paste-cut-paste method, and that didn't work either.  But I don't think the issue is merely with getting text from the forum into the browser, because I am also having the same problem with both text files I exported and saved since the tree weirdness first appeared.  I can't get them to import at all, or if I can import it is just the two setups with no comments and no subsequent moves.  Also the locally saved game will only import the two setups with no comments and no subsequent moves.

I am, however, able to import the text file I exported and saved from two versions previously, i.e. before the tree display went weird on me.  I will try now to bring that up to speed.


Quote:
Btw. did you notice that I earlier asked for a similar notation for the deletion bug, since I couldn't reproduce that. It should delete childrens under the node being deleted.

Sorry I missed that request.  From now on I will be the model bug reporter, with a text file export and a screenshot every time.


Quote:
I probably won't do any changes to the client. It is too risky.

Yes, that seems wise.  In fact, in the vein of not taking any risks, when I get my current commentary caught up, I will not only export the text file, but also leave the browser open all night so that importing tomorrow can't be an issue.  You shouldn't have to touch a thing.  Of course any instability is my fault for not beginning my testing and for not completing my entry of commentary plus variations sooner in advance of the event.   :)

Title: Re: Game viewer / analysis tool
Post by Fritzlein on Oct 30th, 2010, 12:18am
OK, as soon as I tried to re-enter the new variation into my "last known good" annotation file, the same bug reappeared, so I thought I would do the bug report right this time.  The screen shot and exported move file are here (http://arimaa.com/arimaa/mwiki/index.php/Pastebin).

Title: Re: Game viewer / analysis tool
Post by clojure on Oct 30th, 2010, 4:01am
Thanks! It did load for me correctly for the first time without any problems whatsoever. Which felt kinda great, since that is so big text :)

On the other hand, it didn't for you. It might be a bit hard to guess what's going on. I will see what I can do 8)

I think one way I could find a problem is to use copy from this thread since that needed the copy-paste trick.

Title: Re: Game viewer / analysis tool
Post by camelback on Oct 31st, 2010, 1:12am

on 10/28/10 at 09:54:33, rbarreira wrote:
FYI you can still run David Fotland's program in Ubuntu by using Wine (http://www.winehq.org/). Let me know if you need help installing.


Thank you very much for the offer. I have tried giving wine to laptop, but it gets so intoxicated that it slows down everything  ;D
I decided no wine anymore and go with native tools only.

Title: Re: Game viewer / analysis tool
Post by Fritzlein on Oct 31st, 2010, 10:28am
By the way, during the workshop, did anyone manage to import the movelist I pasted to the Arimaa Wiki?  Did anyone try to import and fail?

Title: Re: Game viewer / analysis tool
Post by Hippo on Oct 31st, 2010, 5:26pm

on 10/31/10 at 10:28:59, Fritzlein wrote:
By the way, during the workshop, did anyone manage to import the movelist I pasted to the Arimaa Wiki?  Did anyone try to import and fail?

I have used the wiki file without problems ... expect I hoped fore some more comments after 13 :). But the Adanacs camel moves forced by you made big impression to me :).

Title: Re: Game viewer / analysis tool
Post by Fritzlein on Nov 1st, 2010, 2:03am

on 10/31/10 at 17:26:41, Hippo wrote:
I have used the wiki file without problems ... expect I hoped fore some more comments after 13 :). But the Adanacs camel moves forced by you made big impression to me :).

Excellent, I am glad that you were able to import without difficulty the file that I exported.  It seems that the problems I had with importing might be specific to me, and therefore a difficult bug to track down.

I'm sorry I didn't get as far into the game during my workshop as I had hoped, but time was constrained, and it is good that we didn't delay the later events too long.  Besides, the further the game progresses, the less it is about the nature of unbalanced forces and the more it is about the nature of goal races.

I think I gave the wrong impression that Adanac was dancing to my tune in the opening.  Yes, perhaps my elephant-horse attack forced his camel move, but one could just as well say that his previous camel moves forced me into making an elephant-horse attack that put my horse in jeopardy.  Until move twelve, his manipulation of me was working out quite well.  If he hadn't voluntarily moved his camel to the west instead of forcing it through to the east, I would have been under great pressure strategically.

Title: Re: Game viewer / analysis tool
Post by Hippo on Nov 1st, 2010, 3:33am

on 11/01/10 at 02:03:55, Fritzlein wrote:
Excellent, I am glad that you were able to import without difficulty the file that I exported.  It seems that the problems I had with importing might be specific to me, and therefore a difficult bug to track down.

I'm sorry I didn't get as far into the game during my workshop as I had hoped, but time was constrained, and it is good that we didn't delay the later events too long.  Besides, the further the game progresses, the less it is about the nature of unbalanced forces and the more it is about the nature of goal races.

I think I gave the wrong impression that Adanac was dancing to my tune in the opening.  Yes, perhaps my elephant-horse attack forced his camel move, but one could just as well say that his previous camel moves forced me into making an elephant-horse attack that put my horse in jeopardy.  Until move twelve, his manipulation of me was working out quite well.  If he hadn't voluntarily moved his camel to the west instead of forcing it through to the east, I would have been under great pressure strategically.


Yes, I hope I have got it (already yesteday), that the dance was mutually forced. And I agree after turn 13 the dance was over. ... I wrote the comments just not to made a post so short :) and to demonstrate I have loaded the game well :). It was smart to stop it to allow other events ... BTW: It's a pitty you had HW problems during the simul.

Title: Re: Game viewer / analysis tool
Post by jdb on Apr 9th, 2011, 8:06am
Would it be possible to have the setup string accept a partial list of pieces?

The following cannot be imported into the viewer:

1g Ra1
1s ra4


Title: Re: Game viewer / analysis tool
Post by clojure on Apr 10th, 2011, 2:06am
Without looking at the code, I think the change should be small. I will take a look at it, but not sure when I have time. I have to make sure I won't break anything.

In another news, I have not developed this client any further because of founding a company last year. It seems there's not good chances me having time to further advance the client in any major way.

Although, I have gotten some practice with Google AppEngine, so I might try to quickly create a shared board, but maybe not as full-fledged I want.

Thanks for the request :)

Title: Re: Game viewer / analysis tool
Post by clojure on Apr 12th, 2011, 4:44am
I cannot promise to take even a look at it in this week, I'm quite exhausted and busy with a project. Sorry.

Title: Re: Game viewer / analysis tool
Post by clojure on Sep 3rd, 2011, 7:51am
Hi, it's been long time. Not good news; I do nothing but code  and still I feel I lack the time to implement my ideas that I have on software in general. Unfortunately it means this client won't be worked on for a while.

Also, Google AppEngine changed its pricing model, which might mean that hopes of using it for the backend just dropped. On the other hand, Heroku recently announced Java support and it seems full Scala support is to come soon. It's possibly the best alternative given my background.

It would be nice to hear whether anyone has been using the tool? Has it been any help as it is now? Of course, the best parts would be coming... hopefully I or someone else will eventually.

Title: Re: Game viewer / analysis tool
Post by Fritzlein on Sep 3rd, 2011, 10:42am
Hi, clojure.  It is good to hear from you!  I am happy to hear your good news; it is blessing to have so many interesting projects that there is not time enough to work on all of them.

For many moons your tool was not being used by anyone as far as I know, but since the start of the Mob vs. Gang game in July, we have used it every week.  I can't speak to what the Gang is doing, but for the Mob it is a part of the discussion to gather all the proposed moves in an analysis tree with suggested variations and refutations.  For this purpose your software is extremely useful exactly as it is.  On the Mob's most recent move, for example, it helped me make up my mind that our front-running move was strong and a wacky alternative was weak, in a way that I couldn't see so clearly when I was just reading text and moving the pieces in my head.

Certainly I could give you feature requests and bug fixes.  My top feature request at the moment is a way (in addition to merely re-ordering variations) to promote a variation up into the main line while demoting the main line to variation status.  Also there is the bug where a move can be added at the end of one variation but it displays at the end of every variation.  And the tree doesn't allow variations at the setup stage, although that isn't relevant to our current usage since we are past the setup.  Also the big feature of having a shared board for live discussion isn't currently relevant.

All of these issues pale in comparison to the usefulness of having the tool at all.  It is a huge help to be able to transmit information visually as well as merely textually.  Thanks for your fabulous donation to the Arimaa community.

If you are curious to see the tool in use, you could sign up for the Mob vs. Gang game, probably with the Gang since it is USA vs. ROW, unless the Gang is not even using the tool, in which case you could be an honorary Mob member to gain access to the relevant discussion. http://arimaa.com/arimaa/forum/cgi/YaBB.cgi?board=events;action=display;num=1307542193

Title: Re: Game viewer / analysis tool
Post by Fritzlein on Sep 3rd, 2011, 10:50am

on 04/09/11 at 08:06:27, jdb wrote:
Would it be possible to have the setup string accept a partial list of pieces?

By the way, in case the relevance of this request wasn't clear, this is important for sharing puzzles.  Omar has a puzzle creation tool, which is a nice way to share puzzles that is built in to the Arimaa server, but his tool only allows you share a winning line.  For more complicated puzzles, there is always a question of how one would win against a different defense, and/or whether another line would also win or could be refuted.  You tool already has the requisite variation capability, just not the puzzle setup capability.  For a while jdb was peppering us with a series of great endgame puzzles, which inspired his request, but at the moment this feature is not pressing.

Title: Re: Game viewer / analysis tool
Post by clojure on Sep 3rd, 2011, 11:30am
Hey Fritzlein,

it feels good that it has been in real use. Also now that you have been using it, the issues you mentioned have more weight in them. It's good to have them documented in here. I'll see what I can do when I have energy to switch to this project.

Most of what you request should be reasonably easily doable.

About the ongoing team battles, I definitely am interested but gotta leave it for later. Maybe when the game is over and discussions are revealed.

Thank you for appreciating!

Title: Re: Game viewer / analysis tool
Post by Sconibulus on Sep 3rd, 2011, 3:15pm
Considering move 30 will be over a year from now, and games often go much deeper than that, I hope you don't have to wait that long to see how useful your creation's been. : () )

Title: Re: Game viewer / analysis tool
Post by clojure on Sep 4th, 2011, 2:16am
Time is flying at the moment so maybe I won't even notice a year passing by ;)

But yeah, probably I'll check it out sooner! Thanks for commenting.

Any ideas and bugs are encouraged to put here.

Title: Re: Game viewer / analysis tool
Post by tharkun on Feb 21st, 2012, 6:34pm
It's been a while, but just for the case that the developer of this tool is still following the thread I would like to express my delight with finding this game viewer. It is incredibly useful; despite the bugs it is much better than using the comments to a game for analysis.

It seems that the development of the viewer (which is in beta phase) has been halted. Still, clojure was asking for ideas and bugs in the previous last post in this thread, so I'll post my comments on the off chance that a developer is interested in it. In the long run a good game viewer could be a crucial tool for serious Arimaa study. I checked the code myself, but I fear it's mostly abracadabra for me  ;D .

My two main suggestions for improvement (1 bug and 1 idea):

1. The text fields for comments are unreliable. Comments for the first and last move are never saved. Copy & paste works on an irregular basis: inserting text manually in the import window quite often, copy & paste between two different comment fields sometimes, pasting plain text at times, from a web browser seldom. I haven't managed to find a clear pattern yet. Restarting the browser occassionally helps.  Now and then the comments do show up in the browser but do not get saved, while at other times simply switching to another move and back causes a new comment to disappear.

2. More clarity regarding the save data. The viewer seems to use both cookies and some other form of local storage. Not all browsers support the use of cookies by localhost, and even if they do it is bothersome that all cookies are in the same data file on the harddisk. It means that you cannot easily delete cookies in your browser of use. Moreover, it is not clear how I can safeguard my data. It is sufficient to backup cookies.dat (or a file with a similar name), or some other form of persistent data as well?!

I want to reiterate Fritz's statement in order to end on a positive note: any issues are dwarfed by the sheer usefulness of having this tool.

Title: Re: Game viewer / analysis tool
Post by clojure on Feb 22nd, 2012, 2:54am
Thanks! I replied privately to you.

About local storage: it was just a convenient way to make saving possible without adding server side code. For exchanging ideas (and permanently securing content) you should just export it as text file. Of course better mechanism should be done, if ever the original vision of this tool was to be realized...

Not sure about copy-paste problems, I think it's that there is event handling for listening key strokes, and not just any kind of change. If I remember correctly, there's no reliable way to programmatically get notification for textarea's change ('change' event might work). Before anything is done about this, try just to press some key inside the comment area, and remove it.

Sorry about the quality of code; it's not well abstracted. I was just too hurried to get something interesting working.

Title: Re: Game viewer / analysis tool
Post by tharkun on Feb 22nd, 2012, 6:29am
Thanks for your reply! I think that it's not about the quality of the code, since I haven't done any programming in Javascript before. It's just that it was either too complicated for me and/or it didn't resemble programming languages familiar to me closely enough.

About the save games: I guess that I was trying to use the viewer for something that was not intended in the first place. Exporting and importing works fine for single games. Searching for a particular game in the resulting text file is more logical, especially since the games are denominated as "game_23" and such in the game viewer.

My observations about the comments text fields are probably not useful as long as the issues cannot be reliably reproduced. This seems to be quite problematic with keystrokes, so I have concentrated on importing comments (which is the main workaround). Any comment in the place of one of the capital letters below does not get imported/saved:


Quote:
1g "A" Ra1 Db1 Rc1 Rd1 De1 Rf1 Rg1 Rh1 Ra2 Hb2 Cc2 Md2 Ee2 Cf2 Hg2 Rh2 "B"
1s  "C" ra7 hb7 cc7 ed7 me7 df7 hg7 rh7 ra8 rb8 rc8 dd8 ce8 rf8 rg8 rh8 "D"
2g  Ee2n Ee3n Ee4n Hg2n
[ 2g  Ee2n Ee3n Hb2n Hg2n "E" 2s  ed7s ed6s dd8s hg7s 3g  "this works"
]
2s  ed7s hg7s dd8s ed6s

There is also a text box for the position before 3g in the main line, but comments in that box do not get saved. However, there is a workaround, which I showed in the variation: just manually add an empty move for gold in the import window.

Title: Re: Game viewer / analysis tool
Post by clojure on Feb 22nd, 2012, 10:10am
Hey, thanks for giving such specific information. Importing the given exported game seems to indicate that commenting a setup position (the two first moves) is does not just work properly.

I'll add this to bug tracker!

Title: Re: Game viewer / analysis tool
Post by tharkun on Feb 22nd, 2012, 10:57am
It seems so, yes. Note that the same seems to apply to the first move of a variation, or is that just on my system?

Title: Re: Game viewer / analysis tool
Post by tharkun on Feb 28th, 2012, 1:05pm
I have done some more specific tests with commenting. For me, commenting on the first move of a variation does not work. This behavior can be reliably reproduced and the scope extends to all levels in the tree, that is, commenting on the first move of a subvariation doesn't work either.

Title: Re: Game viewer / analysis tool
Post by clojure on Feb 28th, 2012, 1:09pm
Thanks for testing and finding that!

Title: Re: Game viewer / analysis tool
Post by clojure on Feb 28th, 2012, 2:23pm
I think I fixed it for the variations. It read but just didn't add the moves for variations at all. Setup commenting is not supported yet as it requires more work.

I will not update the online version until I am confident it works and have time.

You can get the updated viewer for local usage from https://bitbucket.org/egaga/arimaa-game-viewer
either as zip or pulling the sources with Mercurial (as you probably know).

Title: Re: Game viewer / analysis tool
Post by tharkun on Feb 28th, 2012, 4:21pm
That is fantastic! It works perfectly so far, thanks a lot!

Title: Re: Game viewer / analysis tool
Post by clojure on Feb 29th, 2012, 9:02am

on 04/09/11 at 08:06:27, jdb wrote:
Would it be possible to have the setup string accept a partial list of pieces?


It's possible now if you load newest sources to your local machine.

Here's an example puzzle for importing:

1g "This is puzzle from Arimaa.com:
http://arimaa.com/arimaa/puzzles/show.cgi?p=p5"  Eb6 Rd6 Cc5
1s  rc7 dc6 ee6

However, it's not possible to setup visually the starting position of puzzles but after setting the initial position, you can make the variations as usual.

Also now commenting setup position is possible (note that you must use the position text box, not move).

But I won't promise it works all the time ;) (and that's why these changes are not reflected in the version that is hosted on my personal web page)

Title: Re: Game viewer / analysis tool
Post by tharkun on Feb 29th, 2012, 10:39am
It works like a charm!

On a related note: I worked out how to use your workaround for copying and pasting comments optimally. For future reference: first pasting plain text in the comments text field followed by either deleting and retyping an existing symbol or typing and deleting an extra symbol invariably works perfectly well for me.  

Title: Re: Game viewer / analysis tool
Post by jdb on Feb 29th, 2012, 11:53am

on 02/29/12 at 09:02:41, clojure wrote:
It's possible now if you load newest sources to your local machine.

Here's an example puzzle for importing:

1g "This is puzzle from Arimaa.com:
http://arimaa.com/arimaa/puzzles/show.cgi?p=p5"  Eb6 Rd6 Cc5
1s  rc7 dc6 ee6

However, it's not possible to setup visually the starting position of puzzles but after setting the initial position, you can make the variations as usual.

Also now commenting setup position is possible (note that you must use the position text box, not move).

But I won't promise it works all the time ;) (and that's why these changes are not reflected in the version that is hosted on my personal web page)



Fabulous. Thanks alot!

Title: Re: Game viewer / analysis tool
Post by tharkun on Mar 1st, 2012, 3:37pm
What a pity, not everything is perfect in paradise :o

That is, my save games are gone just now. It's no real problem, since I exported all my analysed games to a text file.

I'm not sure about the cause of the data loss. It's not necessarily about the version update. I tested the two most recent versions with a new save game, and both work fine. Some obscure browser setting restricting the amount of locally saved data may well be the culprit. This would make sense, since my game list consisted about thirty analysed games (some of them quite heavily). I did some testing and there doesn't seem to be a fixed limit for the number of games. This does not exclude the possibility that the game number (game_x) is to blame, since I haven't got a clue about the highest ID in my previous list of games.

Well, it was fun while it lasted, but this seems to be a good point to stop using an application for something it's not meant for, haha. Scrolling through the game list was starting to slow down, and with thirty odd games it was a pain to remember which game number belonged to what specific game in the end ;D The main goal of the application has always been to facilitate sharing information and not to function as a database system. What can I say, I enjoy testing the boundaries  ;)

Title: Re: Game viewer / analysis tool
Post by clojure on Mar 1st, 2012, 11:36pm
Good to hear you had exports!

Someday one of the priorities should be to make a simple online repository for games, which could be private or shared.

Title: Re: Game viewer / analysis tool
Post by clojure on May 15th, 2012, 1:34am
A forewarning: the site this viewer is hosted on will not be available next month because I changed ISP.

THIS MEANS: export all precious files you have saved (well, relying on the local storage save mechanism provided by the viewer is not reliable anyway)

I try to find another place for it but cannot guarantee it to be available soon.

Because no-one has reported about the new version to have caused more headache than the previous, I will host the most recent version on Bitbucket. Hopefully all goes well.

Title: Re: Game viewer / analysis tool
Post by Boo on Aug 14th, 2012, 4:14am

Quote:
Mostly, I'm interested to hear suggestions from user's perspective.


How do I invert the board?



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