Converted setboard.cpp.
Only 11 files to go. After that it's a life-long stage of debugging and integrating all of that into a working chess engine.
https://github.com/shinkarom/delimiterc ... ec5790399e
Delimiter development diary
Moderators: hgm, Rebel, chrisw
-
- Posts: 92
- Joined: Tue Nov 19, 2019 1:26 pm
- Full name: Roman Shynkarenko
-
- Posts: 771
- Joined: Sat Sep 08, 2018 5:37 pm
- Location: Ukraine
- Full name: Maksim Korzh
Re: Delimiter development diary
And the most interesting, isn't it)?shinkarom wrote: ↑Sun Jan 10, 2021 10:56 am Converted setboard.cpp.
Only 11 files to go. After that it's a life-long stage of debugging and integrating all of that into a working chess engine.
https://github.com/shinkarom/delimiterc ... ec5790399e
Didactic chess engines:
https://www.chessprogramming.org/Maksim_Korzh
Chess programming YouTube channel:
https://www.youtube.com/channel/UCB9-pr ... KKqDgXhsMQ
https://www.chessprogramming.org/Maksim_Korzh
Chess programming YouTube channel:
https://www.youtube.com/channel/UCB9-pr ... KKqDgXhsMQ
-
- Posts: 92
- Joined: Tue Nov 19, 2019 1:26 pm
- Full name: Roman Shynkarenko
Re: Delimiter development diary
I don't think so. Debugging is always a pain. Unless you're one of those rare people who prefer hunting for bugs to adding new features.
-
- Posts: 771
- Joined: Sat Sep 08, 2018 5:37 pm
- Location: Ukraine
- Full name: Maksim Korzh
Re: Delimiter development diary
New features on top of buggy code leads to collapsing and dropping the project.
In chess programming it's incredibly important to debug every single building block before bringing them all together.
If you're not sure in your building blocks 100% tons of coming bugs would be incredibly tricky to track because
without making sure every building block works 100% correctly in separate it's almost impossible to debug all together.
Well maybe you have the opposite experience at this point, anyway - good luck!
I'd like to obtain a linux executable to test against when you're done.
Didactic chess engines:
https://www.chessprogramming.org/Maksim_Korzh
Chess programming YouTube channel:
https://www.youtube.com/channel/UCB9-pr ... KKqDgXhsMQ
https://www.chessprogramming.org/Maksim_Korzh
Chess programming YouTube channel:
https://www.youtube.com/channel/UCB9-pr ... KKqDgXhsMQ
-
- Posts: 92
- Joined: Tue Nov 19, 2019 1:26 pm
- Full name: Roman Shynkarenko
Re: Delimiter development diary
Even so I wouldn't call the integrating stage the most interesting of all. For me the most interesting stage would be after release, when the engine is working (and not much worse than Lime) and I can confidently maintain the code and add new features.
During the integrating stage I would have much anxiety that the project is yet in broken state. Right now I can at least dream that it would all work perfectly right out of the box. After converting all the files the dream will be shattered. And there will be much worrying about all the tiny details that need tweaking before Delimiter is ready to be installed in Arena.
During the integrating stage I would have much anxiety that the project is yet in broken state. Right now I can at least dream that it would all work perfectly right out of the box. After converting all the files the dream will be shattered. And there will be much worrying about all the tiny details that need tweaking before Delimiter is ready to be installed in Arena.
-
- Posts: 771
- Joined: Sat Sep 08, 2018 5:37 pm
- Location: Ukraine
- Full name: Maksim Korzh
Re: Delimiter development diary
You're too driven by result. It's perfectly fine for jobs but hobbies are more likely to be the matter of emphasizingshinkarom wrote: ↑Mon Jan 11, 2021 9:32 am Even so I wouldn't call the integrating stage the most interesting of all. For me the most interesting stage would be after release, when the engine is working (and not much worse than Lime) and I can confidently maintain the code and add new features.
During the integrating stage I would have much anxiety that the project is yet in broken state. Right now I can at least dream that it would all work perfectly right out of the box. After converting all the files the dream will be shattered. And there will be much worrying about all the tiny details that need tweaking before Delimiter is ready to be installed in Arena.
the process rather than result IMO. What you describe leads to having a working engine, ok you'll add a couple
of features but then you'll very quickly reach the limits of it's strength and then the project is doomed to be dropped.
If your goal is to write an engine and never get back to it that such approach is very good but if you're planning
to work on it for years (like most developers here do) than the hurry is a bad thing - it would make more sense to
focus on existing arch so if it's not your own than at very least you know it as if it was your own.
I don't know how Lime is different from Vice but in Vice despite the fact it's the engine I respect the most among all the
others just because it helped me to jump in initially - still now I don't like almost everything in it and I wouldn't base my
engine on Vice - that's the reason why my engines has quite a different approach in arch. Generally saying Vice is a
monolithic engine while I like modularity so that any part of the engine could be easily unplugged and replaced by another one.
Anyway everyone goes his own way so whatever way you go this is probably the best for you, well at very least because it's your choice.
Didactic chess engines:
https://www.chessprogramming.org/Maksim_Korzh
Chess programming YouTube channel:
https://www.youtube.com/channel/UCB9-pr ... KKqDgXhsMQ
https://www.chessprogramming.org/Maksim_Korzh
Chess programming YouTube channel:
https://www.youtube.com/channel/UCB9-pr ... KKqDgXhsMQ
-
- Posts: 92
- Joined: Tue Nov 19, 2019 1:26 pm
- Full name: Roman Shynkarenko
Re: Delimiter development diary
Who said anything about hurry? I never said I was gonna rush the integration stage. Remember, I said "it's a life-long stage of debugging and integrating all of that into a working chess engine". Only after the necessary work the engine can be released, before it's just a brick.maksimKorzh wrote: ↑Mon Jan 11, 2021 4:15 pm You're too driven by result. It's perfectly fine for jobs but hobbies are more likely to be the matter of emphasizing
the process rather than result IMO. What you describe leads to having a working engine, ok you'll add a couple
of features but then you'll very quickly reach the limits of it's strength and then the project is doomed to be dropped.
If your goal is to write an engine and never get back to it that such approach is very good but if you're planning
to work on it for years (like most developers here do) than the hurry is a bad thing - it would make more sense to
focus on existing arch so if it's not your own than at very least you know it as if it was your own.
I don't know how Lime is different from Vice but in Vice despite the fact it's the engine I respect the most among all the
others just because it helped me to jump in initially - still now I don't like almost everything in it and I wouldn't base my
engine on Vice - that's the reason why my engines has quite a different approach in arch. Generally saying Vice is a
monolithic engine while I like modularity so that any part of the engine could be easily unplugged and replaced by another one.
Anyway everyone goes his own way so whatever way you go this is probably the best for you, well at very least because it's your choice.
What ever gave you the idea that I was going to do the integration lightly? It's my reputation at stake. No one will use Delimiter over Lime itself if it's broken.
All I said was that the stage between rewriting the files and release isn't considered the most interesting of all to me. I could name a few more interesting stages.
-
- Posts: 92
- Joined: Tue Nov 19, 2019 1:26 pm
- Full name: Roman Shynkarenko
Re: Delimiter development diary
Converted io.cpp
Also added license information to the readme.
https://github.com/shinkarom/delimiterc ... aadea7d92c
Also added license information to the readme.
https://github.com/shinkarom/delimiterc ... aadea7d92c
-
- Posts: 92
- Joined: Tue Nov 19, 2019 1:26 pm
- Full name: Roman Shynkarenko
-
- Posts: 92
- Joined: Tue Nov 19, 2019 1:26 pm
- Full name: Roman Shynkarenko
Re: Delimiter development diary
Converted doundo.cpp
There are only 8 files left:
There are only 8 files left:
- book.cpp
- calc.cpp
- debugit.cpp
- eval.cpp
- movegen.cpp
- movegenlegal.cpp
- perft.cpp
- search.cpp