👍🎉 First off, thanks for taking the time to contribute! 🎉👍
The following is a set of guidelines for contributing to Beyond Genesis Client MMORPG, which are hosted in the UPB - Graphics Organization on GitHub. These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.
All the communication, messages, commits and other information should be in English
Beyond Genesis Client can be developed locally. You need Unity 3D and a code IDE (we typically use VS Code or Visual Studio). You can use pull request in order to fix issues, make improvements or add new functionality. If you wish to contribute often, try keeping your fork up to date.
The process described here has several goals:
- Maintain quality
- Fix problems that are important to users
- Engage the community in working toward the best possible game
- Enable a sustainable system for maintainers to review contributions
Please follow these steps to have your contribution considered by the maintainers.
-
Clearly identify the the issue that you want to contribute on. To contribute an enhancement that isn't covered by one of the existing issues, please follow our guide for suggesting a new feature
-
Code your contribution in the right place:
- Are you adding or changing a dev feature ? Create a new branch for each feature (use feature-feature-name as branch name template) and use the _DEV folder and group features as subfolders. Each feature/functionality must have a test scene attached with a fully working and testable implementation.
- Are you fixing a bug or improving main files ? Create a new branch for each fix and be sure to also update and test the demo scenes if necessary.
-
Create or update a test/demo scene for the contribution
-
In your PR complete the following information
- Link to the issue that your change relates to
- Description of the Change: We must be able to understand the design of your change from this description. If we can't get a good idea of what the code will be doing from the description here, the pull request may be closed at the maintainers' discretion. Keep in mind that the maintainer reviewing this PR may not be familiar with or have worked with the code here recently, so please walk us through the concepts. If possible, explain what other alternates were considered and why the proposed version was selected. What are the possible side-effects or negative impacts of the code change?
- Release Notes: Please describe the changes in a single line that explains this improvement in terms that a user can understand. This text will be used in the game's release notes.
-
Follow the styleguides
-
Submit your pull request
While the prerequisites above must be satisfied prior to having your pull request reviewed, the reviewer(s) may ask you to complete additional design work, tests, or other changes before your pull request can be ultimately accepted.
Before creating enhancement suggestions, please check the current issue list or discussion boards as you might find out that you don't need to create one. When you are creating an enhancement/new feature suggestion, please include as many details as possible.
If nothing there you can start getting feedback or polish the ideea using the Discussion boards.
Enhancement suggestions are tracked as GitHub issues. After you've determined which repository your enhancement suggestion is related to, create an issue on that repository and provide the following information:
- Use a clear and descriptive title for the issue to identify the suggestion.
- Provide a step-by-step description of the suggested enhancement in as many details as possible.
- Provide specific examples to demonstrate the steps. You can use articles, videos & other documentation, including code.
- Describe the current behavior and explain which behavior you expected to see instead and why.
- Include screenshots and animated GIFs if possible to better demonstrate the functionality
- Explain why this enhancement would be useful or nice to have
- Use the present tense ("Add feature" not "Added feature")
- Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
- Limit the first line to 72 characters or less
- Reference issues and pull requests liberally after the first line
- Use Markdown.