MAMENgine

September, 2022 - Today

C++, OpenGL

A custom videogames engine built in C++ from scratch using OpenGL

Made By

Carmen Martín Moreno

Mario Rodríguez Chaves

MAMEngine is a custom Videogames Engine developed in C++ that uses OpenGL as its graphics library. It is an engine built from scratch where all architecture have been designed and developed by Mario Rodríguez Chaves and myself.

It is a project currently in development, so this page will be modified periodically with the new updates.

What I Did

  • Abstraction of the OpenGL graphics library.
  • Design and implementation of the Entity-Component-System architecture under the RAII philosophy.
  • Design and implementation of the draw loop of the engine.
  • Implementation of the lighting system and shaders.
  • Development of forward and deferred rendering.
  • Shadow calculation with Shadow Mapping.
  • Improved realism using Normal Mapping.

Features

  • Graphic core for the Engine that abstracts the use of the basic OpenGL objects.
  • Use of the RAII design pattern to ensure and optimized use of resources and memory.
  • Entity-Component-System architecture used to create objects in game.
  • Lighting system using the Phong model with forward or deferred rendering.
  • Graphic interface using DearImGui to facilitate the use of the Engine.
  • Dependencies with libraries to load images, load meshes, play audio, implement unitary tests.

The repository of this project is private but code snippets may be given to anyone interested in its implementation. Contact me for more information.