   Keeping a handle on featuritis
  So I previously decided to, again, try for a simple Roguelike......Several days later, I had a recursive lookup system using an action enumeration (With plans for expansion) to get bonuses for actions. Beforehand, I'd decided to just hard-code the values I actually needed......I probably should have used a design document.How do you keep on track?   
  Loved Rogue on Unix systems I worked on...even downloaded some of the source code to see how it was created.A design document is definately useful...even if it's just bullet points for what you want to acheive.So what do you want to do...once you know that then you can start coding.But my advice to start with is...keep it simple at first and get it working.Once you have it working as you want it...then you can "optimise" it..meaning refactor it as needed.;  I set myself a date that I'll be finished.I always make my date.   