If you really love to develop and play games, here’s one trick you might want to try:
Stop playing games until your game is finished. (Or next major milestone achieved).
For many developers, this might not be a big deal (we don’t play as nearly as much we used to play when we were teenagers, right?) and many of us play very little if any. But if you enjoy playing – even a little bit – then this trick might work.
Take playing away. Don’t allow yourself to play games (excluding your own game for testing purposes…) until you’ve finished the game (or the next milestone). You might feel bit of anxiety in doing this, but it also gives you a one more reason to code your game. Make a promise to yourself that you “reward” yourself by allowing you to play as soon as your own game is done.
After you’ve finished the milestone, the funny thing that happens (I can almost guarantee this) that you actually might be much more thrilled about the development status – that you forget to reward yourself with “playing”. You see how much more rewarding it is to get stuff done.
Might feel like torturing (not playing)… but don’t get a quick fix (playing). It’ll get much better to wait a bit and then feel absolutely great about the progress done.