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