Arx Fatalis – Source Code Now Freely Available
Posted by Rampant Coyote on January 14, 2011
If you wanted to take apart a reasonably major RPG and dissect it, seeing how it works, now’s your chance.
Arx Fatalis Source Code Now Available
There’s also the latest patch for the game (still patching it after all these years! Awesome!) at the same location.
The source code uses the GPL 3 license, which is (IMO) pretty restrictive if you wanted to actually do something like make a commercial game out of it. But it’s definitely possible, especially if you aren’t planning on updating the code much – just making a new game out of the core engine (and make your source code available to all). Or you can mod the old game to your heart’s content. Or simply look through it and see how it works.
Fun stuff. For those of you who wear a programmer hat sometimes, enjoy!
(UPDATE / Note: Sorry, I know I’m injecting my own opinion about GPL here, one that is NOT shared by all developers. As mentioned in the first comment below, GPL is not inherently prohibitive of commercial release of software, and has a number of success stories. But I feel the viral nature of the license, the problem of compatibility between different licenses for other libraries, and so forth make it very difficult for a company that actually releases software as a product rather than a service.)
Filed Under: Programming - Comments: 8 Comments to Read
Mark said,
GPL doesn’t at all prohibit using the code in a commercial project.
Rampant Coyote said,
Nope, just makes it a much bigger pain in the butt.
Calibrator said,
Perhaps it’s late or I’m getting old, but I see only the source for the 1.21 patch.
Rampant Coyote said,
You know, it’s labeled kinda funky, and I haven’t been through it in depth, but it looks like the source code for the whole game to me when I opened it. So I think it’s for the whole game, version 1.21, not just some pieces for a patch (which would be weird anyway).
skavenhorde said,
It is labeled weird. That’s why I didn’t want to say too much about it in the newsbit because I didn’t know if it was just the source code for the patch or the whole game.
Still pretty cool of them to release it. Not too many companies would ever show their precious source code, even with a GPL license.
Haven’t a clue as to hard that would be to make your own product and sell it, but with guys out there making huge games like Nehrim, Ultima 6 Project, Lazarus and Quest for Glory 2 (to name just a few) for free then you know some of them are going to jump all over this and make their own Arx or at least I hope they do 🙂
Spaceman Spiff said,
I just spent about 25 minutes giving the code a look over. I always do this when a commercial game releases source (Blades of Avernum, Jagged Alliance, etc) to see if there is anything interesting I can learn.
My 2 cents:
The code is….Interesting so far.. The separation into difference modules is allright (EERIE, Athena, etc.), and it makes ok use of classes and namespaces, but it defiantly feels like a late ’90s codebase when most devs were going from C to C++. not very ambitious with it’s OOP and it lacks so many of the helpful programming practices that game developers have adopted since. Definite mixing of engine code and game code (which is ok, given how specific-purpose the engine appears to be), and I’ve seen almost no abstraction (make it hard to expand the game, port it to another platform, and so on).
Spaceman Spiff said,
I suppose that I should I add that I was mentally comparing it to the Genie engine and the AoE/AoK codebases which were developed in the late 90s, and felt that we were more sophisticated and concerned with good software engineering practices then.
macirex said,
@Spaceman Spiff: hey Spaceman, where can I download the game codes that you mention?