Developers, developers, developers, developers!
How to build from source and start improving the game.
The build dependencies on different distros
If you happen to be running one of these, please start by installing the following packages. If not, just skip this section and follow the instructions.
Debian (testing/unstable) and Ubuntu:
- sudo apt-get install subversion autoconf automake libtool build-essential help2man libsdl1.2-dev libcairo2-dev librsvg2-dev libasound2-dev libjack-dev libxml2-dev libboost-thread-dev libboost-serialization-dev libboost-program-options-dev libboost-regex-dev libavcodec-dev libavformat-dev libswscale-dev libmagick++9-dev libsamplerate0-dev libpulse-dev libxml++2.6-dev
Gentoo:
- boost ffmpeg help2man imagemagick libsamplerate libsdl libxml2 subversion
OS X:
- sudo port install autoconf automake libtool subversion help2man libsdl cairo librsvg portaudio libxml2 boost +complete imagemagick ffmpeg +avfilter libsamplerate
We try to keep these lists accurate and up-to-date with the current SVN. If you find that something is missing or that there are unnecessary package installs, please let us know.
Installing from SVN trunk
You will need to have subversion client installed. If you are using Windows, consider using TortoiseSVN. For other platforms, the commandline tool svn shall do.
- svn co https://ultrastar-ng.svn.sourceforge.net/svnroot/ultrastar-ng/trunk USNG
This command will fetch the latest sources into a folder called USNG.
- cd USNG
- ./autogen.sh
- ./configure --with-audio=ffmpeg
- make -j2
- sudo make install
- sudo ldconfig
The above commands should build and install the game. If you get errors (especially if they are from the configure part), you are probably missing some libraries required by the game. Install the needed libraries (e.g. libboost-dev) and retry the failing step until all dependencies are sorted out.
Afterwards, when you want to upgrade,
- cd USNG
- svn up
- ./configure ... (if you wish to change settings)
- make -j2
- sudo make install
Improving the game
Hack the source, find things that you could do better. We accept small and large patches. Even typing mistakes and manual page inaccuraties should be corrected, and it is all there. Another thing that you can do, even if you don't know anything about programming, is making new themes (or improving the existing ones): the only things that you need for this are Inkscape and some graphical skill.
Once finished with your changes, generate a patch and send it to the ultrastar-devel mailing list (see project page for information about the list) or to our IRC channel.
- svn diff
If you added any new files that should be added, use svn add to add them to the repository first (to allow svn diff to show them). SVN write access will be given to people with continued interest on development, after a patch or few.
IRC channel
Most development discussion happens on #ultrastar-ng on Freenode, so you'd better come there.
