Giter VIP home page Giter VIP logo

sigma's Introduction

Sigma

The Sigma game engine for creating games on multiple platforms. The name Sigma was chosen due to its meaning in math of summation notation. In Sigma, engine components are assigned to entities, and it is the sum of all the components that makes an entity.

Requires CMake and one of the following compilers:

  • GCC 4.8 or newer;
  • Clang 3.3 or newer;
  • Visual Studio 2010 or newer;

Contributing

The easiest way to contribute is to fork and experiment. To better understand the organization please refer to this drawing.

Coding standards and practices can be found here.

Installing

Sigma requires the following dependencies:

Sigma on Linux also requires GTK+ 2, due to usage of Chromium Embedded Framework.

You'll also need a package of assets. Unpack it in the build/bin/ directory.

Setting up Chromium Embedded Framework

Make sure you use a binary release from Adobe. Use the latest version that is NOT marked as dev (trunk).

  1. Unzip the downloaded tarball.
  2. This step depends on your platform. On Windows, build the included libcef_dll_wrapper.vcxproj project. On Linux, run make libcef_dll_wrapper BUILDTYPE=Release. On OS X, use the cefclient.xcodeproj Xcode project. Make sure to use the Release build mode.
  3. Copy out/Release/obj.target/libcef_dll_wrapper directory, if any, and the contents of Resources/ directories into Sigma's build/bin/.
  4. Copy the contents of include/ directory into Sigma's include/.
  5. Copy out/Release/obj.target/libcef_dll_wrapper.a (or .lib) to a cef/ directory in the Sigma root (create the cef/ directory if it does not exist)
  6. This step also depends on your platform. On Windows copy all the .dll files in Release/ to Sigma's build/bin/, then copy the .lib file into Sigma's cef/ directory. On Linux or OS X copy the entire contents of Release/ into Sigma's build/bin/, then make a symlink of the libcef.so (or .dylib) in the cef/ directory.

Building

Use CMake to create makefiles or projects. The resulting executable will be saved in build/bin/.

OS X

If you want to compile Sigma on OS X, your system must be running OS X 10.7 or later. You will need to have installed Xcode and, unless your system is running 10.9, the Command Line Tools. Both can be downloaded from the Apple Developer Website.

Before you can build Sigma, you'll first need to install the dependencies separately. Using a package manager, such as MacPorts, is recommended.

If MacPorts is present, you can use the following commands to install CMake, GLM, GLFW, libogg and libvorbis:

sudo port install cmake
sudo port install glm +universal
sudo port install glfw +universal
sudo port install libogg +universal
sudo port install libvorbis +universal

The current Macports version of Bullet does not include all of the libraries Sigma depends on. You will need to compile Bullet manually.

svn checkout http://bullet.googlecode.com/svn/trunk/ bullet-read-only
cd bullet-read-only
cmake . -G "Unix Makefiles" -DCMAKE_OSX_ARCHITECTURES='i386;x86_64' -DBUILD_DEMOS=OFF
make -j10 && sudo make install 

Sigma on OS X requires a patched version of SOIL that must be installed manually.

git clone https://github.com/DeVaukz/SOIL.git
cd SOIL
cmake . -G "Unix Makefiles"
make -j10 && sudo make install 

Once all the dependencies are installed, you can build Sigma.

mkdir build/
cd build/
cmake ..
make

Running

(Unix/Linux/OS X)

The binary Sigma is written to build/bin, build/bin/debug, or build/debug/bin

On OS X, you must launch Sigma from a shell in the build directory. Launching Sigma through the Finder will not set the working directory correctly.

Visual Studio

You must change the startup project via right-clicking on the project in the solution explorer in order for Debugging to launch the correct program. Also you must go into the project's properties, and under the 'Debugging' category change the 'Working Directory' to '$(OutDir)'.

Xcode

On OS X, CMake can generate an Xcode project for Sigma.

mkdir build/
cd build/
cmake .. -G Xcode

You must change the current scheme to Sigma by clicking on the scheme popup menu and selecting Sigma. You can also change the working directory used when Sigma is started by Xcode. Select Edit Scheme from the scheme popup menu, switch to the Options tab, check the box next to Working Directory, and enter the path to the Sigma assets in the text field.

sigma's People

Contributors

adam4813 avatar tanderegg avatar meisaka avatar zardoz89 avatar croxis avatar eldalar avatar catageek avatar logical-sh avatar lundstig avatar odnh avatar aponigricon avatar jlitewski avatar mause avatar exec64 avatar mcteo avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.