Skip to content

varnholt/deceptus_engine

Repository files navigation

Deceptus Engine

A C++23/lua-based platformer game engine
It utilizes Box2D for game physics, SFML for rendering, and SDL for game controller support.

Credits

What Who
Artwork dstar
Code mueslee (Matthias Varnholt)

How to Build

As the engine uses some C++23 code, you need a recent compiler, i.e.

  • gcc >= 13
  • Clang >= 15
  • MSVC >= 2022

Linux

qmake && make

Windows

cmake

mkdir deceptus_engine-build
cd deceptus_engine-build
cmake -DCMAKE_BUILD_TYPE=Release ..\deceptus_engine
cmake --build .

qmake

qmake && nmake

MacOS

Building

brew install fmt
brew install sfml
brew install sdl2
brew install lua
qmake && make

Running

export PATH="$(brew --prefix fmt)/include:$PATH"
export PATH="$(brew --prefix fmt)/lib:$PATH"

export PATH="$(brew --prefix sfml)/include:$PATH"
export PATH="$(brew --prefix sfml)/lib:$PATH"

export PATH="$(brew --prefix sdl2)/include:$PATH"
export PATH="$(brew --prefix sdl2)/lib:$PATH"

export PATH="$(brew --prefix lua)/include:$PATH"
export PATH="$(brew --prefix lua)/lib:$PATH"

./deceptus

Contribute and Talk to Us!

If you're a musician, graphic artist, level designer or programmer, or just want to hang out and chat, please join us on Discord!

Designing a Level

Introduction
Some Terms
Your Tileset
Your Tiles
Level Layers

Mechanisms

Introduction
Bouncers
Conveyor Belts
Damage Rects
Doors
Fans
Lasers
Bubble Cubes
Collapsing Platforms
Portals
Crushers
Death Blocks
Levers
Sensor Rects
Ropes
Spike Balls
Spikes
Spike Blocks
On/Off Blocks
Rotating Blades
Moving Platform
One-Way Walls
Moveable Objects
Extras
Dialogues
Controller Help

Enemies

Introduction
Adding Enemies
Enemy Design and Properties
Generic properties
Arrow Trap
Bat
Blob
Bonefish
Cannon
Critter
Ghost
Klonk
Landmine
Watermine

Visual Effects

Introduction
Adding Parallax Layers
Adding Image Layers
Static Lights
Dynamic Lights
Playing with Dynamic Lights / Ropes with Lights
Atmosphere Layers
Shader Quads
Weather
Water Surfaces
Smoke / Fog
Dust
Ambient Occlusion

Advanced Topics

Introduction
Checkpoints
Rooms
Addendum
Folder Structure

Creating Your Own Enemies

Deceptus Engine Lua Interface
Creating Your First Own Enemy
Setting Up Your Enemy
Using the API
The Lua API

About

A platformer game engine in development

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published