The Beginning

The second week focused on fleshing out our game ideas, with my specific responsibility being project structure and version control. Based on my past experiences in other development fields and some guidance from the Godot documentation, I settled on the following structure:

.
├── assets
│   ├── audio
│   │   ├── effects
│   │   └── music
│   ├── fonts
│   ├── sprites
│   │   ├── characters
│   │   ├── items
│   │   └── tiles
│   └── ui
├── config
│   ├── data
│   └── settings
├── docs
├── export
│   ├── builds
│   └── logs
├── scenes
│   ├── characters
│   ├── effects
│   ├── items
│   ├── levels
│   ├── main
│   └── ui
├── scripts
│   ├── characters
│   ├── global
│   ├── items
│   ├── levels
│   ├── ui
│   └── utils
│       └── async
└── tests
    └── commits

I also set up a GitHub workflow that automatically creates a backup branch, always one commit behind the main branch. I’ve also enabled branch protection, requiring all commits to go through the dev branch first. Merging into production now requires approval from two other team members.

Since most of the team were unfamiliar with GitHub and version control, those with experience showed the others how to set it up correctly. The process went smoothly and only took about a hour. I created test\commits to ensure every member knows how to make a commit successfully.