Search found 73 matches

by odomobo
Wed May 06, 2020 10:42 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: front-ending
Replies: 22
Views: 1546

Re: front-ending

In the end this commandline will be stripped from the engine and become an optional feature that can be enabled during compiling. The protocols start with identification commands (uci starts with "uci", cecp starts with "xboard"). Your engine can support all of them, and just dynamically select the...
by odomobo
Wed May 06, 2020 10:39 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: front-ending
Replies: 22
Views: 1546

Re: front-ending

When you do want to have a function for position setup in a minimal protocol, rather than using moves or illegal moves, you could add understanding of drop moves, like P@e2, and a command for clearing the board. I like this idea. You'd also probably want some commands for handling castling rights, ...
by odomobo
Wed May 06, 2020 9:04 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: front-ending
Replies: 22
Views: 1546

Re: front-ending

If you would abandon the requirement that input moves must be legal, it becomes much easier to set up a given position. Just move pieces that are not yet where they are supposed to be to the square where they should go. If that square is occupied, just move the occupant to an empty square first. Yo...
by odomobo
Tue May 05, 2020 9:13 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: front-ending
Replies: 22
Views: 1546

Re: front-ending

As much as it's a bad idea to fragment protocols for any technology, I think there's room for a separate minimalistic protocol separate from CECP and UCI. Chiefly, it would implement only the minimum required instructions to play a game of chess, and it would be synchronous. The purpose for this is ...
by odomobo
Tue May 07, 2019 4:35 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: A bug is squashing me. HELP!
Replies: 20
Views: 4540

Re: A bug is squashing me. HELP!

That sounds like a bug. A triangular PV table could help you debug it. If it helps, I have an implementation here that you could use/modify: https://bitbucket.org/odomobo/gearheart ... vTable.hpp
by odomobo
Tue May 07, 2019 4:01 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: A bug is squashing me. HELP!
Replies: 20
Views: 4540

Re: A bug is squashing me. HELP!

Also, one other thing to note: if you have qsearch (so the engine understands that captures have consequences), then a simple material-only evaluation won't encourage the engine to make any progress, in general. It'll take advantage of guaranteed tactics, but otherwise will essentially do random mov...
by odomobo
Tue May 07, 2019 3:55 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: A bug is squashing me. HELP!
Replies: 20
Views: 4540

Re: A bug is squashing me. HELP!

Oh my bad, you said it gives 100 or -100 from the initial position. It should give 0 for depths 1 and 2 (maybe even 3), but 100 or -100 for the rest (since it's easy to capture, e.g. a pawn with a queen on a given move, if you don't have to worry about the consequences). Something else that you migh...
by odomobo
Tue May 07, 2019 3:49 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: A bug is squashing me. HELP!
Replies: 20
Views: 4540

Re: A bug is squashing me. HELP!

Your code looks fine at initial glance. One issue I see is you claim that your code isn't working, but you aren't giving examples of what you're seeing vs what you expect to see. With a lack of qsearch, the horizon effect should be really bad. The way it's written, I would expect to see scores overs...
by odomobo
Wed May 01, 2019 1:03 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Pointers in C++, please help
Replies: 17
Views: 4063

Re: Pointers in C++, please help

lucasart is right. Instead of an array of a pointer of 2d arrays, you're better off having a single 3d array. There are techniques you can use such that this will strictly be more efficient, never less efficient. u08 mvsB[][64][8]; // references to sub-arrays u08 (&mvsNW)[64][8] = mvsB[0]; u08 (&mvs...
by odomobo
Tue Apr 30, 2019 9:11 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Pointers in C++, please help
Replies: 17
Views: 4063

Re: Pointers in C++, please help

I played around with it, and figured out how to do it with a natural array. However, I personally find the notation more confusing. u08 mvsNW[64][8]; //... u08 (*mvsB[])[64][8] = { &mvsNW, &mvsNE, &mvsSW, &mvsSE }; // ... auto & mvs = *mvsB[i]; m->ts = mvs[m->fs][j]; I also found another way to do t...