This is going to be a kinda weird blogpost heh, so I have been interested in programming since I was a young child.
So having been programming for ~7 years, I should be able to competently develop big-ish projects right?
Nope, I guess they call it impostor syndrome or something, but for the past year(s) I have not really been able to start and finish bigger in scale projects.
Though that does not mean that for years I have never finished a project, I have multiple times made Discord bots using the D++ c++ discord API library, and they have been functional. I have also been able to make mods for Minecraft Java edition using Fabric, my modrinth
I recently (weeks ago) started making a Classical chess engine. I have been learning the Zig programming language for a while, and thought to use the langauge for this new big undertaking, oh boy was I wrong.
Chess engines are... big projects. Especially when you're doing it all from scratch, sure there are libraries that can handle some parts of your chess engine for you, such as move generation. However using libraries isn't viable if you want to stay competitive. Performance happens to be EVERYTHING.
Chess engines are big, you need to do:
- Move generation
- Search
- Evaluation
- UCI interface.
- Testing!!
I have never done anything of this scale before, but now I am!.
You can follow my development on the Codeberg repo.
I also have a mastodon profile, you can message me on there.