this would result in a number of very, very bad forks of DF popping up over time, and likely not having a single copy anywhere that is even somewhat relevant to Toady's wonderful ideas for the game.
You do realize that's not generally how open source projects work / have to work, right? You are well within your rights to release the source code under the condition that:
- No one else is allowed to fork the code
- Any changes to the source code must be submitted back to the original author for review.
Granted, few projects are actually licensed under such restrictives terms, but it's entirely possible to do. Then it's not really that much different from decompiling or copying the code. Technically, it wouldn't be *that* hard to write a program that duplicated a good part of DF without ever actually seeing the source. It's much easier to duplicate an idea / implementation that someone else has already put a decade of work in than to come up with it all yourself.
I remember hearing about such an incident. The version I heard was that someone decompiled/ got hands on part of the source code and used that to make his own game.
If you really want to read more about it, the core of the argument came down
here. The project that resulted from that still exists on github (if you really want to see it and can't find it yourself, PM me and I'll send you a link) but hasn't been touched in over a year. A bit more evidence that clones / forks like this tend not to have nearly the success that DF has for whatever reasons.
http://stackoverflow.com/questions/5063577/asm-opcode-injection-with-c
I'll write a simple function to interact with memory mapped files and inject it to the appropriate location.
Hmm. Interesting. That would be the why of my 80% figure. It's possible, but not particularly easy. Out of curiosity, have you done anything like this before? It might just work, but you're going to run into a few issues with reverse engineering enough of the code so that you don't below anything up when you're mucking around. I'm actually curious if it even can be done.
One last future note, you may want to read the copyright notice in the readme.txt file
*** COPYRIGHT INFORMATION ****************************
Copyright (c) 2002-2012. All rights are retained by Tarn Adams, save the following: you may redistribute the binary and accompanying files, unmodified, provided you do so free of charge. If you'd like to distribute a modified version of the game or portion of the archive and are worried about copyright infringement, please contact Tarn Adams at
toadyone@bay12games.com.
This software is still in development, and this means that there are going to be problems, including serious problems that, however unlikely, might damage your system or the information stored on it. Please be aware of this before playing.
You may actually be fine if you actually write a program to inject code rather the redistributing DF with your changes in it, but it still doesn't hurt to read it at least. Granted, this sort of worry is still a long way off. I was just curious myself he'd actually put in his copyright so I went and looked it up.
This is for later though, working on a visualizer/simulator atm.
You may want to look at
this thread, specifically
this simulator someone already wrote. When we say that pathfinding has been discussed extensively, we're really not kidding.