Skip to content

Latest commit

 

History

History
31 lines (20 loc) · 3.75 KB

File metadata and controls

31 lines (20 loc) · 3.75 KB

Contributing to YARG

If you'd like to contribute to YARG, you're in the right place! Whether you are an artist or a programmer, your addition to YARG matters.

That being said, there are guidelines you have to follow which will be outlined in this document. If a guideline is broken in your contribution, it may not be accepted by maintainers.

Organization

To stay organized, please join our Discord here, this will allow contributors to talk about ideas, or get help with the codebase. This is especially useful for artists, as they may not have to deal with GitHub if they are not familiar with it. It's recommended that you ask there before working on a new feature, in case someone is already working on a feature/change, or there's a reason why we haven't implemented it.

A basic todo list can be accessed here, which has important/major features for upcoming update(s). If you don't know what to work on, looking here is a good start! However, if you want to change or add something that isn't there, feel free to do so as well.

General Guidelines

  1. All PR's must be based on the dev branch. PRs based on the master branch will not be accepted.
  2. All content/assets MUST be originally made, have proper licensing, or be public domain. NO RIPPING ASSETS FROM OTHER GAMES. Your PR will immediately be denied.
  3. If you add source code from other libraries, or just add other libraries, please check if the liceneses are compatible. If they are not, your PR will also be denied.
  4. Please try to follow code styling. Most IDEs should be able to detect it from the .editorconfig file.

Feature Categorization

New features and additions to YARG can be organized in one of six categories, please read below to see if what you plan to add is a fit for the game. If you're confused on what category a feature may fall into, feel free to ask in the Discord server!

In-Development: Features that are either in active development, or imminently planned within the next couple of stable releases. Largely thought-out and designed already, barring any surprises. Do not submit a PR for these (without prior coordination); we're on it already!

Planned: Features that we intend to be added long-term, in a vague someday state. Design may already be well-formed, be "we'll figure it out when we get to it", or anywhere in-between. Examples include Pro Guitar, 6-Fret Guitar, and Career Mode. PRs are welcome if you want to beat us to the punch!

Stretch Goal: Features that are on our mind as a bit of a pipe dream for the distant future. Not thoroughly designed yet, and not guaranteed that it ever will be. Examples include DJ, Realtone Support, and Dance. PRs are discouraged since we want to give stretch goal features more thought, but you're welcome to experiment and share your progress! Large progress on a stretch goal may promote it to a higher tier.

Eligible: Features that we don't intend to ever implement ourselves, but which we're still open to if someone wants to take the time. Examples include Automatic LDs, Band Moments, and Power Gig Guitar mode. PRs are welcome!

Problematic: Features we don't intend to implement because they may have big, headachey impacts on the rest of the game. Not strictly forbidden, but very unlikely to work in practice. Examples include Freestyle Guitar/Vox and Vocal Phoneme Detection. PRs are heavily discouraged, but if you can really pull it off, we won't rule anything out!

Out of Scope: Something we have explicitly ruled out from ever being a part of YARG. Examples include Lift notes, Hi-Hat support on 4L/Pro Drums, and CON Decryption. Do NOT PR these features. Your PR will immediately be denied.