Skip to content

Latest commit

 

History

History
167 lines (123 loc) · 5.06 KB

README.md

File metadata and controls

167 lines (123 loc) · 5.06 KB

Cinnabar Engine

Finished Good

GitHub issues GitHub license

Unit Testing Code Quality Documentation Generation Continuous Delivery

Prerequisites

Use the build tool CMake to build cinnabar.

Windows

Choose Compiler:

Visual Studio Installer

  • Desktop development with C++ (C++ core desktop features)
  • MSVC V142 - VS 2016 C++ x64/x86 build tools (Latest)
  • Windows 10 SDK (10.0.19041.0)

Download and extract the dependencies to a folder of your choosing, set the environment variables of GLM_ROOT_DIR and SDL2DIR, add the bins of pkg and glew to path, and put the .dll files in the res folder.

MinGW

pacman -Syu
pacman -Su
pacman -S --needed base-devel mingw-w64-x86_64-toolchain
pacman -S cmake mingw-w64-x86_64-glew mingw-w64-x86_64-glm mingw-w64-x86_64-SDL2
pkg-config

On the gnome binaries website, navigate to win32 or win64 (for 32 or 64 bit), dependencies, and download the latest non-dev versions of gettext-runtime and pkg-config. Navigate back to the parent directory, glib, then download the latest non-dev version of glib.

Debian

sudo apt install build-essential cmake libglfw3-dev libglew-dev libglm-dev libassimp-dev

Arch

sudo pacman -S base-devel cmake glfw glew glm assimp

Redhat/Fedora

sudo dnf install kernel-devel cmake sdl // TODO

Build Instructions

mkdir build
cd build
cmake ..
cmake --build .

Running

Windows:

cd res
../build/run/cinnabar-engine.exe

Linux:

cd res
../build/run/cinnabar-engine

Dependencies

Libraries

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Todo

Moved to: https://github.com/cinnabar-engine/cinnabar/projects/3

Physics engine (make a seperate project)

  • Shapes
    • Point
    • Line segment
    • Rectangular prism
    • Sphere
    • Cylinder
    • Capsule
    • Cone
    • Ngon prism
    • Elipsoid
    • Mesh
  • Shape collision
  • Shape advanced collision (Get information like position, speeds, collision normals, etc. so that physics can be done)
  • Physics
    • Air resistance
    • Friction
    • Bounciness
    • Buoyancy
    • Fake fluid (fluid in small comtainers like bottles, get water level)
    • Soft body
    • Fluid
  • Portals
  • Port to Windows
  • Port to MacOS
  • Port to Emscripten
  • Port to Android
  • Port to iOS

Networking (make a seperate project)

  • TODO: Make todo list

SceneGraph (make a seperate project)

  • States
  • Scene Graph
  • Map management
  • XML based scene graph import

Misc

  • Events System
  • Make an Actual Game