Revenge of the Source Code
Finally as promised, you can take a look at the source code to Revenge of the Titans here. Inside that zip file you will find:
- A src folder containing all the Java and XML source code. Yes, the package name is “worm”. It’s a long story. The whole project was codenamed Ultraworm.
- A docs folder containing some licenses and a readme.
- A libs folder containing the Java dependencies for the project.
Now read this carefully: you can do what you want with the contents of that zip, provided you leave the license header alone that’s at the top of each file and respect its meaning (and the licenses of the various libraries). Make your own RTS or Tower Defence game, pinch any bits of code you like from within (in which case the license header is probably in a grey area but… I don’t care much), or maybe make some mods for Revenge of the Titans itself.
What you absolutely may not do is redistribute our assets – that’s the graphics and sounds and music – without our express permission, which if I don’t know you quite well, you are unlikely to get. Although some of the sound in the game comes from the incredibly awesome Freesound.org project, the oggs and jars are still ours; if you want the original .wav files which are licensed under the creative commons license, we’ve included links to every one of them in the docs.
You may also absolutely not use the name “Revenge of the Titans”, “Puppygames”, or “Shaven Puppy Ltd” when redistributing any derivative works without our express permission, as that’d again be stepping on our trademarks.
Some bright spark might cunningly put the lot up on github or sourceforge or whatever – go ahead. Said bright spark might also produce an Ant build.xml file.
This is very important: I have almost no time to actually support this source code and your many complicated questions about how it works. If you’re asking me much about how it works in the first place I suspect you shouldn’t be bothering to look at the source anyway.
Anyone who emails the support email address about the source code will be ignored, after being hung by the foreskin until sorry.
Other than that: I now apologise in advance for the extremely crappy code and terrible inaccurate or nonexistent commenting! It just grew that way. In fact it’s all been growing for 10 years and the subject of constant bodging, retrofitting, and general breaking and poor design. I have it on good authority from Markus that it’s not quite as horrible as the Minecraft code but I suspect it’s not far off.
The one area where I will help out is making mods for the game. However, it’s quite an advanced sort of subject, and I shall expound upon exactly how to do this in a forthcoming blog post.
I got another 2000 keys from Steam, just as we were about to run out. And finally the Steam version has been patched to v1.80.11. The Mac version is imminent.