-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
I am struggling to add promotion, enpassant and castling. It'll make the code too complex. There are some redundant code that I have identified like checking the destination from potential squares and potential captures instead of what I have done. But may be there's a bigger problem in the way I am writing code. It follows normal chess notation except Pe4 instead of e4 and Qe5+ instead of Qe5# https://github.com/sapienfrom2000s/chess
If you decide to implement all rules ( en-passant / castle etc ) I recommend implementing a simple recursive function known by chess engines as perft. (https://www.chessprogramming.org/Perft#:\~:text=Perft%20is%20mostly%20for%20debugging,functions%20work%20correctly%20or%20not.) Running perft on different positions to a certain depth and then comparing your numbers against perft in stockfish etc is really helpful shaking bugs out.For my pet project engine I wrote some shell script that is supposed to debug and find positions where the engine has a bug in the move generator https://github.com/phaul/chess-2/blob/main/debug.sh