Chinese chess GUI inspired by CCBridge

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

User avatar
maksimKorzh
Posts: 775
Joined: Sat Sep 08, 2018 5:37 pm
Location: Ukraine
Full name: Maksim Korzh

Chinese chess GUI inspired by CCBridge

Post by maksimKorzh »

Hey what's up guys, I was inspired by CCBridge Chinese GUI like many others but for me personally it has two major issues:
1. It's in Chienese
2. It runs natively only on windows (I run it via wine on linux but not everything is working...)

So dared to start the development of a new GUI inspired by CCBridge using modern cross-platform framework Electron JS. So far I've created a game editor that fully relies on DHTML UBB games viewer from dpxq.com website, here's the current development state.

Video demo:
Source code: https://github.com/maksimKorzh/ccbridge-js

If anyone is willing to join the project please feel free to mail to freesoft.for.people@gmail.com
Cheers!
User avatar
mvanthoor
Posts: 1784
Joined: Wed Jul 03, 2019 4:42 pm
Location: Netherlands
Full name: Marcel Vanthoor

Re: Chinese chess GUI inspired by CCBridge

Post by mvanthoor »

maksimKorzh wrote: Sat Mar 06, 2021 3:22 pm Hey what's up guys, I was inspired by CCBridge Chinese GUI like many others but for me personally it has two major issues:
1. It's in Chienese
2. It runs natively only on windows (I run it via wine on linux but not everything is working...)

So dared to start the development of a new GUI inspired by CCBridge using modern cross-platform framework Electron JS.
That's cool :) If you're going to make video's about this, they'll be very helpful for me. I'm very bad at developing front-ends and GUI's, because I have no experience in it; I've written technical software all of my life. (Even the software I write for machinery looks a lot like a chess engine: stuff comes in by sensors, the software collects / parses this and evaluates it, and makes a decisions what to do with the machine; i.e., it puts power on its outputs.)

As I wish to, at some point, write a GUI with DGT-board support (for Western chess), this will indeed be very helpful. I just have to find out how to combine this with Rust's WASM support, and then I may actually be able to use my own chess engine as a backend.

Unfortunately, as I stated before, my interest in Chinese (or Korean) chess is basically zero. I don't like how the pieces move, and I don't like many of the restrictions such as having three pieces shuffle around in a 3x3 point space, or pieces having to stay on your side of the board forever.
Author of Rustic, an engine written in Rust.
Releases | Code | Docs | Progress | CCRL
User avatar
maksimKorzh
Posts: 775
Joined: Sat Sep 08, 2018 5:37 pm
Location: Ukraine
Full name: Maksim Korzh

Re: Chinese chess GUI inspired by CCBridge

Post by maksimKorzh »

mvanthoor wrote: Sat Mar 06, 2021 4:32 pm
maksimKorzh wrote: Sat Mar 06, 2021 3:22 pm Hey what's up guys, I was inspired by CCBridge Chinese GUI like many others but for me personally it has two major issues:
1. It's in Chienese
2. It runs natively only on windows (I run it via wine on linux but not everything is working...)

So dared to start the development of a new GUI inspired by CCBridge using modern cross-platform framework Electron JS.
That's cool :) If you're going to make video's about this, they'll be very helpful for me. I'm very bad at developing front-ends and GUI's, because I have no experience in it; I've written technical software all of my life. (Even the software I write for machinery looks a lot like a chess engine: stuff comes in by sensors, the software collects / parses this and evaluates it, and makes a decisions what to do with the machine; i.e., it puts power on its outputs.)

As I wish to, at some point, write a GUI with DGT-board support (for Western chess), this will indeed be very helpful. I just have to find out how to combine this with Rust's WASM support, and then I may actually be able to use my own chess engine as a backend.

Unfortunately, as I stated before, my interest in Chinese (or Korean) chess is basically zero. I don't like how the pieces move, and I don't like many of the restrictions such as having three pieces shuffle around in a 3x3 point space, or pieces having to stay on your side of the board forever.
Hi Marcel, thanks for your comment)

re: If you're going to make video's about this, they'll be very helpful for me.
- I do make videos as always (this wasn't first really) but it's more like for showcasing my work for attracting potential clients in future rather then tutorials.

re: I'm very bad at developing front-ends and GUI's, because I have no experience in it; I've written technical software all of my life.
- I use electron JS framework, in my implementation it's like a customized chorme browser with hard coded URL and also javascript running
in browser has an access to operating system, so I can start engine process, read/write files etc. literally all I could ever dream...

re: I just have to find out how to combine this with Rust's WASM support, and then I may actually be able to use my own chess engine as a backend.
- Actually GUI board, no matter if you write it on your own or use chessboardjs needs an engine as a back-end on front-end))) I don't know if wasm is
an option here - I just never used that, but for international western chess there's a cute little library chess.js that can be easily integrated with board for
move validation and tracking the game state. An obviously you can use WukongJS for that purpose alternatively as well (I know you won't be, just kidding))) however it's API designed exactly for this like cases, I did proof of concept integration and like it even better: In this case you can interact with GUI via UCI protocol.

re: Unfortunately, as I stated before, my interest in Chinese (or Korean) chess is basically zero. I don't like how the pieces move, and I don't like many of the restrictions such as having three pieces shuffle around in a 3x3 point space, or pieces having to stay on your side of the board forever.
- I understand your feelings and sorry for annoying with this stuff but it's my job now and it's really tempting to share so I just can't resist)
User avatar
mvanthoor
Posts: 1784
Joined: Wed Jul 03, 2019 4:42 pm
Location: Netherlands
Full name: Marcel Vanthoor

Re: Chinese chess GUI inspired by CCBridge

Post by mvanthoor »

maksimKorzh wrote: Sat Mar 06, 2021 7:44 pm - I understand your feelings and sorry for annoying with this stuff but it's my job now and it's really tempting to share so I just can't resist)
Don't quit on my account. You found your niche within a niche, and that's good. If you can make some money with it, that's better. (Just remember that, in Western Europe / America, and most chess forums here, Xianqi and other eastern variants, are a tiny part of the community; you won't receive the feedback that you'd receive on projects regarding Western chess.)

I'm just partial to 8 x 8 chess with Western pieces, and possibly some variant that can be played with a normal chess set. The main reason is that I stopped playing on computer screens after I got my DGT board in 2007. I won't play serious games against either a human or a computer on a screen anymore.
Author of Rustic, an engine written in Rust.
Releases | Code | Docs | Progress | CCRL
User avatar
maksimKorzh
Posts: 775
Joined: Sat Sep 08, 2018 5:37 pm
Location: Ukraine
Full name: Maksim Korzh

Re: Chinese chess GUI inspired by CCBridge

Post by maksimKorzh »

UPDATE: Communication with engine child process via STDIN and STDOUT:
User avatar
gbtami
Posts: 389
Joined: Wed Sep 26, 2012 1:29 pm
Location: Hungary

Re: Chinese chess GUI inspired by CCBridge

Post by gbtami »

There is a similar project you may find interesting https://github.com/ml-research/liground
User avatar
maksimKorzh
Posts: 775
Joined: Sat Sep 08, 2018 5:37 pm
Location: Ukraine
Full name: Maksim Korzh

Re: Chinese chess GUI inspired by CCBridge

Post by maksimKorzh »

gbtami wrote: Sun Mar 07, 2021 10:18 pm There is a similar project you may find interesting https://github.com/ml-research/liground
Thank you. What I do is way less ambitious)
I just want to have engine and gui interaction and engine vs engine mode for testing to watch the engine games.