When I started using LÖVE I made the mistake of trying to create my own games directly. I did have a bit of a clue because I've been modding for a few years, but still this was something totally different. It didn't take long until I had super messy code, no idea what to do next and how to implement certain features and motivation faded quickly.
A friend of mine suggested to start with simple clones. This builds on Ivan's answer although I don't think you should _just_ write prototypes. Writing a prototype and finishing a game are two different challenges.
The good thing about clones is that someone already has made a complete game, so when you start coding you will have a clear vision of what you need to implement, but also (and maybe more importantly) you will know when you are "done". So you actually have a goal to work towards and not just a vague "idea". The important thing is to finish the game. A pong demo is probably set up in 5 minutes in löve, but this isn't a game. Add graphics, sounds, credits, a menu, pause state, good controls. Test your game and fix bugs. Finish it!
Here is a good list of games to start with:
http://gamedev.stackexchange.com/questi ... th/945#945
This article as also pretty helpful:
http://www.gamedev.net/page/resources/_ ... pment-r892
A few more tips from my own experience:
- It seldomly makes sense to spend time working on a "can-handle-it-all"-library when you could just hack in a specific solution, which only works for your game - especially if you are starting.
- Don't think about optimisation until you really really really need it (read as: probably never). If your solution works and your framerate is steady you don't have to change a thing. People who tell you to write foo * 0.5 instead of foo / 2 because it is "faster" might be right, but unless you really have a problem with the performance of your game this is just wasted time. IMO it is better to create 5 games with shitty code than to work on one perfectly coded game that will be released in 10 years.
- Don't rewrite your code. This is closely linked to the point above. If you are working on a project there will be a point at which you will think "oh I learned so much - I could do this much better now" - This is great of course, but this will (hopefully) be true for every project you work on. Rewriting the same game 1000 times won't do you any favors. Creating 1000 half-finished games won't help you either. Finish your game with what you have and apply the newly learned stuff to your new project
- Don't start a new project. Yeah this one sounds a bit stupid but it really helps me to stay focused. I force myself to finish one game before I start working on the next one, even if the current one sucks and I'm sick of it.
P.S.: I'm far from being a professional, but these are the tips that helped me out when I was just starting!