BTW: Is it you who have pipbg at FIBS? Seems like a new bot in town.

If it's not your bot, does anyone know who's bot it is?

-Øystein

søn. 22. mars 2026 kl. 12:15 skrev Øystein Schønning-Johansen <
[email protected]>:

> lør. 21. mars 2026 kl. 23:32 skrev Todd Doucet <[email protected]>:
>
>> I also have a neural net backgammon engine that I'd like to hook up to
>> play gnubg, and yes, it is frustrating that it seems to be no needlessly
>> difficult.  I'll tell you the approach I am taking.
>>
>
> Interesting. Neural net backgammon engines are really hot stuff!
>
>
>> I wrote a utility under Linux that uses the pty interface to run any
>> REPL, for example the gnubg command line shell, gnubg -t.   It lets me play
>> interactively like normal, but also passes the output from gnubg to  my
>> code for processing.  (That code can also type stuff in for me into
>> gnubg.)   The idea is that I parse the stuff gnubg emits, and when it is
>> asking for a play, my bot can happily provide it.   (The pty code to do the
>> above is not too difficult, about 100 lines of C++.)
>>
>
> I have no experience parsing GNU Backgammons output to tty - but I do
> think Frank does in BGBlitz. Maybe he is willing to share some of his
> experience.
>
>
>> I wanted to avoid the undocumented and apparently-buggy "external
>> interface", for the additional reason that I  want to "be fair" to gnubg,
>> i.e. I don't really trust it not to play differently or worse if I go
>> through an undocumented/buggy interface.
>>
>
> I spent a lot of time debugging - particularly annoying that GNU
> Backgammon's external interface and FIBS rawboard are slightly different. I
> think I managed to come through it and it made some sense in the end. I do
> understand that you might not want to go down that path.
>
> Okay, so I did the "hard" part with the ptys, and I can parse.  But I see
>> now that gnubg seems to be particularly inconvenient in what it emits.   I
>> think I'll have to parse a 2D board if I want to reliably see what it
>> thinks the board is.   I can send it FIBS board specs, but I haven't found
>> any way to make gnubg emit fibs boards, or anything remotely convenient to
>> parse.   Probably the path of least resistance for me is to just modify
>> gnubg so it outputs fibs boards that I can parse.  (And I realize I might
>> be missing something here, but I don't feel I should apologize for not
>> having ingested the code base.)
>>
>
> This is not an easy path to take either... I think you can fetch the GNUBG
> ID at least? That must be possible to parse. I would not parse the 2D
> board. That will be a very very time consuming and error prone way of going.
>
>
>> That's my approach.  It might be something you'd consider.  Contact me if
>> you'd like the code I wrote for the pty  stuff.
>>
>
> Sounds to me like the wrong approach. Are you able to hook up your engine
> to FIBS? That should be fairly simple. Then you can play your engine
> through a FIBS client and you can see how it scores against other players
> and bots.
>
>
>> It is a shame that gnubg is such poor infra for the backgammon
>> community.  Everybody has to start from scratch with this 1990s thing.  It
>> plays backgammon well.  Everything else is sad.   If only we had LiChess
>> infra.  But we have this.
>>
>
> Yes! There is no standard communication protocol for backgammon (like the
> UCI in chess) yet. Everybody misses a standard like this, but no one has
> established a protocol yet. This is something that can be established at
> the next ICBGDC (International Computational Backgammon Developer
> Conference).
>
> -Øystein
>
>

Reply via email to