It all starts so pretty isn't it? A clean project, a quick prototype, it works! It's beautiful.
Now it's time to add more features, everything is planned out, all cogs have a place to be, it goes smoothly for a while.
Now you realize other small components are needed, no problem, let's make them...
Eventually you do need to plug them into the game itself, and that's when the problems start, most of the other stuff wasn't built considering these new components. Will they break?
What's worse, if at some point you need to radically change something in the gameplay, this might happen. You changed it so much that most of the code just has to be thrown away. It has no place.
Not to mention that eventually trying to remove/replace some function or a core component can have serious consequences.
Well, I hope you all have a nice week! I'm going back to work #gamedev
[This is a repost from my personal blog at http://www.david-amador.com ]