Pulse Chess 1.0.0 and JCPI 1.4 released

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

Moderator: Ras

fluxroot
Posts: 7
Joined: Fri Jul 13, 2012 2:23 pm

Pulse Chess 1.0.0 and JCPI 1.4 released

Post by fluxroot »

Dear all

This announcement is probably useful only for developers. :) Recently I have guided some people through the creation of a Java chess engine. To show them some code, I have released a new didactic chess engine called Pulse. It's a very basic chess engine missing a lot of advanced features. However I hope the source code is easy enough to read and understand, so that new developers can get up to speed quickly.

One main focus point is a very easy build process. To play around with it, fork and get it from GitHub, fire up your favorite Java IDE, import the Maven project and you're good to go! The latest version is available at http://fluxchess.com/ and of course GitHub (https://github.com/fluxroot/pulse).

In addition I have created a (hopefully nice) Java OO interface for UCI called Java Chess Protocol Interface (JCPI). Java developers should have a look at it, if they don't want to mess around parsing the ambiguous UCI protocol. You can get it also at http://fluxchess.com/ or from GitHub (https://github.com/fluxroot/jcpi).

All the best and happy forking!

Cheers,
Poky
User avatar
Graham Banks
Posts: 45675
Joined: Sun Feb 26, 2006 10:52 am
Location: Auckland, NZ

Re: Pulse Chess 1.0.0 and JCPI 1.4 released

Post by Graham Banks »

Hi,

do you have any plans for a new version of Flux at some stage?

Graham.
gbanksnz at gmail.com
fluxroot
Posts: 7
Joined: Fri Jul 13, 2012 2:23 pm

Re: Pulse Chess 1.0.0 and JCPI 1.4 released

Post by fluxroot »

Hey Graham!

Sure! I wanted to finish this one first. :) Currently I'm trying to convert from 0x88 to Bitboards. That's a lot of code refactoring... I hope it's worth the effort. Yes, I'm trying to beat the best Java engines. (I'm looking at you CuckooChess :))

Cheers,
Poky
User avatar
Graham Banks
Posts: 45675
Joined: Sun Feb 26, 2006 10:52 am
Location: Auckland, NZ

Re: Pulse Chess 1.0.0 and JCPI 1.4 released

Post by Graham Banks »

fluxroot wrote:Hey Graham!

Sure! I wanted to finish this one first. :) Currently I'm trying to convert from 0x88 to Bitboards. That's a lot of code refactoring... I hope it's worth the effort. Yes, I'm trying to beat the best Java engines. (I'm looking at you CuckooChess :))

Cheers,
Poky
Sounds good, Poky.
Thanks. :)
gbanksnz at gmail.com
User avatar
Sylwy
Posts: 5163
Joined: Fri Apr 21, 2006 4:19 pm
Location: IAȘI - the historical capital of MOLDOVA
Full name: Silvian Rucsandescu

Re: The 39-th chess engine written in Java !

Post by Sylwy »

Well, maybe is the 40-th ! :lol: At least still one works but isn't published (yet) !

THANK YOU !

SilvianR :wink:
User avatar
Sylwy
Posts: 5163
Joined: Fri Apr 21, 2006 4:19 pm
Location: IAȘI - the historical capital of MOLDOVA
Full name: Silvian Rucsandescu

Re: My logo for Pulse Chess 1.0.0

Post by Sylwy »

Image

SilvianR :wink:
fluxroot
Posts: 7
Joined: Fri Jul 13, 2012 2:23 pm

Re: My logo for Pulse Chess 1.0.0

Post by fluxroot »

Sylwy wrote:Image

SilvianR :wink:
Wow! What a nice logo. :D May I inlude it in my distribution package? Although I haven't thought Pulse would participate in any tournament... It would probably be rated below 1000. At least it beats some of the lower rated engines. 8-)

Cheers,
Poky
User avatar
Sylwy
Posts: 5163
Joined: Fri Apr 21, 2006 4:19 pm
Location: IAȘI - the historical capital of MOLDOVA
Full name: Silvian Rucsandescu

Re: My logo for Pulse Chess 1.0.0

Post by Sylwy »

fluxroot wrote:
Sylwy wrote:Image

SilvianR :wink:
Wow! What a nice logo. :D May I inlude it in my distribution package? Although I haven't thought Pulse would participate in any tournament... It would probably be rated below 1000. At least it beats some of the lower rated engines. 8-)

Cheers,
Poky
Hello Maestro !

YES, of course !

Already Pulse is a part of one of my tournaments.

Best to you !
SilvianR :wink:
User avatar
Sylwy
Posts: 5163
Joined: Fri Apr 21, 2006 4:19 pm
Location: IAȘI - the historical capital of MOLDOVA
Full name: Silvian Rucsandescu

Re: Pulse 1.0.0 in my tournament

Post by Sylwy »

Sylwy wrote:
fluxroot wrote:
Sylwy wrote:Image

SilvianR :wink:
Wow! What a nice logo. :D May I inlude it in my distribution package? Although I haven't thought Pulse would participate in any tournament... It would probably be rated below 1000. At least it beats some of the lower rated engines. 8-)

Cheers,
Poky
Hello Maestro !

YES, of course !

Already Pulse is a part of one of my tournaments.

Best to you !
SilvianR :wink:
Hello Maestro !

Pulse 1.0.0 has for sure over 1200 ELO CCRL (4/40). It is in the same league with Toledo Nanochess & Project Invincible. And play chess !
Thank you for this new nice chess engine ! Very good to be used like sparring partner by the beginners learning how to exploit a not very good move !
Below is an yesterday game of Pulse 1.0.0 in my tournament (versus CaveChess 0.3).

Have a nice weekend !
SilvianR :wink:

[pgn]
[Event "3 Java + Coiled 0.1a Test"]
[Site "SILVIAN"]
[Date "2014.01.17"]
[Round "2"]
[White "Pulse 1.0.0"]
[Black "Cave Chess 0.3"]
[Result "1-0"]
[BlackElo "2200"]
[ECO "C11"]
[Opening "French"]
[Time "21:32:06"]
[Variation "Steinitz, Boleslavsky, 7...cxd4 8.Nxd4 Bc5"]
[WhiteElo "2200"]
[TimeControl "240+2"]
[Termination "adjudication"]
[PlyCount "132"]
[WhiteType "program"]
[BlackType "program"]

1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. e5 Nfd7 5. f4 c5 6. Nf3 Nc6 7. Be3 cxd4 8.
Nxd4 Bc5 9. Nxc6 {(Nd4xc6 b7xc6) 0.00/7 8} bxc6 {(b7c6 e3c5 d7c5 d1d4 d8h4
e1e2) -0.10/6 8} 10. Bxc5 {(Be3xc5 Nd7xc5) 0.00/6 7} Nxc5 {(d7c5 d1d4 d8e7
f1d3 c5d3 d4d3) -0.20/6 8} 11. a3 {(a2-a3 d5-d4) 0.00/6 7} O-O {(e8g8 d1d4
d8h4 e1d2 h4e7 f1d3) +0.10/6 8} 12. b3 {(b2-b3 d5-d4) 0.00/6 7} Bb7 {(c8b7
b3b4 c5d7 d1d4 d8h4 e1e2) +0.35/6 8} 13. g3 {(g2-g3 d5-d4) 0.00/6 7} Ne4
{(c5e4 c3e4 d5e4 f1c4 d8b6 e1f1) +0.55/6 8} 14. Nxe4 {(Nc3xe4 d5xe4) 0.00/7
7} dxe4 {(d5e4 d1d8 f8d8 f1c4 c6c5 e1g1) +0.40/6 7} 15. Qxd8 {(Qd1xd8
Ra8xd8) 0.00/7 7} Rfxd8 {(f8d8 f1c4 e4e3 e1g1 d8d2 f1e1 d2c2) +0.20/7 7}
16. c3 {(c2-c3 e4-e3) 0.00/7 7} c5 {(c6c5 f1g2 b7d5 e1g1 e4e3 g2d5 e6d5)
+0.50/7 7} 17. h3 {(h2-h3 e4-e3) 0.00/7 6} e3 {(e4e3 h1h2 b7c6 f1c4 a8c8
e1f1) +0.95/6 7} 18. Rh2 {(Rh1-h2 a7-a6) 0.00/7 6} Bc6 {(b7c6 f1c4 c6d5
e1c1 d5c4 d1d8 a8d8) +0.90/6 7} 19. a4 {(a3-a4 a7-a6) 0.00/6 6} Rab8 {(a8b8
f1c4 c6d5 e1c1 d5c4 d1d8 b8d8) +0.95/6 6} 20. Bc4 {(Bf1-c4 Bc6-d5) 0.00/6
6} Bf3 {(c6f3 h2b2 f3d5 e1c1 d5c4 d1d8 b8d8) +0.90/6 6} 21. g4 {(g3-g4
e3-e2) 0.00/6 6} Bd5 {(f3d5 e1c1 b8c8 c1b2 d5c4 d1d8 c8d8) +0.80/6 6} 22.
Bxd5 {(Bc4xd5 e6xd5) 0.00/8 6} exd5 {(e6d5 h2b2 c5c4 b3b4 a7a5 b4b5 d8e8)
+0.70/7 6} 23. Ra3 {(Ra1-a3 c5-c4) 0.00/8 6} c4 {(c5c4 b3b4 g7g5 f4g5 d8e8
g5g6 h7g6) +0.75/7 6} 24. b4 {(b3-b4 d5-d4) 0.00/8 6} d4 {(d5d4 h2e2 d4c3
b4b5 d8d3 e2c2 d3d2) +0.90/7 6} 25. a5 {(a4-a5 d4xc3) 0.00/8 6} d3 {(d4d3
a3a1 d3d2 e1d1 d8d3 d1c2 b8e8) +1.15/7 5} 26. Rh1 {(Rh2-h1 d3-d2+) 0.00/7
6} d2+ {(d3d2 e1e2 d8d3 h1a1 b8d8 a1d1) +1.50/6 5} 27. Ke2 {(Ke1-e2 a7-a6)
0.00/7 5} h6 {(h7h6 a5a6 d8d3 h1a1 b8d8 a1d1) +1.45/6 5} 28. h4 {(h3-h4
a7-a6) 0.00/6 5} Rd3 {(d8d3 h1a1 b8d8 a1d1 d8b8 d1a1 b8d8) +1.55/6 5} 29.
Rha1 {(Rh1-a1 Rb8xb4) 0.00/7 5} d1=Q+ {(d2d1q) +M0/6 5} 30. Rxd1 {(Ra1xd1)
+1.00/1 0} Rxd1 {(d3d1 e2d1 b8d8 d1e1 d8d2 f4f5 d2g2) -0.35/7 5} 31. Kxd1
{(Ke2xd1 f7-f6) +1.00/8 5} Re8 {(b8e8 d1e2 f7f6 e5f6 g7f6 b4b5 e8b8)
-0.50/7 5} 32. g5 {(g4-g5 h6xg5) +1.00/8 5} Rd8+ {(e8d8 d1e2 d8d3 b4b5 h6g5
h4g5 g8h8 e2f1) -0.40/8 5} 33. Ke2 {(Kd1-e2 h6xg5) +1.00/9 5} hxg5 {(h6g5
h4g5 d8d3 a5a6 g8h8 e2f1 d3d1 f1g2) -0.40/8 5} 34. fxg5 {(f4xg5 Rd8-e8)
+1.00/9 5} Rd3 {(d8d3 a5a6 g8h8 e2f1 d3d2 f1g1 e3e2 a3a1) -0.30/8 4} 35. b5
{(b4-b5 f7-f6) +1.00/9 5} Rd5 {(d3d5 b5b6 a7b6 a5a6 d5d2 e2e3 d2d5 e3f4)
-0.25/8 4} 36. Kxe3 {(Ke2xe3 Rd5xe5+) +1.00/8 5} Rxe5+ {(d5e5 e3d4 e5b5
d4c4 b5b8 c4d3 b8b2 c3c4) -0.05/8 4} 37. Kd4 {(Ke3-d4 Re5xb5) +1.00/9 5}
Rxb5 {(e5b5 d4c4 b5f5 c4b3 f5f4 a3a4 f4f2 b3a3) -0.05/8 4} 38. Kxc4
{(Kd4xc4 a7-a6) +1.00/8 5} Rf5 {(b5f5 c4b3 f5f4 a3a4 f4a4 b3a4 a7a6 a4a3)
-0.20/8 4} 39. Ra4 {(Ra3-a4 a7-a6) +1.00/8 5} f6 {(f7f6 g5g6 f5h5 c4d3 h5h6
a4g4 f6f5 g4g5) -0.30/8 4} 40. gxf6 {(g5xf6 g7xf6) +1.00/8 4} Rxf6 {(f5f6
c4b3 f6f2 a4d4 f2h2 b3a3 g8h7 d4d7) -0.35/8 4} 41. a6 {(a5-a6 g7-g6)
+1.00/8 4} Rf2 {(f6b6 c4d3 b6g6 d3c2 g6g2 c2b1 g2g1 b1b2) -0.45/7 4} 42.
Rb4 {(Ra4-b4 g7-g6) +1.00/8 4} Ra2 {(f2f6 b4a4 f6f2) -0.30/7 4} 43. Kb5
{(Kc4-b5 g7-g6) +1.00/8 4} Rg2 {(a2h2 b4e4 h2b2 b5c4 b2b8 e4e5 b8b2 e5e7)
-0.35/7 4} 44. c4 {(c3-c4 g7-g6) +1.00/8 4} Rf2 {(g2f2 c4c5 f2e2 c5c6 e2c2
b4e4 c2b2 b5a4) -0.35/8 4} 45. c5 {(c4-c5 g7-g6) +1.00/8 4} Rf1 {(f2e2 c5c6
e2c2 b4b3 c2c1 h4h5 c1c2) -0.60/7 4} 46. c6 {(c5-c6 g7-g6) +1.00/8 4} Rf5+
{(f1f5 b5c4 f5f6 b4b8 g8h7 c4b5 f6f5 b5a4) -0.60/7 3} 47. Kc4 {(Kb5-c4
g7-g6) +1.00/8 4} Rf6 {(f5f6 c4d5 f6f5 d5e4 f5f8 c6c7 f8e8 e4f3) -0.70/7 3}
48. Kc5 {(Kc4-c5 g7-g6) +1.00/8 4} Rf7 {(f6f7 c5d4 f7c7 b4b8 g8h7 d4c5
c7f7) -0.80/7 3} 49. Rb7 {(Rb4-b7 g7-g6) +1.00/7 4} Rf5+ {(f7f5 c5b4 f5f4
b4a3 f4f3 a3b2 f3f2 b2b1) -0.95/8 3} 50. Kd6 {(Kc5-d6 g7-g6) +1.00/8 4}
Rf6+ {(f5f6 d6c5 f6f5) -0.95/7 3} 51. Kd7 {(Kd6-d7 Rf6-f7+) +1.00/8 4} Rf7+
{(f6f7 d7d6 f7f6) -0.95/7 3} 52. Kd8 {(Kd7-d8 Rf7-f8+) +1.00/8 4} Rf8+
{(f7f8 d8c7 f8f6 b7a7 f6h6 a7a8 g8h7 a6a7 h6h4) -1.25/8 3} 53. Ke7 {(Kd8-e7
g7-g6) +1.00/9 4} Rf7+ {(f8f7 e7d8) -1.25/8 3} 54. Ke6 {(Ke7-e6 Rf7-f6+)
+1.00/9 4} Rf6+ {(f7f6 e6d7) -1.25/8 3} 55. Kd5 {(Ke6-d5 Rf6-h6) +1.00/8 4}
Rf5+ {(f6f5 d5d6) -1.25/8 3} 56. Ke4 {(Kd5-e4 Rf5-h5) +1.00/8 4} Ra5 {(f5a5
b7b8 g8h7 c6c7 a5a4 e4f3 a4a3 f3g2) -1.35/7 3} 57. Rxa7 {(Rb7xa7 Ra5-c5)
+1.00/7 3} Ra4+ {(a5a4 e4f3 a4a3 f3g2 a3a2 g2h3 a2f2 a7a8 g8h7) -2.00/8 3}
58. Ke5 {(Ke4-e5 Ra4xh4) +1.00/8 3} Ra5+ {(a4a5 e5f4 a5a4 f4g3 a4a3 g3h2
a3a2 h2g1 a2a1) -2.00/8 3} 59. Kf4 {(Ke5-f4 g7-g6) +2.00/8 3} Ra4+ {(a5a4
f4g3 a4a3 g3h2 a3a2 h2g1 a2a1 g1h2 a1a2) -2.00/8 3} 60. Kg5 {(Kf4-g5
Ra4-b4) +2.00/8 3} Rc4 {(a4c4 c6c7 g8h7 a7b7 c4c5 g5g4 c5c2 a6a7) -2.20/8
3} 61. c7 {(c6-c7 Rc4-c5+) +2.00/8 3} Rc2 {(c4c2 g5g4 c2c4 g4g3 g8h7 g3f2
c4c1 f2g2) -2.30/8 3} 62. Ra8+ {(Ra7-a8+ Kg8-f7) +6.00/8 3} Kh7 {(g8h7 a8a7
c2c1 g5f4 c1f1 f4g3 f1c1 g3h2 c1c2) -2.30/8 3} 63. c8=Q {(c7-c8Q Rc2-g2+)
+10.75/8 3} Rxc8 {(c2c8 a8c8) -0.50/8 3} 64. Rxc8 {(Ra8xc8 g7-g6) +M4/7 0}
g6 {(g7g6 c8c7 h7h8 g5h6 h8g8 a6a7 g6g5 a7a8q) -M4/9 3} 65. a7 {(a6-a7
Kh7-g7) +M3/5 0} Kg7 {(h7g7 c8c7 g7g8 a7a8q) -M2/9 2} 66. Rc7+ {(Rc8-c7+
Kg7-g8) +M2/3 0} Kh8 {(g7h8 a7a8q) -M1/9 2} 1-0
[/pgn]