Skip to content

zyprex/govs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Govs

The goal for govs is:

  1. to challenge any GTP compatible Go/Baduk/WeiQi AI in no time.
  2. build a fast, lightweight, easy-to-use, beautiful, and flexible Goban.
  3. to help someone become a better Go player.

Features

  • totally configure drive
  • GTP engine support
    • load up to two engines
    • can let any engine play in any time
  • handicap (amended for unsupport GTP engine)
  • undo (amended for unsupport GTP engine)
  • restart game from any moves
  • SGF support
    • save game record as SGF
    • simple SGF viewer
    • edit SGF in hard way
  • customized interface
  • display GTP output
  • extra mode
    • edit mode: editable goban
    • score mode: score final result, set dead stones manually
    • review mode: review the current game
    • input mode: send gtp or other commands

Limitations

  • no unicode text support
  • no redo, undo wipe last record permanently
  • when mixed up mutiple moves and setup, (mostly due to quit sgf mode and then enter normal mode) if undo over one of setup record, a force sync for engines is required.
  • the clock time can not rewind after undo, and paused only if window lost focus.
  • timeout will not cause a gameover
  • incorrect configure parameter takes severely side affects.
  • unable to check correct SGF format, may increase the program's vulnerable.
  • no support for SGF collection file.

Installation

  • Require SDL3-3.2.2

Basic Usage

Make a Move

  1. click to move a stone
  2. use 'ctrl+=' input sgf or AT coordiates

Key to Finish a Game

  • 'p': Pass
  • 'r': Resign
  • 'u': Undo
  • '1': Let engine 1 move for current player
  • '2': Let engine 2 move for current player
  • 'shift+1': Let engine 1 control current player
  • 'shift+2': Let engine 2 control current player
  • 'Esc': Release any engine control

See keymap details at govs-keymaps

Use "govs.conf"

Possible conflict parameters:

  1. clock-precise and gtp-cmd-delay-ms clock-precise should less than gtp-cmd-delay-ms, or the clock will works abnormally.
  2. If gtp-cmd-delay-ms too small, the program will ignore gtp respose sometimes, if engine thinking slow, increase it.
  3. Too small frame-delay-ms cause high cpu usage.
  4. Color format is RRGGBBAA hex value.
  5. boolean type example:
# set window fullscreen
# comment this line to turn it off
win-fullscreen

See configure details at govs-conf

Load a GTP Engine

  1. Know how to run it in console, test 3 gtp command.
    • name
    • genmove
    • play w pass
  2. Write down the commands to a text file, and convert each arguments to newline. For example:
gnugo
--mode
gtp

  1. Quote the file in govs.conf. For example:
eninge1 /path/of/gnugo.txt

Load a SGF File

Provide sgf file path in first argument. For example:

govs Black_vs_White.sgf

Compile Guide

  1. Before compile, create the directory .build.

  2. Make sure gcc can run normally.

  3. Run make.

More Doc

Supported SGF properties

  • Move Properties:
    • B, W, (KO), (MN)
  • Setup Propertie:
    • AB, AE, AW, PL
  • Node Annotation Properties:
    • C, DM, GB, GW, HO, N, UC, V
  • Move Annotation Properties:
    • BM, DO, IT, TE
  • Markup Properties:
    • (AR), CR, (DD), LB, (LN), MA, SL, SQ, TR
  • Root Properties:
    • AP, CA, FF, GM, (ST), SZ, KM, HA
  • Game Info Properties:
    • AN, BR, BT, CP, DT, EV, GN, GC, ON, OT, PB, PC, PW, RE, RO, RU, SO, TM, US, WR, WT
  • Timing Properties:
    • (BL), (OB), (OW), (WL)
  • Miscellaneous Properties:
    • (FG), (PM), (VW)

Credits

Other Helpful Resources

SGF

Go Text Protocol

GTP engines

Goban Program

About

SDL3 go board game written in pure C language

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published