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.

Technical Highlights

Some of the main technical aspects of the game include:

  1. Full object-oriented structure with modular classes (player, enemy, map, frame manager)
  2. Java multithreading to handle timers, character animation, and game state updates
  3. Event-driven programming using `ActionListener`, `KeyListener`, and `MouseListener`
  4. Custom character selection with animated GIF previews
  5. Death counter and timer system to track gameplay performance
  6. Level-based game design with gravity, collision, and obstacle logic
Screenshot of Jump Core game

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).

Technical Highlights

Here are some of the key highlights of this project:

  1. Implemented complex data structures: Linked Lists for player data, Queues for order management.
  2. File I/O operations for saving player progress and scores.
  3. Object-oriented design with 6 interconnected classes.
  4. Selection sort algorithm for leaderboard rankings.
  5. Random order generation system
  6. Timer-based gameplay mechanics
Picture of Ramen Rush game

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

Technical Highlights

Here are some of the key highlights of this project:

  1. Built entirely in C programming language.
  2. Terminal-based user interface with text input/output.
  3. Chapter-based story progression system.
  4. Implemented turn-based combat mechanics
  5. Multiple story branches based on player decisions
Logo of Siamese Shores game

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.