Back to ProjectsBalance my life
A lighthearted 2D simulation where you juggle four essential pillars of student life at SUTD.
Balance My Life — A Game About Surviving SUTD Life (Barely 😅)
Built with Python and Tkinter for 10.025 Computational Thinking for Design.
Balance My Life is a lighthearted 2D simulation where you juggle four essential pillars of student life — Social, Study, Sleep, and Food — while trying not to let any drop to zero. Every choice matters, from late-night study sessions to impromptu suppers with friends.
The game features a day-night cycle, random campus events, and increasing difficulty as the days go by — much like real life at SUTD.
Through this project, I explored game design logic, GUI development, API calls, and boundary detection, while learning how to turn code into something that feels alive and interactive.
(Spoiler: keeping all four stats above zero is harder than it looks.)
Technologies Used
Key Features
Real-time resource management with four life aspects (Social, Study, Sleep, Food)
Dynamic schedule system with mathematical probability distributions
Random event system affecting gameplay every 10-30 seconds
Progressive difficulty with faster resource depletion each day
Top-down 2D campus navigation with interactive zones
NPC characters and ambient cat for immersion
Showing 6 of 9 features
Screenshots


Challenges
Implementing balanced gameplay mechanics required careful mathematical modeling of resource depletion patterns. Created sinusoidal and Gaussian probability distributions to simulate realistic daily schedules for each life aspect. Handling event-driven state management in Tkinter while maintaining 60 FPS performance. Designing an object-oriented architecture with proper inheritance hierarchy for game entities. Balancing progressive difficulty to keep gameplay challenging without becoming impossible.
Outcome & Impact
Successfully created an engaging educational game demonstrating resource management principles and university life balance. The game features sophisticated mathematical models for schedule generation and resource depletion, providing a realistic simulation of student life challenges.
How I Grew
Mastered object-oriented design patterns in Python with proper class hierarchies and encapsulation
Learned to implement game loops with fixed time steps and frame-based updates
Developed skills in mathematical modeling using sinusoidal and Gaussian functions for probability distributions
Gained experience with Tkinter Canvas API for sprite rendering and collision detection
Improved understanding of event-driven programming and state management in games
Learned to balance game difficulty through mathematical formulas and progressive scaling