MUIC Dev Vault
Final Programming Project Showcase
MUIC Dev Vault is where I keep milestones in my programming journey at MUIC, showcasing problem-solving skills, technical growth, and creative thinking.
EGCI213
Programming Paradigm
"Jump Core" is my first 2D platformer game developed purely in Java using Java Swing components. It focuses on extreme parkour mechanics where players navigate deadly obstacles to reach the goal.
- Programming Language: Java (Swing)
- Key Features: Real-time 2D parkour gameplay, gravity-based mechanics, animated character skins
- Objective: Players must overcome challenging levels that reward precision, patience, and perseverance
- Repository: GitHub Repository Link
Technical Highlights
Some of the main technical aspects of the game include:
- Full object-oriented structure with modular classes (player, enemy, map, frame manager)
- Java multithreading to handle timers, character animation, and game state updates
- Event-driven programming using `ActionListener`, `KeyListener`, and `MouseListener`
- Custom character selection with animated GIF previews
- Death counter and timer system to track gameplay performance
- Level-based game design with gravity, collision, and obstacle logic
My Role
I was the sole developer and designer of this game, responsible for everything from UI design to game mechanics and logic implementation. This project helped me push the boundaries of my Java knowledge by applying theory into a playable, polished product.
What I Learned
Through this project, I gained hands-on experience in object-oriented programming, game loop design, and event handling. I also learned how to synchronize multiple threads and design a user-friendly GUI. Compared to earlier projects, this one pushed me to manage complexity across multiple classes and game states, and to write more reusable, readable code.
EGCI211
Advance Computer Programming
"Noodle Rush" is a game developed by aligns with SDGs 2 (Zero Hunger) and 12 (Responsible Consumption).
- Programming Language Used: C++
- Key Features: text-based restaurant management game.
- Objective: Players operate a noodle shop for 7 days, taking custom orders, managing ingredients, and handling payments while avoiding food waste.
- Respository: GitHub Respository Link
Technical Highlights
Here are some of the key highlights of this project:
- Implemented complex data structures: Linked Lists for player data, Queues for order management.
- File I/O operations for saving player progress and scores.
- Object-oriented design with 6 interconnected classes.
- Selection sort algorithm for leaderboard rankings.
- Random order generation system
- Timer-based gameplay mechanics
My Role
In this project, I served as a lead developer alongside Theresa, focusing on core game implementation. Additionally, I took on the responsibility of debugging code across the team, ensuring smooth functionality and resolving technical issues as they arose.
What I Learned
I strengthened my understanding of object-oriented programming principles and data structures. Working with linked lists and queues in a practical application deepened my knowledge beyond basic concepts. The project also enhanced my skills in file handling, algorithm implementation, and collaborative development using Git. Compared to my first programming project, this one challenged me to think more systematically about code organization and class relationships.
EGCI113
Fundamental Computer Programming
"Siamese Shores: Seafarer's Saga" is a terminal-based adventure game developed as a final project for MUIC's fundamental programming course. The game features
- Programming Language Used: C
- Key Features: text-based storytelling, puzzle-solving mechanics, and a turn-based combat system.
- Objective: Players navigate through chapters filled with maritime adventures, making choices that influence the story's progression.
- Respository: GitHub Respository Link
Technical Highlights
Here are some of the key highlights of this project:
- Built entirely in C programming language.
- Terminal-based user interface with text input/output.
- Chapter-based story progression system.
- Implemented turn-based combat mechanics
- Multiple story branches based on player decisions
My Role
In this project, I served as a lead developer alongside Theresa, focusing on core game implementation. Additionally, I took on the responsibility of debugging code across the team, ensuring smooth functionality and resolving technical issues as they arose.
What I Learned
Through this project, I gained hands-on experience with fundamental programming concepts like functions and loops, while learning to work effectively in a team environment. Creating a text-based game helped me understand how to structure code, manage user interactions, and implement game logic. Most importantly, it showed me how classroom concepts translate into building an actual working application.