I am currently working on an iOS game in my "free time" (haha, I don't really have any), mostly to learn what it takes to make a mobile game. My day job is making PC games but I feel it's my duty as a developer to stay informed of the current trends, and mobile games are surely the trend right now.
My goal was to learn the ins and out of the iOS platform, and what sort of unseen challenges mobile development can bring. In my experience I have discovered developing certain types of games, or developing certain platforms, can have large unseen challenges which must be taken into account when designing or managing a project. While I certainly learned many things about iOS development, I also have learned a very important design & development lesson. A lesson I am hoping I don't forget about when I start my next project.
That lesson is this, when you first start on your game, you are at your weakest. You don't have the hang of the development pipeline quite yet, maybe your art style or technique is 100% refined or maybe you don't have a full roadmap for the game. However, when developing a game, you often start at the beginning. You start at level 1, and then develop to the end. This means your later game content will be of greater quality than your early game content.
The problem is,of course, more people interact with your early game content than your late game content. If you early game content isn't the best it can be, players won't ever make it to your late game content!
In my current project I have definitely fallen into this trap. My first boss fight is pretty terrible. It's confusing and doesn't build properly on the skills players have built up to that point. The other boss fights are pretty nice! Especially the last boss but who is ever going to get there when the first real payoff moment for players is so weak?
So my new rule is – do your first boss last. This is when you will be at your best and you can give your best to players.