A simple engine written in C++ using SDL and OpenGL.
Built for high performance, low-latency games using modern rendering techniques.
Written with native execution on 32/64 bit Windows, Linux and Mac in mind.
Don't expect anything great, unless you're willing to make it =]
Pull requests may be accepted provided they /try/ to follow the coding style guidelines (see CODE_STYLE_CONVENTIONS)
Please discuss with a project maintainer before making any major changes to avoid wasted effort =]
All code must be compatible with the MIT licence (see LICENSE)
There is a scons project capable of producing Release, Debug and Optimised-Debug builds. You can also force 32 bit builds.
There are some project files provided for VS2013, CodeLite and Code::Blocks which just invoke scons. This is for ease of debugging.
Steps:
scons
from the src
directoryMake sure C:\Python27
and C:\Python27\Scripts
are in your %PATH%
environment variable.
Install Visual Studio 2015 Community Edition or later for C++ language features.
All projects use scons under the hood, and there are project files available for VS2015, CodeLite and Code::Blocks.
You can also run a build from the command-line with scons -Q
from within the src
directory.
You will require libsdl2-dev
, libglu1-mesa-dev
, libfreetype6-dev
and libpng16-dev
(which is not available in the main repositories as of Ubuntu 14.10)
libfreetype6-dev
depends on libpng12-dev
, so you will have to install that first, and then install libpng16-dev
(dimensio/libpng16-deb
) with the following method:
$ git clone https://github.com/dimensio/libpng16-deb.git && cd libpng16-deb
$ sudo apt-get install bundler curl
$ bundle install
$ make
$ sudo dpkg -i ./*.deb
To compile, run the following
$ cd src
$ scons -Q
You will need to install Apple Developer Tools from the App Store, then use HomeBrew/brew to install git, python and scons.
As Mac and Linux both have a UNIX environment + tools, the process between the two is much the same.
All the provided project files assume there is an executable file named xsngine
in the current working directory.
Because different platforms will have different binary names, and these tools are used on all platforms, it is recommended to create a symlink from xsngine.exe
to e.g. xsn.x86.exe
- On Windows you will require the Win32 Symlink Extensions.
Run the binary with +set com_path "../bin"
to load assets correctly. See xsngine-assets for these files.