Hey @sherif7810 it’s definitely good to get a full understanding of the system before you dive into it, saves you from having to refactor a million times. So by all means read and reread as many times. I read papers on it several times as well. I also do this thing where I build out tiny chunks of code on little independent sections when I’m exploring the ideas, then a full project after I’m confident about each concept.
As for what language and style, definitely a language you are comfortable in. No need to complicate things by trying to learn the ins and outs of a language and HTMs at the same time. Object Oriented Design will be good for your first build because its easy to add and change stuff, but @marty1885 is definitely right, I’m newer to it, but Data Oriented Design is much much more efficient, especially when you have lots of elements with the same operation being done over all of them.
If you decide to look into Data Oriented Design, make sure you build the system in a design you are comfortable and familiar with, DOD requires you to understand the system in its entirety and some pre planning, but the efficiency rewards are amazing. You should also take a look at this video before you jump into DOD just so you can kind of see the reasoning behind the style. This particular video isn’t explicitly about DOD but the things he talks about are relevant even if you use OOP.
But, I would encourage you to use Data Oriented Design if you end up making a production formalized version.