Just imagine how good this game and community around it would be if it had always been open source. Just imagine how much money they could raise in a Kickstarter to simply open source everything.
Just imagine how good this game and community around it would be if it had always been open source. Just imagine how much money they could raise in a Kickstarter to simply open source everything.
Have you considered open sourcing more pieces of Dwarf Fortress so that the
community can try to help with the nitty gritty engine bits while you can
continue having sole ownership of the underlying direction?
The pathfinding and multithreading optimization is a good example of
something I'd love to help with given the opportunity. (Related to this
question.)
Is there any other way that the more technically-inclined can help?
Tarn's response: I'm just not a project manager. I tried sharing the pathfinding code with
some people, and some progress was made, but unless my involvement is more
hands-on, I don't think it'll work, and I didn't want to be involved in that
kind of arrangement. On the other hand, the porting and graphics work with
Baughn went pretty well, although now I can't work with the graphics code
myself because I don't understand it. I'd hate to have that happen to more core
pieces of the game. Baughn also had to suffer a lot of annoyances because I
have no inclination toward things like version control.
"I'm just not a project manager." As someone who has several active open source projects, I can very much relate. I can easily see Tarn and his brother be completely overwhelmed by open source activity, paralyzed to make any kind of internally directed progress on it. Also, not everyone is good at maintaining this kind of thing, so it could cause more harm than benefit to the project.I too wish the code was open source, but I can understand the reluctance and speculate that it may even be the correct decision until the project is completed or abandoned.
[0] http://www.reddit.com/r/IAmA/comments/1avszc/im_tarn_adams_o...
Take the +12 month release cycles, there will surely be more active open source forks than what the Adams' can compete with, resulting not only in loss of their revenue stream but also loss of control of their vision. Perhaps this would be an altruistic benefit to the community, but probably a solid loss for the creators unless they're willing and succeed in diving in and leading the community of contributors as a whole.
Very risky.
Also from another interview, Tarn spoke about how he sees Dwarf Fortress as his life's work. This is the masterpiece that he would spend the rest of his life perfecting. Imagine a master painter like Picasso working on a piece for nearly a decade, being asked to let the community contribute to it so that it will be completed sooner.
I don't think dilution is main threat here. I think turning Dwarf Fortress into a viable open source community takes effort, and just letting the code into the wild won't necessarily accomplish much.
This is the key right here! Without version control, there's absolutely no way he's going to be able to collaborate with a whole bunch of people on this thing. If he decides to dump the source code up on his site, it's basically read-only at that point.
Besides that, he derives his income from donations. He does not want his project getting forked and his community leaving him behind in the dust.
There are several great weaknesses of DF that are not the result of the maker's vision but of their limited time and resources.
For example, it is not Toady's vision for the game to get very slow even on powerful hardware when you have a big fortress. This is perhaps a negative blowback of Toady's very laudable vision to have each dwarf be independently simulated. However, an expert in parallel programming should be able to improve this a great deal. AFAIK, DF currently runs as a single thread, and many of its processes can be split off. This is, however, not easy and probably not something Toady is able to or wants to do.
It is also not Toady's vision for the game to be controlled by a mindblowing number of complex menus and obscure key combinations. It was probably not his vision for about half the game controls to be mouse enabled and half of them not. He has admitted himself that the interface needs a lot of work. But he is obviously not working on it, but adding new features like vampires, and Indiana Jones style careening mine carts (last time I checked). I am not saying he should not add those things -- it is a free game and he should work on what is more fun for him. But if he opensourced it perhaps someone else would fix the interface for him.
It is obvious the game needs outside help. People are hacking the game in memory in order to add functionality. Last time I played, you needed to run another program called "dwarf therapist" while playing in order to be able to manage your dwarf's skills and professions. Dwarf therapist would work by directly reading and manipulating dwarf fortress data in memory. Sorry but if the game worked well, nobody would take the time to hack DF just so he can write a helper program.
If they opensourced the game, the people that wrote dwarf therapist could just add that functionality directly into the game.
I say this as someone who loves DF, but has suffered plenty from its frustrations.
Open-sourcing it dilutes their brand. It increases the likelihood that they can't fund it anymore because other people start blathering about their forks and distract from the game's actual mindshare.
> However, an expert in parallel programming should be able to improve this a great deal. AFAIK, DF currently runs as a single thread, and many of its processes can be split off
DF's simulation model is deterministic. Most aspects of it depend on prior aspects. It is a great case of Amdahl's law. Ripping that out and changing it would change the core of his game. I can't really see him wanting that if he doesn't understand it and, like Baughn's work on the graphics subsystem, I can't see him spending a lot of time to understand it. (Toady isn't a computer scientist and he isn't really a hacker as is commonly understood here. He learns what he needs to make his game and it pretty much ends there. This may sound critical but I mean it as a compliment.)
> But if he opensourced it perhaps someone else would fix the interface for him.
His supporters are content with the interface. It isn't preventing them from enjoying the game and it's not hindering their ability to fund continued development. You are suggesting that he potentially damage his revenue stream to fix problems that aren't really problems right now.
I haven't sent him any money yet, so I'm not sure if I count as a supporter - but I am damned not content with the interface. If it weren't for Dwarf Therapist, the game would be nigh unplayable.
I don't see what that has to do with using parallel programming to improve the performance of DF's simulation. If you are implying that threading implies nondeterministic behaviour in a simulation, you are mistaken. In fact, a system with such a discrete space model as DF would be quite easy to parallelize in a safe and deterministic way, with the proper expertise and forethought.
Basically, when starting the game, spawn X threads and partition the world between them so that only one thread can write to any particular world block. Then, when calculating a new frame, make a read-only copy of the previous world frame. Any reads are done from that copy; any writes obviously occur only in the blocks assigned to a particular thread. Wait for all threads to complete, then render thread. No messaging, locking, event handling or whatever needed. Just care and forethought.
But you are right that Toady likely not possessing that kind of knowledge. That's the very reason why people would like to see others involved for things like optimization and UI design and the main point these people are trying to make; Toady seems either not able or willing to do it himself, and it could improve the state of the game tremendously.
This is (arguably) great for the consumer, but as a fellow creator I understand their reluctance to open source their baby.
While I am absolutely an advocate of OSS and I do wish Tarn would go for it, the basic thing is that they dont want to and they love what they do, so deal with it, it's their game.
> They don't want to be delegators. They want to make a game.
Delegation is part of engineering (or not, since these guys have chosen not to delegate). Or part of "making a game" if you prefer. It would be genuinely weird to take the attitude that the only people who "make" a game are the programmers.
Except in indie games all over the place, right? Zeboyd, Spiderweb Software, loads of small developers do exactly this. I do it. I don't want other programmers for something I can do myself because I don't need to share my project with them. It's mine. It's part of me. Bringing more people in lessens its meaning to me.
(I wouldn't contract anything at all if I could do music and art to the level I deem required.)
> Delegation is part of engineering
Whatever gave you the notion that this is engineering? They're not frigging engineers. They're artists.
One thing that holds crawl together is an overarching philosophy, particularly the Berlin Interpretation (http://roguebasin.roguelikedevelopment.org/index.php?title=B...).
Someone even made fan art for us: http://i.imgur.com/cGO39.png
http://roguebasin.roguelikedevelopment.org/index.php?title=M...
That is where open source in games seems to excel: keeping old games alive and running on modern systems.
Considering the quality of open replacement assets like OpenArena, I also don't think that open source games work particularly well.
If DF were to be open sourced, the first thing I would do is attempt to contribute to cleaning up fortress mode. I suspect many developers would do this as well. So as a long long long time observer of this game, I can understand the lament that it's not open source and I sympathize. These sore spots likely won't see improvement. But...
All the reasons I normally advocate for freely open source software just arn't here!
Toady is clearly not doing anything malicious with his program. He also has no intention of restricting his program in the future, anyone can use it. He's trying to make the best software he can, for the user. Dwarf fortress isn't doing dirty things behind the scenes, and Toady has more than earned my trust. Versions have being ported to multiple OS's, and it's clear he's going to work on it for a long time. Open source isn't needed here, it would only get in the way of what he's trying to achieve. I'm willing to wait until I'm a much older person to see the masterpiece he creates.
I don't think he'd even need to even open source it, in terms of allowing anyone else to release it. If it was just possible to hook into it and make custom UI or Renderers, I think people would run with it. Some have tried but they are extreme hacks at this point.