Gamedev Framework (gf) is very open to contributions. There are many ways to contribute, not just with code. The contributions are handled with the github issues of the project.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
The first thing you can do is report a bug:
- Check that your issue is not already reported. In that case, add some information on the opened issue. Just indicating that you also experienced the issue can be valuable.
- Open an issue with the bug label. Give it a clear name, not too long but precise enough so that the other users can identify the bug immediately if they experienced the same bug.
- Describe your environment as precisely as possible. This includes your system (Linux distribution, Windows, etc), the compiler you used, the versions of the libraries (SDL, FreeType) and of course, the version of Gamedev Framework.
- Tell how to reproduce the bug. This can be a simple description or a piece of code that exhibit the issue. Again, be as precise as possible.
- Be ready to test a possibly fixed version!
Documentation is an important part of Gamedev Framework. You can help here too!
- Report any ambiguous or missing documentation. Do not forget the documentation label. Understanding the needs of the users can help improve the documentation for everybody.
- Make some corrections in the current documentation. You can open an issue with a list of corrections, or use a copy of the repository and send a pull request via github or send a patch by mail to one of the authors.
Gamedev Framework is open to new features, as long as they are useful and simple enough for most people.
- Discuss the feature you want to add in an issue with the enhancement label. In particular, give the API you want to offer and a sketch of the implementation. Share your ideas and be open to proposals.
- Make sure you read the developpers' documentation. It gives some precious advice for developpers so that they can make code that integrates nicely in the existing tree.
- Code, this is generally the easy part. Always use the
develop
branch or a feature branch that branch off from thedevelop
branch. Respect the existing style. Make some unit tests if it applies. Write useful and clever comments if your code is tricky. - Make the associated documentation for your feature. This means at least a
Doxygen documentation. Make a simple example in the
examples
directory. If you can, make a tutorial to explain how to use your feature. - Do not forget to add yourself in the AUTHORS file!
- Make a pull request or send your patch by mail to one of the authors.
Once you have contributed enough and know the code quite well, you can be part of the development team. You just have to ask.