Week #4 #
Testing and QA #
To ensure quality and stability, we implemented automated Edit Mode tests covering key gameplay interactions and dialogue logic using the Unity Test Framework with NUnit.
Our testing approach includes:
- Unit tests for backend logic (e.g., destination setting in the ClickToMove component).
- Integration-like tests for UI and dialogue components (ClickableChoiceNPC, ClickableNPC) written in EditMode using UnityTest and coroutines.
- Although written in Edit Mode, some tests simulate runtime behavior such as player interaction with NPCs and dialogue state changes.
We focused on:
- Core user interaction logic
- NPC dialogue flow and feedback
- UI state updates based on input
We grouped all tests under the EditMode folder for simplicity and CI integration. No PlayMode folder was used at this stage, though test logic simulates in-game behavior using coroutines and Unity APIs.
Evidence of test execution #
We configured GitHub Actions to automatically run Edit tests on every push to main. This ensures immediate feedback on regressions.
For know its covered most core functionallity implemented parts of the game.
Evidence includes:
- Console output confirming test case execution and results
- CI test passed or not
CI/CD #
We used GitHub Actions to implement a Continuous Integration (CI) pipeline that automatically builds and tests the Unity project upon each push or pull request.
CI (Continuous Integration)
Tool: GameCI
Jobs:
- Install Unity via game-ci/unity-installer
- Run tests via game-ci/unity-test-runner
- Shows the output
- Triggers: push to main branch
During the creating test we faced many issues, most of them with pipeline and unity licence activation. Then with tests and showing it. It was hard without hard knowledges in unity and ci.
Also we asked for help for another team and thanks them for help, also they suggested us to add password and email to the pipeline, which help to solve problem with licence
🎯 CD (Continuous Deployment)
We are preparing to deploy the project as a WebGL build to GitHub Pages.
But also faced many issues and decided to stop this week on partially manualy deploy (will be fixed next week).
Links to CI/CD configuration files #
Deployment #
For now we have a manual deploy by using gh-pages, becuase we had a lot of issues with github actions and with leak of knowledge is hard.
The pipeline for now is following:
- Build new WebGL folder from Unity
- Push it manually into branch gh-pages
- Get the web verison of the game on ph-pages
Vibe Check #
We expressed everything from vibe check meet in note below. If summarize - everything is okay, just keep going, try do our best, finish tasks fitted in deadlines and not burn out. Because of leakage of time the most part of team feel stressful, but our PM tried their best to balances the load on people to reduce it, however in some cases it is unavoidable.
Weekly commitments #
Individual contribution of each participant #
Marina Lavrova(Lead) - organized work and 2 team meets, including team vibe check, help with solving problem of broken project, ci/ci pipeline and communicate with other teams for help, support team during difficulties and trim backlog to prioritize tasks
Merkulov Leonid - Fix bugs noticed in first location, upload 2nd location to Unity and implement first part of interactions(Student and professor Shilov without 3d models), add unit tests and ci/cd pipline with deploy. all commits are here
Ivan Makarov - trained a model more, add a connection of model to Unity
Tarubarova Nadia - created 3D model of 2nd location, fixed texts
Pokhodyaeva Polina - сreated sprites for the 108 auditorium, created sprites for background for the 2nd location, collected fonts and fixed text sprites
Plan for Next Week #
- Create prototypes for characters on the second location
- Create a characters for the second location
- Fix 2nd location 3D model and update in Unity
- Create sprites for vending mashine
- Implement the second part of interactions in the second location
- Provide QA session with feedback
- Finalize training a model
- Add chat with ML model to the information desk(without design)
- Find soundtracks and sound effects
Confirmation of the code’s operability #
We confirm that the code in the main branch:
- [✓] In working condition.
- [✓] Run via docker-compose (or another alternative described in the
README.md
).