syBR Engine

A simple, modular, game engine

Introduction

The syBR Engine is the new version of the RLife3D engine which was closed-source (see history for details about that). That old engine lived for a little more than 4 years but its progresses were quite limited. The main reasons for that were : little time, little experience, little team... We hope that going open-source will help it to be developed further and maybe... to reach a more mature state.

The goal of this engine is to set the ground for several games. It's done by people who are NOT professionals and who develop it during their spare time.

The main features of the engine are the following:

  • Multi-platform (Win32 / Linux)
  • Plugin system for the main tasks (sound, input, network...)
  • Set of tools for allowing easy modification / adding of game content

Other features are not well defined. We want to use the engine to make games, so, the base set of features is the features required to make games. Though, we didn't precisely define that set of features because of time. Time is limited and the features can greatly evolve as time goes by. See the features for the current list of features of the engine.

The syBR engine has been successfully tested on the following platforms:

  • Windows XP SP2 with MinGW 3.4.4
  • Linux Ubuntu (kernel 2.6.12-9) with GCC 4.0.2

This program is under the LGPL licence, see the license details for more information.

Libraries and tools

Why do programmers always re-invent the wheel ? Because they enjoy programming things their own way... However, this is not possible for a small team to create everything from scratch when there is so little time. To ease and speed up the development of the engine, some open-source libraries have been used. Here are they:

  • FLTK 1.1.6 (under the LGPL with exception for static linking)
    Cross-platform widgets library which allows to easily create cross-platform GUI applications.
     
  • Ogre3D 1.4.x (under the LGPL)
    Cross-platform 3D rendering engine which provides everything to create fully-featured 3D worlds.
     
  • OIS 1.2-branch (under the zlib/libpng license)
    Cross-platform input library.
     
  • Squirrel 2.2.2 (under the zlib/libpng license)
    Cross-platform scripting library.
     
  • TinyXML 2.5.3 (under the zlib/libpng license)
    Cross-platform XML parser / reader.
     
  • Bullet 2.73 (under the zlib license)
    Cross-platform physics engine which provides everything to create fully-dynamic 3D worlds.
     
  • FreeType 2.3.7 (under the FreeType license)
    A free, high-quality, and portable font engine.
     
  • Anti-Grain Geometry 2.4-svn (under a modified BSD license)
    A high quality and high performance scalable vector graphic library for C++.

Several tools are used to ease the development as well as create resources for the engine:

  • GtkRadiant 1.5.0
    Tool to create maps for the syBR engine (must be compiled with map2syBR).
     
  • AngelCode Bitmap Font Generator 1.7a
    Tool to generate bitmap fonts (bitmap + description file) from Windows fonts.
     
  • CMake 2.4.2
    Tool to generate makefiles and / or project files for most of the available compilers / IDEs.
     
  • Doxygen 1.5.1-p1
    Tool to generate easy to read and easy to browse API documentation from a set of C++ source files.
     
  • MinGW 3.4.5
    GCC-compatible compiler for Windows.
    A special version of the compiler is used, see the remarks at the end of the Build instructions section.

Finally, all the hosting is provided by SourceForge.

Important:
More information about these tools and libraries can be found in the building instructions.

How to run the demo and the settings programs

For Linux:

  • ./start.sh
  • Select the program you want to run

or

  • ./start.sh 1 to run settings utility
  • ./start.sh 2 to run demo

Note that you must run chmod u+x start.sh to set its executable attribute on.

For Windows:

  • Double-click on settings.exe to run settings utility
  • Double-click on run.exe to run demo

Linux users need to run it via a script because the LD_LIBRARY_PATH variable needs to be modified for the engine to be able to load the plugins. If you want to skip the menu, just pass as a parameter the index of the menu entry you want to run, as shown in the second sample.

Windows users need to have the D3DX9_30.DLL file installed. Please use the D3DX installer available at Microsoft website. Individual files can also be found here. If you don't want to install it then you won't be able to use the Direct3D9 renderer but only the OpenGL one. In both cases, be sure to have the latest drivers installed.

Please note that there won't be demo packages for all of our releases as it is sometimes difficult to show improvements.

Assets and documentation license

Creative Commons License
Except where otherwise noted, all syBR assets (models, textures, sounds...) and documentation (including this website) are licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported license.