[...] Do you guys have any tips on how to keep things simple and how to progress without taking on too much wook (sub-contiously)?
Yes I have a little tip for you
Surely when you start a project it is because you have a great idea in mind. In your head there are millions of little ideas flying around and colliding with each other. You see a great game ahead and can already imagine yourself testing it until it's 5 a.m. \\^_\\^
While it is a blessing to have a volcanic mind, it is a comon error not to put down and organize those ideas.
The simple solution is to write a document. Put down your ideas, with enough detail so that you can freely forget about them without worring, because the document you write will be there to remember you the strokes of genius you had 3 months earlier, but had to put on hold.
It's important you do this kind of -boring- activity. It helps not only to maintain a coherent vision of the final goal, but let's you rethink about things as you write them down. Makes you spot 'weak' points before you actually code 'em in (the more time you spend writing this document, the less time you spend coding the game).
Most of the great ideas you have, will certainly need a good degree of modifications. Some will be dropped completely, others will be slightly modified to better integrate with the rest of the concept.
This document I speak of is a sort of huge to-do list, with descriptions of details and explantions of why you think you are gonna do a certain thing in that way.
You should roughly detail how you are gonna organize things in memory, and what kind of techniques you think you'll use and why.
You know you have written a good document, when another programmer, after reading it, can picture your game in his mind exactly as you picture it in yours. Ever read Tolkien's books? They are full of details. So many that you can easily picture the scenes the author is describing and imagine with good accuracy what the characters are dressing and how they move/behave/relate to others. That is what you must do.
I know it seems a huge waste of time, but it isn't. It can really save your projects from being trashed to the bin, and will considerably speed up the creation process.
Look at this document as a sort of higher being you receive orders from. It's easier when you just have to execute commands, rather then having to think of what you should do, on-the-fly, all the time.
Of course, it will also help you realize before time if you are 'aiming too high'. The general rule is: if you have a great idea, but have absolutely no clue about how to practically realize it... then you'll likely won't be able to do it, and it's wise to not even start with it.
Another rule is: if what you want to do is something you're sure nobody has ever done before, then proceed with the utmost caution about it. You may succeed... you may not.
This doesn't mean that you have to copy what others have done before you. It rather mean that if nobody else has ever done it before, then there must be a reason for it, though you may not see it right now.
Know that out there is full of talented people. You may be another talented one, but certainly not the only one. Therefore before starting something that sounds absolutely new and revolutionary on the paper, ask yourself: why nobody else has thought of this before? There is always a reason. Discover that reason, and decide if you can really make it or not (it will save you lot of disappointment).
Great, I'm sounding like a teacher now (I'm not)
Better to stop before they kick my butt.