OOP can make your code (and especially external API) simpler to reason about... but at the same time, chess is already a simple application, and can be readily represented by things like bitboards. Especially if you're trying to write a performant engine, this can be an important consideration because OOP can add some overhead with heap allocations and garbage collection and the like (depending on what language you're using). Of course, I've never made a chess engine myself, so I'm no expert here.
@@pimanrules I have made a chess game/ engine and you are correct. You need to have very low time complexity to allow the AI to permute states in a reasonable time.
This game is actually kinda fun. Played it vs friends and I had a lot of fun doing it, 100% would recommend to people.
I heard your name and I had an existential moment.
Video's a bit messy but hey it's educational
Haha, I considered writing a script but I knew this video would never get done if I tried
Hey, I've been making a chess engine myself, but I haven't been using object oriented design. Do you recommend it, and if so, why?
OOP can make your code (and especially external API) simpler to reason about... but at the same time, chess is already a simple application, and can be readily represented by things like bitboards. Especially if you're trying to write a performant engine, this can be an important consideration because OOP can add some overhead with heap allocations and garbage collection and the like (depending on what language you're using).
Of course, I've never made a chess engine myself, so I'm no expert here.
@@pimanrules I have made a chess game/ engine and you are correct. You need to have very low time complexity to allow the AI to permute states in a reasonable time.
The black king might be on top of the white king, and then you'd have the white king and the black king mating each other... 😏
Cool
Nice