I’ve had to break almost everything in my game. So much so that it’s easier to list things that I didn’t break. Why did everything break? Because I have deleted my entire Entity class hierarchy. No more Asteroid class, SolarStation class, LaserMiner class, etc. All gone, and good riddance!
Instead, I have been converting piece after piece into data-driven components with systems that process lists of these components. There is a great 5-part blog series on this topic over at T-Machine. I’ll describe what I’ve done once I manage to get a little more working. So far, I only have a single asteroid that consists of nothing more than a few components. It may not sound like a lot, but it is a great start to a data-driven game.