GymLife
A slightly silly 2D Java game about training hard without running your character into the ground
The game
GymLife started as a way to build a complete game without leaning on a game engine. The goal is to grow your character's legs, chest, and back while keeping enough energy and good humour to continue. Push one stat too far and the rest of the day gets harder.
How it plays
- Stat Balancing: Manage Stamina, Humor, and Muscle Mass.
- Resource Management: Earn money via minigames to afford food and gym access.
- Training System: Diverse workout routines targeting specific muscle groups.
- Inventory: Store and manage food and supplements.
Project context
This project was developed for the Object-Oriented Programming course at the University of Bologna. We split the work across the team, wrote the game logic in Java, and learned quickly which abstractions helped and which ones only looked tidy on a diagram.
How we built it
- MVC (Model-View-Controller) architecture
- Extensive JUnit testing for game balance
- Gradle for dependency and build management
Other bits we added
The main loop needed a few distractions so that earning money and training did not feel like updating a spreadsheet:
- Action-based minigames for income
- Varied gym equipment with unique mechanics
- Progressive difficulty and goal tracking
Built with
Language: Java.
Architecture: MVC.
Testing: JUnit.
Build Tool: Gradle.
Link repo: GitHub





