Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5,706 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Simulant

Development of Simulant has moved to Gitlab

What is it?

Simulant is a cross-platform general-purpose game engine written in C++.

It is designed with portability in mind, using minimal dependencies and targetting C++17 (rather than more modern versions of the language).

The aim of Simulant is to create an easy-to-use game engine to allow building homebrew for older games consoles, as well as creating a great developer-experience on modern platforms.

Simulant currently supports the following platforms:

  • Windows
  • Linux
  • SEGA Dreamcast
  • Sony PSP
  • Android

Patreons

Simulant is supported by the following Patreons:

  • Dave Reichelt
  • clmjfr
  • Leonidas Antoniadis
  • Derek Pascarella
  • PJ Perretta
  • Cypress Hill

Features

  • Easy to use API, and getting simpler all the time!
  • Flexible rendering pipeline
  • Complex material scripting format
  • Loading of .obj models and the X-Wing vs Tie Fighter .opt format
  • Loading of MD2 animated models
  • Loading of Q2 BSP files (needs work)
  • Loading of heightmap terrains from image files
  • Advanced spatial hash partitioning and culling
  • Loading of JPG, PNG, TGA, WAL, PCX images and more!
  • Shortcut functions for loading 2D sprites, 2D backgrounds and 3D skyboxes
  • Simple scene graph functions
  • UI widgets (Button, Label, Progress Bar)
  • Basic rigid body physics using the Bounce library
  • Procedural functions for generating spheres, cubes, capsules, circles and rectangles
  • Functions for creating lights, multiple viewports and cameras

Screenshots

screenshot 1 screenshot 2 screenshot 3 screenshot 4

Building

Compiling the code requires CMake. Currently there are the following external dependencies:

  • SDL2
  • OpenGL
  • OpenAL

To build:

    git submodule update --init
    mkdir build && cd build
    cmake ..
    make

How do I use it?

Have a read of the documentation and follow the installation instructions for your OS.

About

A general purpose game engine for Linux, Android and the SEGA Dreamcast!

Topics

Resources

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages