I'm sure he does just want to make his game. I'm also free to criticize the glaring shortcomings. There is VAST room for improvements without dumbing anything down. A perfect example of this is the fact there are two ways to draw rectangles for designating areas for trash vs mining. What on earth could be the reasoning behind that and how would fixing that be 'dumbing' it down?
What about the nonesense up/down stairs. How many thousands of dwarfs have perished at the bottom of a Down only stairway they have just dug, only for the mistake of not designating the stairway as both capable of upward/downward movement. So you watch, helplessly as all of your miners slowly die of thirst in a hole 6 feet deep a foot away from everyone else.
Playing chess by moving the pieces around with your hands is surely easier than rolling them around with your nose, but I would hardly call it 'dumbing down' the game.
First make it work. Then make it elegant. Then make it fast.
DF is at stage 1 now, and I think it's very reasonable to postpone ui polishing and optimisations till all the features are in place. Otherways he would need to constantly rewrite optimizations and the structures that allows speeding the game up, to kep up with new features. Which will take much longer in the end, and could kill his enthusiasm, ending the project.
Tarn, the creator, has said that Dwarf Fortress might be the last game he ever creates. He may still be working on it 20 years from now, and it may still be in a pre-release state at that time.
Eh, I don't know. Part of what makes Dwarf Fortress unique is its meticulous attention to detail. Tarn has so far been able to concentrate so fully on the game's simulation aspects by mostly ignoring things like the UI and optimization.
Could he hire on another person to work on the non-simulation bits? Perhaps. But that takes money. Tarn makes donation information public, and he makes between $40k-50k a year before taxes and the ~$800 a month he pays his brother for the help he provides. Enough to support himself, but not nearly enough to hire on another full time person.
Not to mention there are already other games out there attempting to emulate Dwarf Fortress (Gnomoria and Towns immediately come to mind) in a more user friendly form, but neither of them yet come close to intricacy and scale of Dwarf Fortress.
If he opened up the code I'm sure people would do it for free. If he doesn't want to open up more of the code I bet there are scads of people who would do it for a cut of the profits. And yes if he doesn't improve things eventually a competitor will mop the floor with him.
I am of the opinion that beyond a certain level of complexity Stage one depends on Stage two. DF has been there for quite a while. Stage 2 should be done in tandem with stage 1.
Complexity is like beauty though. A programmer can turn something as trivial as a command line calculator into one of the worlds greatest feats of engineering.
Where you are mistaken is your assumption that given enough time, every programmer will follow a predetermined structure.
Our tools may require logic, but that doesn't mean we must behave logically.
I understand that no two people will design any system identically, but for many situations there are 'obvious' solutions.
Regardless of that, well engineered code is far easier, more flexible and waaaay faster to maintain in the long run when compared to a mess of quick dirty hacks to get passable results. It takes no time at all for the hacks to impede your ability to make changes to the system.
Early in a project it's often difficult to get the design perfect. Requirements are refined and unforeseen engineering challenges crop up. When this happens your existing design pattern may no longer be a perfect fit. This is how I approach it:
I think about what the new 'ideal' or obvious solution is considering the new challenge.
If that solution is not practical to implement. I may try to engineer around the problem in a way that is consistent with the design of the rest of the system. While it may not be the 'optimal' solution the next developer who needs to get in there and change something will readily understand what's going on if they are familiar with other parts of the system. I like to call this 'fractal' design.
I rarely encounter a situation that I cannot solve via the ideal or fractal approach. But only after I have ruled out both do I allow myself to resort to hacks.
What about the nonesense up/down stairs. How many thousands of dwarfs have perished at the bottom of a Down only stairway they have just dug, only for the mistake of not designating the stairway as both capable of upward/downward movement. So you watch, helplessly as all of your miners slowly die of thirst in a hole 6 feet deep a foot away from everyone else.
Playing chess by moving the pieces around with your hands is surely easier than rolling them around with your nose, but I would hardly call it 'dumbing down' the game.