I personally don't think Khazad will ever get off the ground as a DF clone. Impaler is in way over his head and doesn't seem responsible, mature, talented, or learned enough to pull it off.
However, I think the possibility of someone undercutting DF with their own implementation of a similar game (or game framework) is still there, and perhaps stronger than we think.
As at least one other person in this thread has stated, the most interesting/unique thing about DF is the design, not the implementation or programming behind it.
We have to face a couple facts here:
- This is the first project remotely near its scope or level of sophistication that Toady has ever attempted to program or manage. A possible exception is the first Armok, but that was essentially written off as a failed attempt. It seems to me that most of his programming history lies in small projects, some using not very well-structured languages (see: BASIC) - things that don't have to scale well, don't have to be written very robustly, don't have to be extensible, etc. Dwarf Fortress, obviously, is a whole other story, and one he doesn't seem to have much experience with prior to this game.
- I could be wrong, but the general impression I get is that Toady doesn't have the level of computer science or software engineering/management background that would be nice to have before attempting a project as ambitious as Dwarf Fortress.
- Toady is working on this project essentially by himself (especially when it comes to project management and programming).
I might be slightly wrong about some of the above, since I don't claim to have some kind of intimate knowledge that the rest of you don't.
One conclusion to make here is that Toady is learning as he goes. There's a good chance that some of the oldest DF code is stuff that he's not particularly proud of. This isn't to insult his ability; it's actually a good thing, since that means he's improving, as is expected.
This, combined with the fact that he's doing it all himself (hell, even handling the forum is left to him and ThreeToe, and it's rather admirable they haven't gone crazy from it or ritually sacrificed anyone yet, considering how frustrating moderating any Internet community can be) means that progress is bound to be slow, and the implementation details are likely to often be suboptimal.
This means that it's not exactly infeasible for a team of experienced and talented software people - the type used to, say, maintaining and organizing very large projects, in terms of personnel as well as programming and design goals - to "catch up" to Toady's work, creating a product that has similar goals to DF but that is perhaps written
more robustly or in a more easily extensible fashion. For instance, I know one person who is working with others to create a library for roguelike programming that accomplishes many of the goals that DF does in terms of world generation/simulation, and they seem to know what they're doing (I doubt they're trying to specifically create a "DF clone", but at least part of the goal is for the library to do some things that DF does, or that they feel it should do better).
So, yeah, what Toady does is great, and we all respect him for it (myself included), but we can't ignore potential issues like this. I'm not saying it would be at all feasible for Toady to completely eliminate the threat of someone making another game (or library, or what have you) that accomplishes the same goals as him, but there are definitely some drawbacks to the development methodology being used. Some of these might be necessary, and some might not be. Let's go through them again.
- Working with others: Toady doesn't like working with other people terribly much. This seems like a shame sometimes, since there are definitely people willing to help him out with, say, programming, even free of charge. He could maintain oversight of the project creatively, draft up non-disclosure agreements, and so forth, so the problem is mostly just that he wouldn't enjoy it, as far as I can tell. This is legitimate, since it's a long-term enough project that him going about it in a way he doesn't enjoy is out of the question. On the plus side, I see a positive trend in that Toady did open up a bit of the code (graphics/input) and accepted contributions from at least one person regarding it, and that seems to have been quite beneficial. I don't think opening up the source for DF as a whole is a viable solution or a good idea at all, but Toady seem to be willing to work with people more than we would have expected a few years ago, so that's nice, even if having a true "project team" remains out of the question.
- Toady, if he's smart (and at this point he'd better be smart about this, and certainly seems to be) will continue to learn programming skills, read books, expand his knowledge and practices, and potentially accept advice from people concerning the construction and maintenance of such a huge project. I definitely think he has the ability (having a PhD in Mathematics certainly doesn't harm my impression here) to learn how to program and maintain a project of this nature in a very professional manner, and considering the amount of foresight he's put into design goals and things of that nature, I doubt he's just flying by the seat of his pants and making it up as he goes along, so I'm confident that he can continue to learn as he goes. The fact that DF (as it stands) probably is built upon a rather shaky foundation, considering its age and Toady's lack of prior experience on a project like this, probably contributes to slow and uneven development, but the upside to that is that if Toady reworks things as he goes into a more robust framework, things should be able to go much smoother over time.
A lot of this is just partially-educated conjecture, so I hope I haven't insulted anyone if I've said anything that isn't true. One point we definitely have to agree on here is that we can neither disregard the amount of work Toady puts into the project, or his vision or dedication, or the fact that he's managed to get this off the ground so far at this point,
nor the fact that he's not a programming genius dropped from the Heavens, and in fact has the majority of experience in projects that simply were not complex, large, or sophisticated enough to teach him all the skills necessary to maintain one like DF.
In closing, I think Toady is dedicated, intelligent, and level-headed enough to know what he needs to do and do it, and that it's rather important that no matter what he does, he needs to
not do things that would be contrary enough to his methods in the short-term that he'd lose interest or gumption to work.