Casqade / casqadium

ecs-based game engine

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Casqadium Engine

ECS-based WIP game engine for personal usage.

This project was born with the idea of a framework for developing small interactive applications and prototypes. Since its first days, gaining experience at software architecture and computer graphics continues to be the driving factor of this endeavour.

Listed below are major initial design goals and requirements of the engine, some of which proved to be disputable over the course of development:

  • Builds on Windows & Linux into a compact static binary
  • Logic driven by entity component system architecture pattern
  • Fully serialisable runtime state
  • Human-readable game data & resource specification format (JSON in particular)
  • Package system for game data & asset organisation
  • Built-in GUI editing tools
  • Cutting-edge graphics (textured quads, no time for fancy Blender stuff!)

Credits

Notable libraries used:

Status

The project is currently undergoing a transition from modified olcPGE to OpenGL + GLFW backends.

Since there are far more advanced engines with fantastic graphics out there, it was decided to stick with minimalistic style and extend it with proper 3D model support (WIP also) for complementing textured quads primitives with low-poly meshes.

Dependencies

Windows MSYS2:

Default GCC toolchain should suffice

Windows MSVC:

Haven't tested yet :(

Arch Linux:

pacman -S libpng mesa

Debian-based:

sudo apt install libglu1-mesa-dev libpng-dev

About

ecs-based game engine

License:GNU General Public License v3.0


Languages

Language:C++ 97.3%Language:CMake 2.7%