j.t. wrote: ↑Tue Jan 30, 2024 8:02 pm
I know, it's a bit sad that stuff isn't really searchable in discord and alternatives. But for chess programming in particular, where 99.9% of activities are just a hobby, it's not really necessary to have a wiki or forum to list all information. One can just go to discord and talk with people in realtime who know that stuff. It is a much more human way going about a hobby, after all he/she is a social being.
I was a bit suspicious if discord too, but it is just more fun to interact with people this way compared to forums.
To some extent I agree; I'd love to get some quick feedback on small questions without searching for a long time or waiting for people to reply on a forum. However, I can also imagine that Discord-regulars get very tired of answering the same old questions over and over again. It was like that when I was on IRC during my gaming days playing RPG's. Back then I was very well versed in D&D RPG's, and explaining things over and over again to new people became tiring.
A repository of non-volatile knowledge is still useful. Even though my documentation site isn't nearly complete, there are some pages that get lots of hits (SPRT testing, killer moves, and MVV-LVA, for example).
Still, I'm tentatively setting up a Discord account. I'm using a throw-away e-mail address however, so I can nuke everything in case I don't like it.
connor_mcmonigle wrote: ↑Tue Jan 30, 2024 9:13 pm
I agree that it's very unfortunate that Discord isn't indexable. I believe some folks are working on a new, more focused, CPW alternative which documents modern engine development techniques and best practices, but the concern that knowledge will be lost in the long term is definitely valid.
That is why I'm making my own, as I don't like to depend on anything long-term. It's the primary reason to write my engine; because I've had a VERY hard time to find some of the finer details of some concepts. Especially magic bitboards: many explanations start out great but then turn into incomprehensible gibberish. (Just as with Texel Tuning.) With both, there was basically ONE remark somewhere that made everything click.
I don't know if my explanations will turn out to be better, but I hope so.
I can't speak for everyone, but at least for myself and many of the other engine developers I've spoken to, a lot of the fun associated with engine development lies in the opportunity to discover some new approach or contribute an improvement to some existing technique/search heuristic, etc.
To some extent, yes. If you / your engine are at the level where you can try those things.
In my experience, seeing others adopting my novel ideas in their engines is the most rewarding part of this hobby. Unfortunately, a prerequisite for making such contributions to the community's collective knowledge is having a reasonably strong engine (i.e, if a novel idea gains Elo in a 2300 Elo engine, that idea is unlikely to generalize to other engines).
Agreed. Personally, I doubt if I'll ever see my engine end up over 3200, for several reasons:
- I dislike using engines over 3200 for analysis, especially if they use NNUE. Not because I 'hate' them or something, but for a roughly 2000 Elo player, they play incomprehensible chess. I can't fathom the ideas behind their moves, so they aren't useful as an analysis tool. (Watch some YouTube/Twitch streamers: even grandmasters often state "Stockfish says this is the best move, but I can't even guess why.")
- At some point I'll probably run out of time and/or testing capability to make smaller and smaller improvements or (in the case of NNUE) bigger data and more complex networks. And as I said that I don't want to depend on anything if I can help it, I'm not sure if I'm ever going to use things such as OpenBench.
- I don't have the motivation to spend lots of time to gain a +10 or +15 Elo improvement and do this over and over.
Shooting for a top 10 spot on the rating lists can be a goal in itself, but it isn't mine. If I hit 3000 on a single thread with HCE, then I'm already happy and basically "finished" and everything else on top of that is optional.