Game Grumps: Joint Justice
This is the Unity Port of the Lua-based Court Engine for Game Grumps Joint Justice, the Game Grumps Phoenix Wright fan project.
Getting started
- Install the Set-Up Requirements
- Via GitHub CLI or Desktop, clone this repository to somewhere on your machine
moving forward, this location will be referred to as the [repository root]
- Launch Unity Hub - this should open up the Project tab by default
- (First Time Only)
- Click "Add"
- Select
[repository root]/unity-ggjj
and hit "Open"
- Once it appears in the Projects list, makes sure it's pulling in the correct Unity Version
- Select
unity-ggjj
to open the project
- In the "Project" tab, navigate to
/Assets/Scenes/MainMenu.unity
- Click on the "Game" tab in the main view
- Hit the play button on the top!
Set-Up Requirements
To contribute to the project, you will need to have the following tools instead (order recommended):
- Git
- Git Large File Storage (Git LFS)
- Unity Hub
- This will prompt you to create a Unity ID and select a Micrograme before it lets you launch Unity. This second step is expected to take some time.
- Unity Version 2022.3.4f1
- Click on the Unity 2022.x tab, scroll to Unity 2022.3.4f1 (LTS) and click on the green "Unity Hub" button to download
- GitHub for Desktop (optional)
- Helpful UI if you're not familiar with Git CLI
- Some IDE (optional):
Contributing
When updating code, it is mandatory to create a pull request to make sure
- the game still builds properly on all platforms on a clean setup
- tests are run successfully on a clean setup
- code adheres to this project's style guide
- changed code is reviewed by at least two other developers
It is also recommended to run all PlayMode and EditMode tests locally before creating a pull request.
Running tests locally
Running tests ensures no existing functionality is broken by a change or - if the behavior change is intended - all existing test suites are updated accordingly.
Alternatively these steps can also be used to better analyse a failed test case. While our automated deployment workflow generates callstacks of offending test cases, it sometimes may be easier to attach a debugger to the running process.
To run tests locally:
- Open the project in Unity
- Select
Window
-> General
-> Test Runner
from the top menu
- Inside the
Test Runner
-tab/-window...
- Select
PlayMode
- Click on
Run All
and ensure every test is prepended with a green checkmark (✅)
- Select
EditMode
- Click on
Run All
and ensure every test is prepended with a green checkmark (✅)
- If any tests were unable to complete successfully...
- Click on the row containing the red cross (❌)
- Inspect the log at the bottom of the
Test Runner
window and understand which assertion can no longer be made. Either...
- Change the game code to match the assertion or
- (if the test case is outdated or invalid due to the change) update the test suite to reflect the new intended behavior