diff --git a/docs/README.md b/docs/README.md index fb410892a2f..d334791b45b 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,24 +1,24 @@ # Documentation +If you are looking for a way to contribute to the TripleA project, please read [Contribute to TripleA](contribute.md). + It is a goal to have all TripleA documentation in the '/docs' folder. -Documentation is broadly organized by two top level folders, first -by audience, second by documentation type. +Documentation is broadly organized by two top level folders, first by audience, second by documentation type. ## Documentation Audience -**admin**: documentation useful for the project maintainers and admins. Will include -topics such as 'how to release' +**admin**: documentation useful for the project maintainers and admins. Will include topics such as 'how to release' **development**: related to coding, code design, how to build **map-making**: intended for map makers, topics around map making and XML building -**project**: general documentation around the TripleA project that describes project -process, how to contribute, how to engage, where to communicate +**project**: general documentation around the TripleA project that describes project process, how to contribute, how to +engage, where to communicate -**infrastructre**: relates to software deployment and opeations, -eg: bot setup, server setup, checking logs, checking and restarting services +**infrastructure**: relates to software deployment and operations, eg: bot setup, server setup, checking logs, checking +and restarting services ## Documentation Types diff --git a/docs/contribute.md b/docs/contribute.md new file mode 100644 index 00000000000..91031ef1d1f --- /dev/null +++ b/docs/contribute.md @@ -0,0 +1,202 @@ +# How to contribute to Triplea + +TripleA is a community project and always looking for new members to join. + +If you are interested in supporting the project, just pick a contribution role from below and find out what you can do +to help. + +## Contribution Roles + +### Overview + +- [:game_die: Player](#game_die-Player) +- [:mag: Release Tester](#game_die-Release-Tester) +- [:moneybag: Donor](#moneybag-Donor) +- [:golf: Map Maker](#golf-Map-Maker) +- [:trident: Map Admin](#trident-Map-Admin) +- [:book: Rule Expert](#book-Rule-Expert) +- [:speech_balloon: Lobby Moderator](#speech_balloon-Lobby-Moderator) +- [:bulb: Issue Manager](#bulb-Issue-Manager) +- [:wrench: Developer w/o Merge Rights](#wrench-Developer-wo-Merge-Rights) +- [:hammer: Developer with Merge Rights](#hammer-Developer-with-Merge-Rights) + +### :game_die: Player + +#### _Skillset_ + +- No requirements + +#### _Contributions_ + +- Participate in the lobby or the [forum](https://forums.triplea-game.org/) +- Test + and [report bugs](https://github.com/triplea-game/triplea/issues/new?assignees=&labels=Problem&template=problem_report.md&title=) + on GitHub + +#### _How to become one_ + +- [Download](https://triplea-game.org/) TripleA and play + +### :mag: Release Tester + +#### _Skillset_ + +- No requirements + +#### _Contributions_ + +- Especially for new releases test + and [report bugs](https://github.com/triplea-game/triplea/issues/new?assignees=&labels=Problem&template=problem_report.md&title=) + on GitHub, **BUT**: For any problems found, please check if there is the same problem in the previous release. + +#### _How to become one_ + +- Check the forum ([Development](https://forums.triplea-game.org/category/60/development)) whether release testing is ongoing +- Download & install the [latest release](https://github.com/triplea-game/triplea/releases) +- Once the game is launched, select 'settings > testing' and select the 'prerelease' lobby (note, your lobby account is not shared between 'prod' and 'prerelease') +- Test: We generally need every aspect of the game tested, i.e. every button, every menu, every setting, every game rule, etc. + +### :moneybag: Donor + +#### _Skillset_ + +- Money left in a PayPal account + +#### _Contributions_ + +- Finance the server and hosting costs of TripleA + +#### _How to become one_ + +- [Donate](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif) what you can share + +### :golf: Map Maker + +#### _Skillset_ + +- Basic knowledge of [XML](https://www.w3schools.com/XML/) +- Using a text editing tool like [Notepad++](https://notepad-plus-plus.org/downloads/) +- Graphic designer, i.e., creation of image files with advanced image editing software +- Using a raster image program like [paint.NET](https://www.getpaint.net/) or Adobe Photoshop to produce baseTiles.pngs and reliefTiles.pngs +- Use vector software like [Inkscape Project](https://inkscape.org/) to produce baseTiles.pngs or the extra image layers on top of reliefTiles.pngs +- Icon image program like [IcoFx 1.6.4](http://www.oldversion.com/windows/icofx-1-6-4) to produce units + +#### _Contributions_ + +- Update existing maps ([how-to](map-making/how-to/updating-existing-maps.md)) +- Create and upload new maps ([how-to](map-making/how-to/uploading-a-map-to-triplea.md)) + +#### _How to become one_ + +- Read the [Map Maker Guides & Documentation](https://forums.triplea-game.org/topic/2600/map-maker-guides-documentation) + and check the documentation on [map-making](map-making) + +### :trident: Map Admin + +#### _Skillset_ + +- Basic knowledge of [XML](https://www.w3schools.com/XML/) +- Graphic designer, i.e., creation of image files with advanced image editing software + +#### _Contributions_ + +- Update existing maps ([how-to](map-making/how-to/updating-existing-maps.md)) +- Organize maps (categorize, remove broken ones, etc.) + +#### _How to become one_ + +- Read the [Map Maker Guides & Documentation](https://forums.triplea-game.org/topic/2600/map-maker-guides-documentation) + and check the documentation on [map-making](map-making) +- Get in contact with an existing map admin from + the [list of map admins](https://github.com/orgs/triplea-maps/teams/mapadmins/members) + +### :book: Rule Expert + +#### _Skillset_ + +- Expert rules knowledge of some core game rules (v1-v6) + +#### _Contributions_ + +- Answer rule questions on Github and on the forum +- Report rules related bugs to Github +- Approve/Deny rules related Github issues +- Investigate deeper to allow rules compliant implementation +- Check results of rules related pull requests (resulting pre-releases) for rules compliance + +#### _How to become one_ + +- Show your expertise by answering related questions on Github or the forum, then ... +- ... be appointed by the forum admin team + +### :speech_balloon: Lobby Moderator + +#### _Skillset_ + +- Have interpersonal skills to communicate with users in a non-confrontational manner. + +#### _Contributions_ + +- Answer lobby user questions +- Help provide a fun and safe lobby experience for all users +- Discipline inappropriate user behaviour + +#### _How to become one_ + +- Be sponsored by an existing moderator and added by a [:hammer: Developer with Merge Rights](#hammer-Developer-with-Merge-Rights). + +### :bulb: Issue Manager + +#### _Skillset_ + +- GitHub account +- Basic knowledge of GitHub (Web) workflow +- Expertise on one or more of these spheres: user software support, rules, game workflow, coding + +#### _Contributions_ + +- Analyze issues regarding their validity +- Accept or deny issues +- Sort valid issues according to their priority + +#### _How to become one_ + +- Be appointed by a developer with merge rights + +### :wrench: Developer w/o Merge Rights + +#### _Skillset_ + +- Experience with object-oriented programming (preferable in Java) +- GitHub account to contribute + +#### _Contributions_ + +- Bug fixing +- Implementing new features +- Code cleaning +- Code review + +#### _How to become one_ + +- [Setup your system](https://github.com/triplea-game/triplea/tree/master/docs/development/how-to/ide-setup) and check + our [development processes](https://github.com/triplea-game/triplea/tree/master/docs/development/reference/dev-process) + +### :hammer: Developer with Merge Rights + +#### _Skillset_ + +- Extensive work as [Developer w/o merge rights](#wrench-Developer-wo-merge-rights) + +#### _Contributions_ + +- Developer coordination +- Code review +- Design decisions +- Implementing new features +- Bug fixing +- Code cleaning + +#### _How to become one_ + +- Start as [:wrench: Developer w/o Merge Rights](#wrench-Developer-wo-Merge-Rights) and gain knowledge and trust in carefully working on our project