If you hoave alpha/beta, MVV-LVA, Rustic's PST's, and a transposition table with TT-move ordering, then you should be at least 1700. (I'm taking the possibility of an engine that is about 3x as slow as Rustic into account.)
First remove everything except MVV-LVA and Rustic's PST's, and try to equalize with MinimalChess 0.3. That should be possible. If not, you either have bugs, or your engine is really slow.So an Elo gap of about ~500 makes me think there's a bug somewhere in my code.
Indeed. It is worth it to test every feature and get as much Elo from it as you possibly can, because going back and doing that again in an engine that has a bazillion features is very annoying and very time consuming. Even more time-consuming than doing it now. You have to do it per feature, because some features stack on top of one another. For example: add X = +40 Elo. Add Y = +40 Elo. But, if you add BOTH X and Y, the combined result could be +100 instead of +80. This means that if feature X is not optimal, feature Y will also not be optimal.Which is a little frustrating, but just another setback. But a gap of 500-600 Elo seems like quite a lot, so I may just start from the beginning again with negamax, alpha-beta, and piece square tables, and go from there, testing my engines Elo at each stage. Because even with all of the features I have now, my engine is very, very weak.
If you have a bug in your TT, that can easily cost you 100 Elo, if you didn't know. Add a TT, gain +50 Elo. Nice... as long as you don't know that a TT can gain you +150 Elo. That's 100 Elo you're missing forever.



