1 / 18

Logging and Replay of Go Game

Logging and Replay of Go Game. Steven Davis Elizabeth Fehrman Seth Groder. Outline. Introduction Hardware Sensor Game board Software Graphical User Interface Image Processing Move Validation Feasibility Testing. Introduction.

kina
Download Presentation

Logging and Replay of Go Game

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Logging and Replay of Go Game Steven Davis Elizabeth Fehrman Seth Groder

  2. Outline • Introduction • Hardware • Sensor • Game board • Software • Graphical User Interface • Image Processing • Move Validation • Feasibility • Testing

  3. Introduction • This project will automatically log a game of Go between two players. • Create a log file that will be able to be saved in the standard SGF format that has the ability to record size of the board being used and each move made. • Should also allow games to be reloaded / reviewed by an external program such as GNU Go or CGoBan.

  4. Hardware - Sensor • Logitech QuickCam Pro 5000 • 640 x 480 Image capture size • USB 2.0 interface • Using Java Media Framework (JMF) • Needs to translate the still image using Red Green Blue (RGB) and HSV (HSI) into matrix of understandable data

  5. Hardware – Game Board • 17”x17” and 30”- 40” in height (variable) • 9x9 “Go” board • LEDs to illuminate rows and columns • Status LEDs located on camera mount • Camera located above board in “tripod” brace • Level Shift / Voltage Divide Circuit to control LEDs

  6. Hardware – Game Board

  7. Hardware – Game Board

  8. Hardware – Game Board

  9. Software – GUI • Allows a player to start, open and save a game session • Allows the players to request an undo of a previous move • Has the mechanism to allow players to indicate that they have passed on their turn

  10. Software - GUI

  11. Software – Image Processing • A Simplistic Approach • Due to the fact that the board and camera mount are static entities, the digital representation of the board can be decomposed into a series of statically defined regions. Each region can consist of a maximum of 5 states: • Unobstructed Section of Ring • Obstructed Section of Ring • Board Average • Black • White • The pixel average of each region can be determined and checked against the appropriate tolerance value

  12. Software – Move Validation

  13. Software – Move Validation • Illegal Moves • Repeating Board Positions (Ko) • The two most previous board states will be stored • The current board state will be checked against the least previous board state. If they are the same, a Ko has occurred and an error will be generated • This reduces to a simple matrix equality check • Suicide Moves • A suicide move is when a stone is placed in a position where it has no liberties and no stones would be removed by its placement there

  14. Software – Move Validation • Illegal Moves • Multiple Piece Placement (in a single turn) • Once the current board image has been received, it is checked against the previous board for discrepancies. • There should only be one discrepancy between two boards (before piece removal) for a legal number, any other amount is not. • Inappropriate Piece Removal • When a move has been determined to be valid, the appropriate representation will exist in memory. As the pieces are removed, each board position will be checked against the proper board representation. Once they match, the board is in the proper state. Until this goal is achieved, the error light will remain illuminated, and no capturing will be possible

  15. Feasibility • Obtaining an accurate digital representation of the board • No inconsistencies in image of the board (i.e. no false positives like shadows) • Ability to translate image of board to digital representation of game state • Interfacing between hardware and software • Communication through digital I/O board • Communication with the camera

  16. Testing • Overall design is to build in stages unit testing as we progress • As pieces start to come together there is a need to integration test • Once everything has come together there is a list of several validation tests

  17. Testing • Try to start a game and check if ready light comes on when board is cleared • Place pieces on board legally and check that they are recorded correctly • Save the game and make sure the log file is still correct and closed at the moment • Start a new game try to place two pieces at once and observe that the board goes into proper error state • Fix the error and see if the error indication in the status lights has been cleared • Try to move the only piece on the board and check if the board goes to the new correct error state • Remove the piece all together from the board and see if it changes to different error • Put it back to where it belongs and see if it returns to normal state with no error status indicated • Load original and should ask if current game is to be saved • Try to commit suicide and make sure it is indicated as an error state • Set up a capture in the middle of the board and make sure it is a valid move • Attempt to undo a move and make sure indicator lights point to the correct tile(s) to be removed or added • Attempt multiple undo requests in a row • Try a capture on an edge of the board and make sure it is a valid move • Try a capture in the corner of the board and make sure it is a valid move • Get to end of game scenario have both players pass, end game screen should come up and ready light should turn off • After the game ends try to undo previous move and it should act like no-op

  18. Questions?

More Related