varnholt / deceptus_engine

A platformer game engine in development
Other
14 stars 7 forks source link

Deceptus Engine

A C++20/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++20 code, you need a recent compiler, i.e.

Linux

qmake && make

Windows

qmake && nmake

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