If you ever want a serious headache, try to make a videogame.
I scrapped my original prototype because Gamemaker's collision code is just too buggy.
At this point I think I had three weeks. Not good.
I spent a week prototyping new ideas. I got some pretty complex behavior going using the built-in pathfinding/avoidance code.
Unfortunately, I neglected to do one thing: find the core gameplay element.
I had backstory. I developed very messy code that would activate quests and show conversations with NPCs. But every conversation had to be created as its own object, which meant opening my paint program, making a .bmp, creating a sprite, turning that sprite into an object, and then altering custom code to display the object under specific conditions and destroy it otherwise.
Two weeks down. I was creating almost all the assets by hand because I wasn't happy with what I found online. This was very, very tedious.
In the end I hacked together what I could, tacking on a lame end boss. It was awful. Boring.
After the class tried it out, almost all my feedback said one thing, "Too complicated." Nobody could figure out what to do or where to go, even with the controls written out.
It was pretty sweet.