First off, thanks for taking the time to contribute! The intention behind this repository is a genre-agnostic template for making multiplayer games in Godot.
To keep things running smoothly, please follow these guidelines when submitting issues or pull requests (PRs).
If you've found a bug or have a feature suggestion, please check the existing issues first to see if it's already being discussed.
When reporting a bug, please include:
- Godot version (e.g., 4.4 stable).
- Steps to reproduce the issue.
- Expected vs. actual behavior.
- If possible, a minimal reproduction project or scene.
If you have questions about how to use the template or need clarification on the codebase before starting work, please reach out via an issue.
- Keep it clean: Write clear, concise commit messages.
- One feature per PR: Keep your pull requests focused on a single issue or feature. It makes reviewing much easier.
- Fork & Branch: Fork the repository and create a new branch for your feature or bugfix.
- Use a descriptive branch name (e.g.,
username/feature-nameorfix/issue-description).
- Make Changes: Implement your changes in your new branch.
- The code is tested via GUT. Make sure you haven't broken any existing tests.
- If you add a new feature, add a new test for it.
- Update the relevant
README.mdif your changes modify existing behavior or project structure.
- Pull Request: Submit a pull request to the
mainbranch.
- This will trigger GitHub Actions to run unit tests automatically.
When submitting a pull request, please make sure that you:
- Describe your changes thoroughly and, if possible, include images or screenshots.
- Link to relevant issues (e.g.,
closes #123). - Sync your branch with
mainbefore submitting to minimize merge conflicts.
- Extensibility: Write code that is genre-agnostic. Avoid hardcoding logic only meant for 2D or 3D; instead, write components that can be extended.
- SOLID Principles: If a script does more than one thing, it's probably doing too much. Use focused, modular components.
- GDScript Style: Adhere to the official GDScript Style Guide to keep the codebase consistent.