Search found 164 matches

by Harald
Wed Apr 24, 2019 8:40 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Chess engines for circular chess boards
Replies: 32
Views: 6354

Re: Chess engines for circular chess boards

You described the knight move as Y shaped. You could also desribe it as T shaped.
Two steps orthogonally and then one step to each side.
by Harald
Tue Apr 16, 2019 6:26 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Winboard state machine diagram
Replies: 10
Views: 3869

Re: Winboard state machine diagram

Thank you for that explanation. May be I try to visualize that somehow. My diagram was created from the engine's point of view. While it is mostly just waiting or looping around in the observing force mode it gets all kinds of commands that just change some variables. Perhaps some member variables o...
by Harald
Mon Apr 15, 2019 8:40 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Winboard state machine diagram
Replies: 10
Views: 3869

Winboard state machine diagram

Hi I am trying to understand the communication between Winboard and the chess engine a little better. See: Chess Engine Communication Protocol http://www.open-aurec.com/wbforum/WinBoard/engine-intf.html and: WinBoard/XBoard protocol state diagram https://www.chessprogramming.org/Chess_Engine_Communi...
by Harald
Fri Apr 05, 2019 3:50 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Some x64 assembler for the curious
Replies: 21
Views: 5526

Re: Some x64 assembler for the curious

This thread reminds me of an old Z80 assembler chess program 'Schachmatt' by Gerhard Scheuermann. It is a very fast mate solver that was published in the german computer magazine CHIP in 03/1984. It does not play chess but generates, makes, unmakes moves and looks for mates. The piece abbreviations ...
by Harald
Wed Feb 06, 2019 9:43 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Killers and forward pruning test searches
Replies: 16
Views: 3743

Re: Killers and forward pruning test searches

Just an untested idea: What if there is a dynamic array int killer_reliability[MAX_PLY] that measures distances in the search tree and is initialised in the root with killer_reliability[0] = 100 and in each node (at ply) when we make the first move set killer_reliability[ply + 1] = killer_reliabilit...
by Harald
Wed Dec 26, 2018 7:36 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: fast(er) movegen
Replies: 34
Views: 6313

Re: fast(er) movegen

Here is a little piece of history that partly matches this topic: Search found 1 match: +Bitboard +methods +compared with author Harald: http://talkchess.com/forum3/viewtopic.php?f=7&t=16002&p=140111&hilit=Bitboard+methods+compared#p140111 Maybe I find an old zipped source of the old test engine Ele...
by Harald
Fri Jan 19, 2018 10:42 pm
Forum: Computer Chess Club: General Topics
Topic: A Chess variant with low draw rate
Replies: 15
Views: 2919

Re: A Chess variant with low draw rate

What do you mean with opening position (in the image)
[D]3rqknr/4bpp1/4bpp1/1PP1npp1/1PPN1pp1/1PPB4/1PPB4/RNKQR3 w - - ?
The games listed in your post have other and different starting positions.
by Harald
Tue Nov 14, 2017 7:45 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: assert
Replies: 17
Views: 3414

Re: assert

This is pointless. Just clutters the code for no reason.
The point is that you can choose which portions of your program you want to debug today without making the whole program slower.
by Harald
Mon Nov 13, 2017 12:53 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: assert
Replies: 17
Views: 3414

Re: assert

If you want to test only parts of your code then you can do things like this: In an header like basics.h // Which tests should be performed #ifdef _DEBUG #define ASSERT_BASICS(c,t) { if ( !(c) ) throw (t); } #define ASSERT_PRINCIPAL_VARIATION(c,t) { if ...
by Harald
Tue Oct 24, 2017 8:53 pm
Forum: Computer Chess Club: General Topics
Topic: 4-player-chess: computerprogram
Replies: 2
Views: 1037

Re: 4-player-chess: computerprogram

My guess for the evaluation is:
First do 4 individual static evaluations, one for each player and his pieces.
Then each player who has the right to move tries to maximize the term
his_evaluation - max(the other evaluations)