Doobie Doobie, Doobie Doobie, Doobie Doobie! *GOT anthem* ;)
My response might lack credibility as I have never released a game, but I have been using Game Maker for a while and thought I'd share what I've done in my recent projects.
I start with a prototype and make sure the core mechanic is fun to play. In my current project, this basically meant having a bunch of dummy sprites throwing axes at each other. I fine tuned the controls + movement/combat mechanics until it felt right.
Then everything is built on as I go along - but in a structured process. A lot of my previous attempts failed because I hardcoded stuff or the code became impossible to maintain.
All the content of my project is stored in a single Excel spreadsheet. Any asset I add to the game (e.g. monsters, weapons, hero classes etc) I think of as a table first; I have a column for each parameter linked to that asset, and rows to store the actual content. This forces me to think of the asset structure before I even start coding it.
I put the framework in place first, then worry about the content itself afterwards (i.e. adding new weapons, monsters etc). This actually makes it easy to add content quickly once the structure is in place and all the code is written.
This topic is actually something I wanted to cover for a while on my dev blog, so I have put an entry there about it. If the method I describe here interests you, I'd much appreciate if you could take a peek at my last post. I am currently looking for feedback on my website so any thoughts are welcome!
http://hodgepodge-games.com/scalability ... n-scroller