-
Notifications
You must be signed in to change notification settings - Fork 0
Development Environment
Arganium has been designed to be easy to build and modify. This guide will help you get started with a development environment and the general workflow.
Generally a distribution of Linux is strongly recommended. Most of Arganium's development was performed on Ubuntu and it is recommended. That said any distribution or even other operating systems should have no problem running Arganium as long as they meet all the software requirements above.
The first order of business is to get a functional installation of Ruby. If you choose you can use a system Ruby installation, rbenv, or something custom but RVM is recommended because of its ease of setup and excellent support. For up to date instructions please follow the guide but the following should normally work:
curl -sSL https://get.rvm.io | bash -s stable --ruby
rvm install 2.2
rvm use 2.2 --default
rvm gemset create rails5.0
rvm gemset use rails5.0
gem update
gem install bundler
gem install nokogiri
Nokogiri is a dependency for many other gems and may require Ruby Libraries to be installed. On Debian this is the
ruby-dev
package.
Now that you have a functional and flexible Ruby environment set up, it's time to install Rails.
gem install rails
- Verify installation with
rails -v
cd <repobase>/gloom
bundle install
A 3.0+ build of Zandronum is required. These can be found under the Download area of the official Zandronum site.
- Download the archive for your platform.
cd /opt
mkdir zandronum
cd zandronum
tar xvjf <path to downloaded archive>
- Edit your
.bashrc
to place/opt/zandronum
into yourPATH
variable.
Naturally you're going to need a game WAD. Once you have a game WAD you wish to use, enter the following:
mkdir ~/.zandronum
cp <path to game wad> ~/.zandronum/<game>.wad
At this point you should have a development environment ready to work with. If you encounter problems please log an issue with details. The average workflow for each component of Arganium is typically the following:
-
Certain: Certain is a Ruby program and can be run directly from
<repo>/certain/bin/certain.rb
. Example scripts for launching the Certain wrapper and the client are located under<repo>/certain/examples
. - Gloom: Gloom is a Rails application and launching it is like many others.
cd <repo>/gloom
./setup
./setup <config.yml generated>
SECRET_KEY_BASE=$(rails secret) rails server -b 0.0.0.0
-
Clients: web clients need only connect on the default port for the Rails Server (typically
3000
in development) with a standard web browser. Zandronum clients need to launch Zandronum with thearganium.pk3
and the level being used. An example script for how to do this is provided in<repo>/certain/examples/
.