Final Project for Videogames Design and Development Degree made by me alone.
A lightweight 2D game engine designed for simplicity, performance and user experience in modern game development.

Overview

ManLite is a modular 2D game engine developed as the capstone project for my Videogames Design and Development degree. Built with C++20 and OpenGL 3.3, it focuses on providing essential game development components while maintaining a clean, easy-to-extend architecture.

Features

- Cross-platform Rendering: OpenGL-based rendering system
- Dynamic Lighting: Point lights, directional lights, and ambient control
- Particle System: Configurable emitters with physics integration
- Tilemap Editor: Built-in editor with Tiled (in .json format) import and collision layer support
- Entity Component System (ECS): Modern entity management
- Asset Pipeline: Texture/Shader loading with hot-reloading
- Input System: Multi-platform input handling (Keyboard/Mouse)
- Physics: Basic collision detection and resolution
- Audio System: WAV/OGG playback with spatial support
- Scene Management: Hierarchical scene transitions
- Customizable UI: UI system
- Animation System: Sprite sheet animations

Documentation

Explore our growing documentation:
- Engine Architecture
- Engine Documentation
- Usable Scripts
- Tutorial Series

License

Distributed under the MIT License. See LICENSE for more information.

Prototypes

In order to showcase what kind of games can be done using ManLite there has been developed 3 prototypes:

Pong

Isaac Recreation

Dark Forest

Academic Context

Developed as the final project for the Videogames Design and Development degree at Centre de la Imatge i Tecnologia Multimèdia ( CITM ) - Universitat Politècnica de Catalunya ( UPC ), demonstrating comprehensive understanding of:

- Game engine architecture
- Computer graphics fundamentals
- Software design patterns
- Performance optimization
- Cross-platform development
- User Experience

Contact

Author: Luis González Ramírez
Email: lluis.gora@gmail.com
LinkedIn: in/lluis-gonzalez-ramirez
Portfolio: My Portfolio Website