Oh, I was still there, but only saw the NEG-Roller game and your message after you left.

NEG has no search; it counts attackers and defenders of each square, and uses a simple heuristic to give a value of the capture to that square (assuming you gain the full value of the victim if it is unprotected, and only victim minus attacker if it is protected. It then values the move as the capture value on the to-square plus the opponent's capture value on the from-square. If material score is equal, it favors checking moves with a piece that did not check on the previous move.

Oh, I was still there, but only saw the NEG-Roller game and your message after you left.

NEG has no search; it counts attackers and defenders of each square, and uses a simple heuristic to give a value of the capture to that square (assuming you gain the full value of the victim if it is unprotected, and only victim minus attacker if it is protected. It then values the move as the capture value on the to-square plus the opponent's capture value on the from-square. If material score is equal, it favors checking moves with a piece that did not check on the previous move.

Ah I see, thanks. It was an amusing game. NEG ended up with big material advantage but failed to mate. What I'll do in a tourney with roller is that if it's the last game running in a round, like the NEG game for example which would have gone on for 50 moves, I'll resign it, so as not to hold everything up. I also need to add a PV such as it is

It was an amusing game. NEG ended up with big material advantage but failed to mate.

Yeah, I had a look at it. Amazing that NEG could give that away. Normally the preference for checking with a new piece is enough to force mate with a large material advantage.

The most obvious weakness of NEG is that it doesn't realize a threat can be solved by capturing the attacker. E.g. if the opponent trades Knights with Nxf6+, it moves the King away to solve the worst threat (unless it can capture a King itself), instead of recapturing the Knight, and consequently blunders away a Knight even in self-play. I guess this could be partially cured by remembering where the lowest attacker for each square stands, and if the attack on the square is judged a threat, not only add the value of the threat to moves that evacuate the square, but also to all captures of that attacker.

Of course it also doesn't help that it doesn't understand protection; if it judges an attack on its piece not to be a threat, because it is sufficiently protected (nr of attackers == number of protectors, and victim <= lowest attacker), it will happily move one of the protectors away. I guess this can be ameliorated by penalizing moves of pieces protecting a square that was just enough protected. Complication is that some moves might keep protecting the square.