Team's workflow - PolskiPolakPL/scream-roulette-2025-game GitHub Wiki
GitHub
Branches
The image above represents the branch layout of this repository. Each branch and their purpose are listed below:
- main - The main branch of the repository. There is stored 'finished' product of our collaborative work. It's often used for releases and emergency backups. No one should work directly on it and make commits. Also, no other branches than 'Test' and 'preparation-backup' should be directly connected into this branch.
- Test - Is the 'pre-main' branch that serves as a testing field for finding bugs and dealing with merge conflicts before merging it into the 'main' branch. Commiting on this branch is also prohibited. However, in an emergency we may create a temporart branch for bug fixes.
- Developers/Artists - A group branches that not only keeps everything in order but also works simlar to 'Test' at the level of a given group.
- Dev-name/Art-name - A branch with group's prefix and the developer's name. This branch is assigned to a particular developer and only that developer may work on this branch. Also 'owner' of this branch can create branches from that branch if needed. This is very recomended.
- Asset-Dump - A branch created especially for artists to 'dump' and test assets from third party sources. Do NOT merge anything with this branch.
TL;DR Table
branch's name | May Commit | May branch out | May Merge into |
---|---|---|---|
main | NO | NO | FROM TEST |
Test | NO | EMERGENCY ONLY | Artists/Developers ONLY |
Developers/Artists | NO | EMERGENCY ONLY | YES |
Dev/Art-name | YES | YES | YES |
Asset Dump | YES | NO | NO |
Commits & Pull Requests
Unity
Hierarchy
Image above represents a hierarchy structure of the project in Unity. Objects are grouped by categories shown in the image each separated with dotted lines. Do NOT change their Transform
values or attach any components/scripts. Each object that belongs to their respective category should become their child. The descriptions of the categories are listed below:
- Setup - Basic setup objects like: lighting, camera, player, etc.
- Systems - Holder for any more advanced systems created by developers. (ex.: InputSystem, InteracrionSystem)
- Managers - Contains any managers like for example 'GameManager'
- UI/Canvases - Contains Canvases and UI related objects.
- Events - For objects that have public Events attached as their primary use.
- Environments - Any other object that create the scene. Most models and prefabs will go right there.
- Temporary - Objects that are there for development purposes only and should be removed before building the game.
Creating new Scene
In order to create new scene with all basic setup prepared, you may follow these steps below.
-
In upper left nvaigation panel go to
File > New Scene
or press Ctrl+N.\
-
From 'New Scene' window select 'Default Scene' and click 'Create'.
\
-
On the new scene, press Ctrl+S Make sure you save it in 'Scenes' folder
\