6. Process

The development of Capoo adopted an agile methodology, allowing us to iterate quickly, validate ideas early, and adjust to challenges throughout the project. As a six-member team with diverse skillsets, we collaborated effectively using well-defined roles, flexible planning, and regular communication. This section outlines our workflow, tools, collaboration strategies, and reflections on key outcomes.


6.1 Teamwork and Agile Practices

At the start, our requirements were still evolving. Agile’s incremental development cycle suited our needs perfectly, allowing us to break the project into small, manageable units. Each sprint focused on delivering working features—such as camera movement, physics logic, or puzzle modules—that were tested and refined immediately.

We followed core Agile practices:

  • Weekly sprint planning to define scope and distribute tasks.
  • Asynchronous stand-ups on Microsoft Teams to check progress.
  • Sprint reviews with playable builds shared for feedback.
  • Retrospectives every Friday to reflect on pain points and improvements.

Rather than striving for perfection upfront, we emphasized continuous improvement. Working code was prioritized in each sprint, enabling us to gather regular feedback from teammates and testers. This helped identify issues like unclear UI or imbalanced difficulty early, which we could adjust in subsequent iterations.


6.2 Collaboration Tools and Workflow

We used a focused set of tools to streamline collaboration:

  • GitHub Kanban Board: Task tracking with columns for “To Do,” “In Progress,” “In Review,” and “Done.” This visual workflow kept everyone aligned and made progress transparent.
  • P5.js: The core development engine, used for implementing physics, UI, and gameplay.
  • Git + GitHub: Version control with feature branches, pull requests, and code reviews.
  • Visual Studio Code: Shared development environment across the team.
  • Microsoft Teams: Central platform for discussion, stand-ups, and file sharing.
  • Google Forms + Excel: Evaluation data collection and analysis (NASA TLX, SUS).
  • Miro: Used during early ideation for wireframes and stakeholder modeling.

During development, we maintained stable code by enforcing pull request reviews and consistent branch naming. Members created feature branches, submitted pull requests after testing, and waited for peer review before merging. This process reduced bugs and ensured everyone stayed aware of changes.


6.3 Role Distribution

Each member took on a primary role while remaining flexible to support other tasks as needed:

NameRoleResponsibilities
Shuyin DengProject ManagerReport / Tracking project progress / Task allocation
Jiaxin FanTechnical WriterDocumentation/Evaluations/video
Peixuan LiDeveloperEarly stage prototype / Physics and collision / Main logic implementation
Yibu MaDeveloperOOP refactor / Spine model integration / Documentation website
Yu QiuDeveloperPlayer Interaction / Performance Optimization / Main logic implementation
Jiahao LiuTest EngineerUI design / Map design / Testing

Cross-role contributions were encouraged—for example, developers helped with writing and testing, while testers participated in prototype evaluations and level design discussions.


6.4 Highlights and Lessons Learned

  • Fast Feedback Loops: In-editor playtests and quick builds allowed us to validate gameplay ideas within hours. This significantly improved iteration speed and creativity.

  • Test-Driven Debugging: Having a dedicated test engineer helped identify issues early, improving overall build stability.

  • Asynchronous Coordination: By relying on GitHub comments and Kanban updates, we avoided bottlenecks despite having different schedules.

  • Merge Conflicts & Overlaps: Early on, lack of communication led to Git merge conflicts. We solved this by increasing pull request discipline and documenting changes clearly.

  • Task Estimation Challenges: Some complex systems (e.g., modular puzzle logic) required more time than expected. We learned to plan buffer time and refine story-point estimation.


6.5 Reflection and Future Plans

The agile workflow enabled us to adapt quickly as we learned more about the game’s needs. We found that maintaining working features at all times, writing clean and commented code, and using a consistent branching model allowed for a sustainable and efficient development pace.