Setting Out... Again...
I think that design is underappreciated as a part of the programming process with hobbyist game programmers. I know that when I started programming I badly neglected design, and I wasted a huge amount of time because of it. A clean design makes the actual programming far easier to execute, and design flaws can present themselves as brutal programming roadblocks. As an inexperienced programmer I had a difficult time distinguishing between the two, and spent a lot of effort coding elaborate work-arounds to compensate for designs I didn't even know were inadequate.
I've learned a lot about practical software design through trial and error, but I'm still not skilled enough to design all that large a project on my own. I'm currently taking a break from a fairly small project which I'm a bit burned out on due to design issues. I'd like to do some design work on something new in the meantime, and then use what I learn to revisit some of my previous efforts.
But as I look at another project I thought, why continue the pattern? Rather than waste weeks of my time learning about design by doing it poorly on my own, it might be a better idea work on the design document in public.
I've still got some work to do before any portion of my design is post-able, but I thought that I would post my design document piece by piece and hopefully get feedback on it. It'll be valuable for me to get others' input, especially from a software design perspective. Hopefully other inexperienced programmers will be able to get a feel for how design goes from ideas to a clear and executable design document as well.
My primary goal is to write a design document that translates cleanly into code, though input on game elements, fun factor, and so on are also welcome.