May 11th, 2010
In the spirit of the Humble Indie Bundle, we have decided to release the source code to Lugaru! Our community has already made some great mods by editing the levels and graphics, but source code access will allow for much deeper modifications. The coding style is what you might expect from a self-taught high school student, so it could be a challenge to understand, but feel free to give it a shot!
The Mercurial repository is hosted at icculus.org -- if you'd rather just have a simple download, we have a snapshot of the initial source code release here. We are releasing the source code under the General Public License(GPL), which means you can distribute modified versions of the Lugaru code, but they must also be open-source under the GPL. The game assets are included in the snapshot, and can be redistributed for free, but cannot be resold without our permission.
Details from Ryan Gordon
The source code is based on Ryan C. Gordon's branch, which took David Rosen's original Windows and Carbonized Mac OS code and ported it to Linux and Mac OS X, using SDL and OpenAL. It should compile as-is on those platforms from the command-line. On Mac you can type "sh makemac.sh" to build (or use the Xcode project!), and on Linux you can just type "make". The code is compatible with Windows, but the included Visual Studio project is not completely up-to-date. We should have that sorted out soon, especially with your help!
We have included enough of the game data to run the demo version. Please note that the game data is not under the GPL, and forbids commercial redistribution.
The code is licensed under the GPL2. Please see COPYING.txt for details.
Getting the source:
The source code for Lugaru is stored in a Mercurial repository. This might be a little different than other revision control systems you've used. There is a place where you can download the source code, and pull in the latest, bleeding edge changes, like you'd expect, but there isn't an authoritative source. Everyone gets a complete copy of the repository, and can pass changes around between each other without having to get permission to commit from Wolfire. This brings lots of benefits you never knew you needed before you had them.
Everything you need to know about Mercurial can be found at mercurial.selenic.com.
The Lugaru source code can be browsed online here, and you can use this command to grab it with Mercurial:
hg clone http://hg.icculus.org/icculus/lugaru
How to contribute:
Clone the repository and work on it. Optionally, publish your repository somewhere (bitbucket.org and Google Code will both provide free hosting). This will let others pull your changes directly and see your work.
You can also just email patches like you've always done (use "hg export"). You don't need to have write access to someone's repository, because you own the repository. If they import your patch, it'll still have your name on it.
Some things you can do:
- Get the game building on Windows again. Some Linux dork came along and broke it! Mostly the project files need to be updated to use the new dependencies (OpenAL, zlib, png, jpeg) and not the old ones (fmod, DevIL).
- Improve the Xcode project. Right now, it builds the game, but isn't as nicely automated as it could be.
- Restore Mac OS X 10.2 support (we're linking against the 10.6 SDK for all CPUs at the moment).
- Add new combat moves, bad guys, weapons.
- Port it to a new platform. Why stop at Linux, Windows, and Mac OS X?
- Write a software renderer, a Direct3D renderer, or an OpenGL ES renderer.
- Make it more Linux-friendly (use system zlib, etc).
- Make it run in a web browser.
- Restore FMOD support.
- Do something cool.
You imagination is the limit. Scratch your itch. Dream big.
Also, we'll remind you that if you need more Wolfire Open Source Action, Black Shades is also available!