|
| 1 | +# Contributing to Nine Realities Netcode |
| 2 | + |
| 3 | +First off, thank you for considering contributing to Nine Realities Netcode! It's people like you that make this research valuable to the game development community. |
| 4 | + |
| 5 | +## 🎯 Ways to Contribute |
| 6 | + |
| 7 | +- **Bug Reports**: Found an error in our analysis? Open an issue! |
| 8 | +- **Documentation**: Improve explanations, fix typos, add examples |
| 9 | +- **Code Examples**: Share implementations in different languages |
| 10 | +- **Research**: Add case studies, benchmarks, or new insights |
| 11 | +- **Feedback**: Share your experience using this framework |
| 12 | + |
| 13 | +## 📋 Guidelines |
| 14 | + |
| 15 | +### Code of Conduct |
| 16 | + |
| 17 | +This project adheres to a simple code of conduct: |
| 18 | +- Be respectful and inclusive |
| 19 | +- Focus on constructive technical discussion |
| 20 | +- Help maintain a welcoming environment for all contributors |
| 21 | +- Harassment, trolling, or discriminatory behavior will not be tolerated |
| 22 | + |
| 23 | +### Pull Request Process |
| 24 | + |
| 25 | +1. **Fork the repository** and create your branch from `main` |
| 26 | +2. **Make your changes** following our standards: |
| 27 | + - Keep commits atomic and well-described |
| 28 | + - Add tests if contributing code examples |
| 29 | + - Update documentation as needed |
| 30 | +3. **Test your changes** thoroughly |
| 31 | +4. **Submit a pull request** with: |
| 32 | + - Clear description of what you changed and why |
| 33 | + - Reference any related issues |
| 34 | + - Screenshots/examples if applicable |
| 35 | + |
| 36 | +### Code Standards |
| 37 | + |
| 38 | +**For Code Examples:** |
| 39 | +- Follow language-specific best practices |
| 40 | +- Include inline comments explaining netcode concepts |
| 41 | +- Add unit tests demonstrating correctness |
| 42 | +- Optimize for readability over cleverness |
| 43 | + |
| 44 | +**For Documentation:** |
| 45 | +- Use clear, concise language |
| 46 | +- Include visual diagrams where helpful |
| 47 | +- Cite sources for technical claims |
| 48 | +- Follow existing formatting style |
| 49 | + |
| 50 | +### Commit Message Format |
| 51 | + |
| 52 | +Use semantic commit messages: |
| 53 | +``` |
| 54 | +feat: Add client-side prediction example in Rust |
| 55 | +fix: Correct rollback calculation in JavaScript example |
| 56 | +docs: Improve explanation of snapshot interpolation |
| 57 | +test: Add benchmark for 100ms RTT scenario |
| 58 | +``` |
| 59 | + |
| 60 | +## 🔬 Research Contributions |
| 61 | + |
| 62 | +When contributing research or analysis: |
| 63 | +- Cite your sources |
| 64 | +- Provide evidence for claims |
| 65 | +- Explain methodology clearly |
| 66 | +- Acknowledge limitations |
| 67 | + |
| 68 | +## 🛠 Development Setup |
| 69 | + |
| 70 | +### For Documentation |
| 71 | +```bash |
| 72 | +git clone https://github.com/POWDER-RANGER/nine-realities-netcode.git |
| 73 | +cd nine-realities-netcode/docs |
| 74 | +# Open index.html in your browser |
| 75 | +``` |
| 76 | + |
| 77 | +### For Code Examples |
| 78 | +```bash |
| 79 | +cd examples |
| 80 | +# Follow language-specific setup in example README files |
| 81 | +``` |
| 82 | + |
| 83 | +## 📞 Getting Help |
| 84 | + |
| 85 | +- **Questions**: Open a Discussion |
| 86 | +- **Bugs**: Open an Issue |
| 87 | +- **Chat**: Tag @POWDER-RANGER in discussions |
| 88 | + |
| 89 | +## 📄 License |
| 90 | + |
| 91 | +By contributing, you agree that your contributions will be licensed under the MIT License. |
| 92 | + |
| 93 | +## 🙏 Recognition |
| 94 | + |
| 95 | +All contributors will be: |
| 96 | +- Listed in our CONTRIBUTORS file |
| 97 | +- Credited in release notes |
| 98 | +- Mentioned in relevant documentation |
| 99 | + |
| 100 | +--- |
| 101 | + |
| 102 | +Thank you for helping advance the understanding of multiplayer game networking! 🚀 |
0 commit comments