Skip to content

Repository files navigation

Disclaimer

This project is far from being mature for release. These kinds of projects take a lot of time, which I sadly don't have much of in the meantime. However, I decided to make this repository public, as it might be of help to someone, perhaps as a reference of a sort. I might continue working on it in the future, but I can't make any promises.

EtherEngine

EtherEngine is a game engine extension built on top of Monogame (currently underconstruction). It follows the entity component system (ECS) architecture thanks to the wonderful Arch.

Features

  • Motion: several options for physics based motion, including simple massless motion, massless motion with realistic drag based on Stoke's and quadratic drag, and mass-based motion with PID contorlled physics.
  • Collision: separating-axis-theorem-based collision for circles, rectangle (rotatable or AABB) and convex polygons. Provides ready events, point of contact detection, and collision layers.
  • Sprites: Ether extends the sprite pipeline of monogames, abstracts it, adapts it to ECS and enables animation with atlas.
  • Primative shapes: a simple drawing pipeline for primative shapes (rectangles, circles, and polygons).
  • Camera: controllable camera with smooth motion enabled through PID control.
  • Particle system: a flexible particle emission system enabled by ECS.
  • Entity relations: a relation system between entity, either in general form or as child-parent.
  • Tweens: a tweening system for numrical values and colors (linear, ease in quad, ease out quad, ease in out quad).
  • Random number generators (RNG): a wide variety of efficient RNG algorithms.
  • [LDTK] integration: converts LDTK levels to entities and components usable within Ether.
  • [Dear ImGui] integration.
  • Scene system, input management, timers...etc.

Packages used in this engine

  • Arch - 1.2.5
  • ImGui.NET - 1.90.8.1
  • Microsoft.Extensions.ObjectPool - 8.0.5
  • Newtonsoft.Json - 13.0.3
  • Monogame (of course) - 3.8.1.303

About

EtherEngine is a game engine extension built on top of Monogame (currently underconstruction).

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages