Portfolio Project: Honey, I'm Coming!

Project Demo Video

For the best experience, ensure your browser is up-to-date.

Description

Honey, I’m Coming! is an engaging and challenging arcade-style game where players navigate a character safely across busy roads filled with fast-moving cars, wild animals, and other obstacles. Using simple arrow controls, players must make split-second decisions to dodge traffic and avoid unpredictable animal crossings, keeping the gameplay exciting and dynamic.

This game was developed as part of our 17-week capstone project for the Project Management course within the Business Information Systems program at Saskatchewan Polytechnic.

My Role & Key Contributions

  • As the Lead Programmer, I was responsible for overseeing the development process, troubleshooting issues, researching solutions, and resolving bugs. My role encompassed both technical implementation and organizational tasks to ensure smooth project progression.

  • Project Setup & Environment Configuration: Established the development environment, including local folder structures, Git branch strategies, and provided version control guidance to the team.

  • Work Breakdown Structure (WBS) & Task Delegation: Created the WBS to define project milestones and break down complex tasks into smaller, manageable components.

  • Development of Core Components: Designed and implemented background tiles and obstacle sprites, developed obstacle screens and levels, and wrote the core code for character and obstacle movement.

  • Project Asset Research & Time Estimation: Assisted the Project Lead in estimating task timelines and researching/selecting game assets (character and obstacle designs, UI elements, background music, fonts).

  • Git Control & Merging: Managed all branch merges into the main repository, ensuring team members' tasks were completed, reviewed, and tested before integration to minimize conflicts.

  • Testing & Debugging: Conducted continuous testing to identify and resolve bugs throughout the development process.

Challenges & Learning Outcomes

  • Git Control: Faced frequent merge conflicts due to multiple developers working on the same script files. Resolved this by separating game elements into dedicated files, improving change tracking and task delegation.

  • Technical Decisions (C# to GDScript Transition): Initially chose C# for Godot development based on online recommendations but encountered compatibility issues with Godot nodes and C# libraries. This necessitated a time-consuming conversion of our codebase to GDScript. This experience underscored the importance of thoroughly vetting technical recommendations and adapting approaches when necessary.

  • New Technology Learning: Overcame initial challenges related to our team's unfamiliarity with Godot's core components (nodes, sprites, tile sets, tile maps) by dedicating time to research and understanding the new syntax and engine specifics.

This project was a significant learning experience, enhancing my skills in game development, project management, team collaboration, and problem-solving in a dynamic environment.

Technologies & Tools Used

  • Game Engine: Godot Engine

  • Programming Language: GDScript (initial attempts with C#)

  • Version Control: Git

  • Project Management: WBS (Work Breakdown Structure)

  • Assets: Various sourced assets for characters, obstacles, UI, and audio