Pointy Stone 3 Othello   by Jonathan Kreuzer

Mainpage (with download) | Using PS 3 | The PS 3 Brain | The Future of PS 3 | Othello Program links | Go to 3DKingdoms.com

Menus and Commands

This is what the GUI looks like:

Pointy 3 Screenshot

COMMANDS:

Left Button: Move the cursor over the square you wish to move, and click the left button to move there.

Center Button: Center Click the Mouse to toggle marking squares that are valid moves on and off.

NOTE: You may have click on the board window(right click) to enter keyboard commands.

s key: Type s to tell Pointy to stop thinking early, and he will play whichever move seemed best on shallower searches.

z Key: This will tell Pointy to play the side to move. If you're replaying the game, Pointy's move will end the replay.

GAME WINDOW : The game window is displayed to the right of the board window. It contains the following:

Player Names: Here you can type in names for either player. Pointy Stone will automatically write his name and how deep he searches in the midgame if he is playing. If you want the human player's name to Default to something when the program is started up, from the menu choose defaults and set default name (from the black or white name boxes.)

Discs: This is the number of discs that are currently on the board for each color.

Moves: This contains the number of moves made so far in the game, and the number of moves that are in the transcript. There can be up to 60 moves (and usually are) in a game of Othello. If this says "Move 33 of 40" this means that the board is currently displaying the game up to (and including) move 33, but was played to move 40. So in this situation you can play forward up to move 40 with the playback buttons.

Playback Games:
<< return the board to the beginning of the game
<- playback a single move
-> replay a single move
>> go to the last move played

If at any point you play a move by clicking on the board, this breaks the replay, and starts the game at the current position. If you want to play a move, but be able to replay after that point from the old transcript, use Copy Game State and Paste Game State menu buttons, detailed in the MENUs section.

Info Window:
This is where any text will be displayed, such as search info, whether a command was complete successfully, etc.

Commenting Games:
You can add comments to games for each move by typing in the info window. When you save the game, it will save these comments, and when you playback the game, it will display the comments in the info window.

MENUS :

Any menu command can be accessed at any time during the game. Some commands aren't available while playing an internet game though.

File:

New: Start a new game (same as Game->restart)
Load: Load a previously saved game state
Save As: Save current game state to a file
Exit: Closes Pointy Stone 3.0, same as the windows X

Export Transcript: Writes a file on your harddisk with the transcript of the current game in square format and move format. Player names and final disc counts are also included.

Import Transcript: Reads Transcript from a file of either the square format, or move format. Unlike the load game option, Pointy can't read player names from transcripts, and thus won't update the player name boxes.

ClipBoard Paste Transcript: The same as Import Transcript, only it reads the text in the clipboard.   

Next Transcript: If there's more than 1 transcript on a line, this will read the next transcript.

Transcripts in the Square format are only read properly if they are complete or near complete games. If you use ClipBoard Paste Transcript, make sure you copy the entire first line of the transcript, as one of the things Pointy checks to read the transcript is even spacing for each transcript line. Any extra text/data in the paste will be ignored, so you can copy text&lines around the transcript.

Here is a transcript to test out, just highlight and copy the whole thing, then select clipboard paste Transcript. Select Next Transcript to view the second transcript on the line.

"Transcript Read with Errors or Incomplete": The transcript contained illegal moves, or ended before it was over.
"No Transcript Found": Pointy didn't find anything that looked like a transcript.
"Transcript Read Successfully": You should be able to replay the transcript with the -> button now.

Game:

New Game: Start a new game

Computer Plays Black: Pointy plays black, the user plays white. If it's black's the he will start thinking.

Computer Plays White: Pointy plays white, the user plays black. If it's white's the he will start thinking.

Two Player: The user will play both black and white.

Self Play this game: Starts computer selfplay for this game. It will stop when the end of the game is reached, or the user presses <-

Suggest Move ( or m key): The computer tells you a move it would play in the info window. It will suggest at the current difficulty level.

In addition to menu commands, you can use the 'z' key to make the computer play the side to move. This key will end the replay when you're replaying the game.

Edit:

A game state consists the start board (in case the user used board setup,) the Transcript, and the current Move Number.

Copy Game State:
Saves the game state in memory, where it can be restored later. This is useful for many things like checking the results of certain moves, etc. (Copy, check, then paste to return to the original game.)

Paste Game State:
Restores the game state to the last copied game state.

Paste Game State from loaded game:
The game state is copied automatically when you load a game, this restores it from that copy.

Paste Game State from last changed move:
Whenever you play a move when the game is played back from the most recent move (with the ->, etc.buttons ) it saves the gamestate. This restores it from that saved copy.

Undo Paste Game State:
Restores the game state to the state right before the last time Paste Game State was called. I think the command name explains better than this explanation =)

Copy Transcript to Clipboard:  
This copies the moves made in the game to the clipboard as text in the format e6f6f5d6c5.... 

Setup Board:
Instructions will be displayed in the info window. Click on the squares to change them.
left click : place a White disc
left click while holding the shift key : place a Black disc
right click : erase square

you use the playback buttons below to end the board setup.
BL : End setup, Black's turn
WH : End Setup, White's turn

Difficulty Levels:

There are 8 Difficulty levels to select from. These range from 1 ply lookahead to 12 ply lookahead in midgame. Timed games use 

*Also Pointy will perform a win/loss search 2 moves before the perfect endgame search.
*The 1 and 2 ply modes will only use the opening book for the first couple moves
*8 ply and below use medium randomness in the opening book by default, 10 ply and above use small.

So, if you selected (8 ply, 14 ply end) Pointy would:

* use the opening book until the positions were no longer in it
* search 8 ply
* on move 42 - 43 (18, 17 empty) perform a win/loss/draw search, and play to the best of those 3 outcomes.
* on move 44 - 60 (16 or less empty) play the endgame perfectly. This means making the moves that achieve the highest disc count possible (assuming the opponent also plays perfectly.)

In addition, you can tell Pointy to perform a win/loss search or perfect endgame search with any number of empty squares. (The amount of time needed for these searches increases exponentially for each additional empty square though, so if you try to search with too many empty squares it may take almost forever.)

If difficulty is set to time dependent, Pointy will take varying amounts of time to think according to how much time is left on his clock. So his playing strength will depend on what the time limit is set to and how fast your computer is.  In time dependent mode only, Pointy uses forward pruning, to give up searching unpromising lines early. I haven't worked much on Time Dependent mode, so he doesn't use his time very well sometimes, when he tries to solve the endgame is set to what works best on my computer, on other computers he may waste time trying to solve the endgame when he doesn't have enough time, or on faste computers not solve when he can and end up not playing the best move.

Brains:

You can select the style of your opponent here, listed from toughest to easiest.

Pointy Stone: The toughest opponent, the methods are described on the Pointy Stone Brain link.

Greedy: I call this brain greedy because it gobbles up edges and corners. It also includes a mobility term. Playing against it I've found that if I purposely ignore mobility, it reduces my mobility and wins, but if I play my best, it gobbles up edges and I can usually beat it at any difficulty level.

Random Max: This brain likes having as many markers on the board as possible, with a large bonus for corners. It also has a large random number added or subtracted from the evalution.

Time Limit:
This lets you set the timelimit for the game. The time left for each player is displayed in the game info window.
Time - 2:45 means a player has 2 minutes, 45 seconds left to play his remaining moves.
Time + 2:45 means a player has taken 2 minutes, 45 seconds to play his moves so far.
If the timelimit is set to unlimited, or the time runs out for a player, the clock will use the + format, otherwise it will use - format.

If the time runs out for a player, a popup message will inform you that the player has lost on time. You're free to ignore the message and continue to play though.

Reset Clock will set both players clocks to zero seconds used, and the clock will go back to - format if time was expired.



Direct Connection Internet Play:

You might need to be a bit computer savvy get this working. This option allows you to connect directly to a friend's computer over the internet. One of you starts a server by selecting Internet->Start TCP/IP Server. Starting a server will automatically connect you as a client to that server. Then the person who started the server sends his/her IP address(perhaps over GoogleTalk or AIM.) to their friends, who will connect as clients. The clients choose Internet->Connect to IP Address, and enter the IP address of the server, and then the chat dialog should appear with a connection message. If you want to try out the netgame on a single computer, you can connect to yourself by using the IP 127.0.0.1

Basic Overview:

  • Once connected, you will default to table 1 as a spectator.
  • You can see who's currently playing at the table you're at by looking at the player names in the side dialog.
  • If one or more of the names says "-Empty-", you can use the New Game menu option to sit at the table.
  • Once 2 people are sitting at a table, the new game setup dialog appears, then once both players are ready, the game starts.
  • Use the Change Table menu option to change to a different table. There are 4 tables, so up to 4 different games can be going on at once.
  • If playing, you will get up from a table (leaving both colors empty) if you change your table, disconnect, or click the X in the newgame setup.
  • In the chat window, type whatever you want, and hit enter, and that message will be sent to everyone else connected.
  • To see who's connected, in the chat window type: /list
  • Up to 32 clients can be connected.

If you are behind a firewall, it may require special setup with firewall settings establish a direct connection to an external IP. If you need to learn more about IPs and establishing connections, you'll have to look beyond this help file.

Start TCP/IP Server:
Your computer will be the server, and listen on port 14243 for a connection requests from other people. If someone else connects, it will tell you in the chat window.

Connect to IP Address:
You can enter an IP address to connect to. If there is no server found waiting for connections at that IP address, unable to connect will appear in the info window. If the connection is successful the chat window will appear with a connection message.

New Game:
This will request a new game. If your opponent then also selectes new game, the new netgame setup menu will appear.

Offer/Accept Take Back:
This will request a take back of the last move (you can do this at any time during the game). If your opponent then also selects this option, the take back will be granted.

Disconnect:
This will end your netgame session, and break the connection. Your opponent will get a message telling him that the other player has disconnected. If you are the server, disconnecting will also disconnect everyone connected to you.

Tell me my IP:
This will display the IP you want your opponent to connect to if you select Wait for TCP/IP connections. If you are on a network connected to a hub or a router, it will probably display the internal IP, meaning only other people on the same network can connect to it.

From the new netgame setup dialog you can choose timelimit, and and who plays which color. Once one player selects ready, parameters may no longer be changed, unless he unreadies. Once both players select ready, the game will start.




Names:  
You can set the names of the black and white players (and the default name) using the names category on the main menu. The default name is the what you'll be called when you run pointy. You can also swap the black and white names.

Options:

Replay Last Move: If you didn't see the most recent move, this will go back 1 move, pause a second, then replay it.

Show Available Moves (toggle): There will be a green dot displayed on each square where the a move can be played. This is especially useful for those new to the game.

No Flip Animation (toggle): When a move is played this toggle is on, it turns off the quick flip animation for flipped discs that is played after each move.

Board Orientation: The Board can be oriented in 4 different ways, and still be equivalent, this cycles through them. (basically mirrors the board along either length 8 diagonal.)

Display Search Info(toggle): You can display info about the Pointy's move search in the info box.

Eval: Pointy's evaluation of the board position, positive values mean Pointy thinks he's winning... high positive values mean he thinks he's winning by a lot. (In the beginning because of the opening book you will see only either 2, 1, 0, or -1, - 2.)  This is scaled to be loosely reperesentative of the estimated final disk difference, but isn't quite meant to be a disk differnce estimate.

Final Eval: Gives the final number of markers at the end of the game (black-white). It can only get worse for you from here. A <= or >= after the number means either the search didn't finish on perfect endgame and the winning player probably won by more. A ?? or ? means the win/loss search checked only move variations that looked close to it. (two ?? is an educated guess, one ? means very likely correct, but still not guaranteed.)

Nodes: Gives the number of nodes that Pointy searched through to arrive at the evaluation... deeper searches/higher branching factors (number of available moves)/no obvious superior or inferior moves will all lead to Pointy searching through more nodes. The first move of the endgame search may take significantly longer than the midgame.

Speed: This gives the number of nodes that were searched each second. The search speed depends mostly on your computer's processor. Also the perfect endgame search is about 3 times faster than the midgame search. (Because it's quicker to find moves near the end of the game with only a few empty squares, and on the last move the board doesn't have to be updated, only the count of discs flipped obtained instead.) The win/loss is a bit slower than the perfect endgame, because it does a midgame search first, and searches less of the quicker end nodes.

Move: This is the move Pointy currently thinks is best. It will be displayed when Pointy is thinking. The move in parentheses is the move that Pointy is currently examining.

Page by: Jon Kreuzer.