I'm quite new to chess programming and have ran into a problem with the search. At the moment, my engine has a simple, "standard" negamax search with a basic evaluation function (pure material counts, non-positional).
But the outcome is that given the following FEN:
rnbqkbnr/1ppppppp/p7/7Q/4P3/8/PPPP1PPP/RNB1KBNR b KQkq -
Black doesn't want to make g7g6
to threaten the Queen. If I remove the beta cutoff however, it does. Presumably it sees that white is likely to move the queen resulting in no capture, therefore is not an advantageous position (the evaluated score is equal to beta, not greater, in the if score >= beta
check).
I'm assuming the evaluation function probably has something to do with it and needs more than just material counts, but otherwise what sort of things would need to be implemented to make an engine more aggressive?