it's not a lack of motivation it's lazyness.
and i get where it's coming from - you get depressed when you get stuck into one thing that can't get resolved / work better.
but as danwood suggested - force yourself to work day by day until you finish one project. you will learn much, and on your next project you will glide through it.
currently i'm working on a game that took me over 200h+ to make 1, yes 1 LEVEL!
but all next levels are mostly c/p with different enemies /shoot/move modes.
the only thing yo have to do, again, FORCE yourself. once you're into it really, you won't feel lazy and that demotivation that happens. also once you finish your first game, you'll be really motivated to start the 2nd one.
also i'd advise you to create a game where you can be creative - think of something new, play with it, show it to people (in completed creations) - post online, show your friends etc.. ask for opinions, upgrades, play until you are satisfied with your game, when everyone loves it and let that game after that go. then start your 2nd game, and for more motivation make sure you make that game better then 1st and make sure you go monetizing with your 2nd game. you might not earn a lot, it might be buggy/laggy but you learn and should be proud even if you earn 10$. this will motivate you for your 3rd game.. and so on. and as you grow as a developer you might wanna side by side learn javascript to be able to make your own plugins and behaviours. also you could learn webgl and make some effects... but it all takes time, investment with community and more and if you're not able to do so.. give up.