This is the kind of way I develop a game, so I will share it with the community:
1. Come up with a cool idea for a game, ideally something you would be passionate about and put lots of effort into its development.
2. Think about it, do alot of thinking on how you will do things and write or type it out if you have to! Also think about the best way and the easiest way to develop the game and pick the method that best suites you. (sometimes its a mix between the best way and easiest way)
3. Create the Engine/gameplay first. Since this will be the core part of your game focus on it. Shove in some crappy graphics as placeholders for future replacements.
4. Create the rest of the game, proper graphics, sounds, music, maps, etc.
5. Polish, look for areas to improve your code or the game in any way.
6. Finally how to not give up on a game:
- Work on different parts of it if you can... working on the same part of a game gets boring. (you can't really when working on the engine/gameplay at the beginning, so stick at it)
- Work on other projects when bored of working on your game. (these projects can be a different game or any other type of project)
- Take a break, sometimes I find its good to take a break from something and come back with refreshed focus, enthusiasm and ideas!
Thats about all I can think of at the moment... not all of this post is tips on not giving up but some of it is just help on making a game first. Since you need to make a game first before you can think about giving up on it!