Skip to content

Cross-platform OpenGL 2D Game Engine with scripting, editor and physics.

Notifications You must be signed in to change notification settings

PhantomCloak/cengine-2d

Repository files navigation

cengine-2d

cengine-2d is a cross-platform OpenGL 2D game engine.

Watch the progress here

image image image image

Compiler Flags

FLAG DESC
-DENGINE_EDITOR Compile with editor & tools
--DRENDER_BACKEND_RAYLIB=1 Set Rendering Backend to raylib
--DRENDER_BACKEND_OPENGL=1 Set Rendering Backend to OpenGL
--DRAYLIB_ANGLE_SUPPORT=1 Enable Angle Support for raylib

Installation

UNIX (CMake & Make)

 (mkdir build && cd build)
 cmake -DENGINE_EDITOR=1 -DRENDER_BACKEND_OPENGL=1 -DCMAKE_TOOLCHAIN_FILE=[vcpkg path]/scripts/buildsystems/vcpkg.cmake  ..      
 make #-j N for parallel

Windows (Visual Studio)

Visual Studio -> Open -> CMake -> CMakeLists.txt
Visual Studio -> Project -> CMake Settings for Commanche2D -> CMake Variables -> Pick OpenGL or Raylib backend

VCPKG Dependencie

vcpkg install lua
vcpkg install sol2
vcpkg install glm
vcpkg install glfw3 -- if OpenGL
vcpkg install freetype - if OpenGL

Features

Scripting

LUA with C++ bindings.

Entity Component System

Built on the FLECS library.

Serialization

Default serialization format used in world/entities/physics is JSON.

Physics Engine

Implements Box2D also supports custom-made physics engines.

Render & Shading

Engine supports two different rendering backend.

  • Raylib with out of box ANGLE support for platform compatibility such as iOS.
  • Modern OpenGL

Export

Engine can built itself to following platforms.

  • MacOS
  • Linux
  • Windows

Animations (WIP)

Native animation designer with timeline.

About

Cross-platform OpenGL 2D Game Engine with scripting, editor and physics.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published