The OpenGL 3d board is theoretically portable to WebGL. In practice this is likely to be difficult... I’ll take a look, but I have little free time so will be a while before I report back on my initial findings.
Jon > On 25 Sep 2019, at 16:44, Guido Flohr <[email protected]> wrote: > > >> On 24 Sep 2019, at 23:07, Philippe Michel <[email protected]> wrote: >> >> The current GUI is probably inadequate for a phone or a tablet, but it >> would be nice if gnubg would be usable this way (even with some >> limitations) on chromebooks or on platforms where building it is >> getting complicated (like Macs...) > > > At the risk of being off-topic I would like to share some experiences I have > made with a somewhat similar project for chess: > https://github.com/gflohr/lisco > > Lisco is a chess UI completely written in JavaScript. The UI is using > Electron (like Microsoft Visual Studio Code) and is therefore truly > cross-platform. With truly I mean that it not only works everywhere but also > looks nice everywhere, for example on my Mac but you can also run it in a web > browser. At its current state, lisco is only a proof-of-concept but you can > already play a game of chess against the open-source engine Lozza. If you > look in the source code, you see how you can change the settings to play > against other engines embedded into lisco like Stockfish or Tomitank or even > let them play against each other. > > Doing this for chess is trivial compared to backgammon. You mostly have to > wire together chess engines transpiled into JavaScript with your view via > protocol adapters. On the engine side you have the Universal Chess Interface > UCI and the Xboard protocol aka CECP. Both protocols are pretty bogus imho > but they are universally supported and implementations (protocol adapters) > exist for a wide range of programming languages including Javascript. In > other words, you don’t have to write the ugly telnet stuff yourself. > > On the UI side, almost all chess analysis programs just use UCI, CECP or both > and this is a well-established technique. Lisco is just one example for this. > > Back to backgammon: I know that it would be very hard to cleanly separate the > UI and the engine part of GNU backgammon. Most of the code was written at a > time, when MVC or MVVM patterns were still unknown. > > But it should be feasible to add preprocessor directives and change the build > so the so that you can conditionally compile and build a headless version of > the engine. I know, there is already a telnet interface to gnubg. Only from > my experience with another project https://github.com/gflohr/BaldLies I > remember that the telnet interface is not exactly nice to use. It probably > needs some polishing and formalization in order to turn it into a protocol > that is easy to use. > > I would even go as far as saying that throwing the gnubg UI away altogether > is also a viable option. Yes, it is nice and there is a lot of work in it. On > the other hand it suffers from bit rot and it is an obstacle to porting gnubg > to other platforms, where the UI may not even be needed. To boot, it only > works on the desktop and will probably never work on mobile devices (unless > somebody does a major rewrite). > > Look at chess where you have the choice between hundreds if not thousands of > different engines that you can use to analyze your play or let different > engines compete. I am sure a lot of people would happily trade the 3D board > for such options, especially when it is easy for UI developers to code a new > user interface. And what about a11y, by the way? > > Remember the now discontinued iOS version of gnubg? It was a great success > although it replaced the UI completely and lacked a lot of features compared > to the desktop version. But it had made gnubg available to zillions of iOS > users. The author seemed to be unable to maintain the project so that now > there are tons of other apps that look fancy but play lousy backgammon. And > that situation could really be improved, also for Android, as the strength of > the gnubg project is imho on the AI side, not on the UI side. > > Cheers, > Guido > — > Cantanea EOOD - We are hiring! > http://www.cantanea.com/careers/ • facebook.com/cantaneacom • > twitter.com/cantaneacom > > _______________________________________________ > Bug-gnubg mailing list > [email protected] > https://lists.gnu.org/mailman/listinfo/bug-gnubg
_______________________________________________ Bug-gnubg mailing list [email protected] https://lists.gnu.org/mailman/listinfo/bug-gnubg
