A game development project
made by Jaume Surís and Lorién Portella
The game is a 2D platformer where the player needs to reach the end of the levels by jumping, dashing, dodging enemies and… Stoping time!
This game has been made as the project requested in the game development subject, of the second year of university at the Videogame design and development of the UPC.
Team and individual work

The following lists are the part of the third delivery done by each of the team members.
- Focus System
- Interactive UI
- Labels
- Timer and score
- Player lives
- Pause menu
- Clock and Scrollbar classes
- UIElements base class
- Add elements functions
- GUI elements loaded from XML
- Pick up entity
- Web page
Main core subsystems
Previous assignments:
- Collision detection using SDL_Rect
- Physics based on a “raycast” of the entity speed
- Entity system with a parent class and childs, with the player as an entity
- Map, entity locations and types from a .tmx file.
This assignment:
- Class system for all the GUI elements, using multiparenting
- Focus feature with tab as a method to iterate all the interactive
- All the UIElements are added from gui_config.xml, more elements can be added by just changing values of the .xml (innovation)
Gameplay
Intallation
To play the game, just decompress the release zip, and execute MaidInAbyss.exe
Controls
- Movement with arrow keys.
- Jump with spacebar.
- Dash with X
- ZA WARUDO(Time Stopping) with Z. The player stops time during a certain amount of time. This ability has a 10 second cooldown.