Over the last two weeks I redid almost half of all the code in my game! It's been a struggle but it is going to be so worth it in the future, and development will be so much more flexible. My old entity structure in my game used inheritance, and it was a constant struggle to maintain it as more and more features were added to the game. Finally I decided it was time to scrap it completely, in favour of a component based architecture.
The component based architecture is so much more flexible, as explained in the video below, and also solves so many of the problems I was having with the inheritance system. I can now add pretty much any functionality to any entity! You can watch the dev log video of this update in the video below :)