Creating something that progressively gets more destroyed. (Help)?

I just need to know how I would go about this so I am going to provide an example.

If I am making a game where a house were to catch fire and I want it to progressively get worse and eventually be rubble I would have to model the house in each stage of its collapse correct? Then in the game engine Id have to code it to properly load the right house along with a bunch of particles (smoke and debris) to hide the transformation. Am I thinking correctly with this?

If not, or if there is an easier way can someone please explain this? I was also thinking about making an animation of the whole collapse which in my head seems to also be a good option. This is going to be something in game, so if you set a house on fire and its not put out, the house will collapse.

Im not using blender game engine, im still in the mix on if I should use unity or real engine. Just thought Id throw that out there.