Skip to content

Onboarding Guide

Welcome to the Persona 3 Dual team! This guide will get you set up and oriented regardless of your role.


You need to apply & be approved to officaly join the team. Apply for the team HERE


All team members need to read the team rules document HERE


We use GitHub to track tasks and coordinate across all teams. Everyone on the project needs to join the GitHub. We use Google Drive to save large files and other assorted documents. The Team Google Drive is optional.

Steps:

  1. Apply for the team & ensure you’ve put your GitHub (& optionally your Google Email address) in the application form

Once accepted into the team, you’ll have access to the GitHub Organization, Project Board, and editing access to the Team Google Drive


The project board is how we track progress across all teams.

Project board overview

Columns:

Column Meaning
New New issue, needs to be reviewed & approved by team leads
Backlog Not yet started, no current priority
Next Milestone Targeted for the upcoming milestone
Ready Current milestone, ready to be picked up
In Progress Actively being worked on
In Review Submitted, awaiting review
Done Completed
Suspended/Blocked Paused, not actively exploring at the moment

Guidelines: If you are working on a task (which must have an associated GitHub issue), you must:

  • Drag your issue to In Progress when you start, and Done when finished.
  • Assign yourself to any issue you’re working on.
  • Comment regularly on your issue to keep the team updated on progress.
    • No comment = we don’t know whats going on, and the task will be unassigned from you
  • You can filter by label (e.g. graphics, bug, development, polish) or milestone.

Filtering by label

Want to add a new issue? Please use the Bug report or Feature request templates & add it to the New column on the project board. Once the associated team lead sees the issue & agrees, they will move it out of New.

  • Ensure that you select the correct repo. Don’t know what repo to select? Select the (default) p3d-project/persona-3-dual repo.
  • We put new issues under New for a few reasons. It alerts the team leads of new issues; We can ensure the quality of the issue; We can ensure that there isn’t a duplicate issue.

Create issue Example issue


https://github.com/p3d-project/persona-3-dual

As an overall rule, the team avoids using external libraries as much as possible. We want to build everything ourselves.

The one notably exception is the Maxmod audio library

The team uses melonDS for testing, VS Code as the development IDE, & Docker as the development environment.

You need to have melonDS, VS Code, & Docker already installed on your system.

  • Go to Config → Emu settings → Devtools
  • Ensure Enable GBD stub is checked
  • Ensure the ARM9 port is 2345 & Break on startup is checked

When debugging, ensure that melonDS is already launched

melonDS debug setup

  • Ensure that the Dev Containers extension is installed Dev Containers extension
  • Ensure that Docker is launched & running

Docker needs to be running whenever you want to code

Terminal window
git clone https://github.com/p3d-project/persona-3-dual.git
cd persona-3-dual

This project uses pre-commit to auto-format all source files before every commit. It handles C/C++ (clang-format), Python (black + ruff), and web files (prettier).

Install pre-commit:

Terminal window
# macOS
brew install pre-commit
# Windows / Linux
pip install pre-commit

Register the hooks:

Terminal window
pre-commit install

That’s it. Hooks run automatically every time you run git commit.

What happens during a commit:

The hooks reformat your staged files in-place. If any file is changed, the commit is aborted so you can review the diff. Just re-stage and commit again.

Run hooks manually (e.g. before opening a PR):

Terminal window
pre-commit run --all-files

Windows note: prettier requires Node.js. pre-commit downloads a local copy automatically the first time you run pre-commit install or pre-commit run.

Open the persona-3-dual repo in VS Code. Then, click the bottom left >< icon & select Reopen in Container

You may also see a notification on the bottom right to Reopen in Container. This method also works! Launch container If this is your first time launching the container, it may take a few minutes for Docker to install the image. Otherwise, VS Code should re-launch within a few seconds.

You are now ready to code!

Ensure melonDS is already launched & awaiting the debugger

  1. Build in debug mode (you can use the make debug task or just open a terminal inside the container and run make DEBUG=1)
  2. In VS Code, go to the Run and Debug tab on the left panel, and select [Docker] (gdb) Connect to melonDS VS Code debug tab

You are now ready to debug!


https://github.com/p3d-project/p3d-website The website is an Astro project.

The team uses VS Code as the development IDE, & Node.js.

You need to have Node.js, & VS Code already installed on your system.

Terminal window
git clone https://github.com/p3d-project/p3d-website.git
cd p3d-website
Terminal window
npm install
Terminal window
npm run dev

The site will be available at http://localhost:4321 by default.

Terminal window
npm run build

You are now ready to code!


  • Upload all completed assets and their editable source files to the Team Google Drive Graphics Folder.
  • Track your work on the project board. Move issues through the columns as you progress.
  • When uploading assets and closing an issue, leave a comment on the related issue with a link to the Drive folder, and upload viewable images to the issue.

  • Upload all completed assets and their editable source files to the Team Google Drive UX/UI Folder.
  • Track your work on the project board. Move issues through the columns as you progress.
  • When uploading assets and closing an issue, leave a comment on the related issue with a link to the Drive folder, and upload viewable images to the issue.

  • Upload all completed assets and their editable source files to the Team Google Drive 3D Folder.
  • Track your work on the project board. Move issues through the columns as you progress.
  • When uploading assets and closing an issue, leave a comment on the related issue with a link to the Drive folder, and upload viewable images to the issue.

  • Upload all completed assets and their editable source files to the Team Google Drive Music Folder.
  • Track your work on the project board. Move issues through the columns as you progress.
  • When uploading assets and closing an issue, leave a comment on the related issue with a link to the Drive folder, and upload viewable images to the issue.

  • Upload all completed assets and their editable source files to the Team Google Drive Video Folder.
  • Track your work on the project board. Move issues through the columns as you progress.
  • When uploading assets and closing an issue, leave a comment on the related issue with a link to the Drive folder, and upload viewable images to the issue.

Questions? Reach out on Discord.