I keep coming back to this thread. I generated these numbers/graphs because I found an interesting way to generate them. Now, unfortunately, my brain is drawing uncomfortable conclusions that are hard to ignore.
First: I apparently have a fairly consistent productivity/burn out cycle. I work feverishly on a project, and then tend to not return for months, if at all. The new idkfa rendering system, the game projects, and the novel writing tool projects, all seem to follow about the same cycle, and towards the end I burn myself out, and afterwards either do nothing, or find another project to focus on.
I understand why certain projects are exciting to me. I don't understand why I pursue them when they are interesting/relevant to so few people (and usually, only to me). I'm excited about them as I'm working on them. But it's rare, if ever, that I'm happy about the time I spent doing them afterwards, much like how a painter is never happy with their work, and never feels they are finished. My sense of satisfaction, while greater than zero, rarely matches the time investment.
It's hard to justify a hobby that takes 4-5 hours a day (or more), particularly as the graphs show that they take weeks or months before I eventually burn out. I maintain a functional routine: I pay my bills, clean my house, mow my yard... but more often than not, I'm merely meeting the bare minimum of what's required, and never feel like I'm getting ahead of things. The goals and routines I try to adhere to (exercise routines, reading, family and social commitments, etc.) limp along while I apologize for them and go on nattering about seen/unseen posts on idkfa.
Recently, I thought back on my telecommunications simulation game (secure67.nocdirect.com), which got me thinking about interesting possibilities for the game again. What if part of your "mini-game" was pointing cell phone towers in real-time to capture the most customers at any one time? What if you had to schedule the tower direction according to time of day, maybe to account for more people working in a downtown area during a work day, or towards park or festival during the weekend? The more I thought about this, the more I thought about how it would work well in a tablet-app or phone-app setting, where you would drag around "reception zones" when you weren't busy trying to manage the other parts of your cell tower infrastructure, maximizing utilization while at the same time managing public relations, customer opinion, device contracts, research and development, spectrum licensing, etc.
I asked myself why, for all my searching, I'd seen nobody attempting this before. Then I had a sobering thought: the reason would be first because none of that is "fun," and second, all of that is very, very hard to program. Thousands of work hours would go into such a project, and the game simply would not be fun.
I think at some point I have to accept that while my ideas may be unique, or innovative, or marginally useful, just by virtue of the fact that I came up with them isn't enough to justify the time commitment. I may be a reasonably competent programmer, and my talents might allow me to solve something that others might not be able to otherwise, but that doesn't mean that every project I undertake *should* be done. The likelihood of my ideas being the next big thing are next to nil, as there are those that are more intelligent, more accomplished, and more focused than I could ever be, and they more than likely have a better perspective on what is important and what is considered "toy-making."
I feel particularly negative about this for a number of reasons, one of which is I simply don't have a project to keep me occupied and excited about something currently. I feel listless and unfocused. The fact that I'm in between projects makes me wonder if I have any better or worse objective reasoning when it comes to my time commitments for hobby programming. At the very least, I feel that could reason on the subject without the potential for distraction.
That said, the present seems like a good opportunity to implement change. For the foreseeable future, I'm going to walk away from my computer-related hobbies and projects and focus on other things. I don't think code maintenance or repair is unreasonable, as things are likely to break, but fixing them won't involve the time commitment of building entirely new systems from scratch.