diff --git a/docs/docs/codebase/infrastructure/toolchain.md b/docs/docs/codebase/infrastructure/toolchain.md index 47b08d21c..336f5dc14 100644 --- a/docs/docs/codebase/infrastructure/toolchain.md +++ b/docs/docs/codebase/infrastructure/toolchain.md @@ -97,3 +97,10 @@ and automatically uploads to CodeCov with our CI setup. Handles our deployment and test running. We also integrate with CodeCov for the coverage reports. + +## Documentation: MKDocs + MKDocs Material + +Our documentation is wrote with MKDocs with Material +as a theme. MKDocs Material is a beautiful theme, and +writing documentation in markdown is incredibly intuitive +(Unlike sphinx's RST, which is almost impossible to follow.) \ No newline at end of file diff --git a/docs/docs/user/games.md b/docs/docs/user/games.md new file mode 100644 index 000000000..ec2f410c1 --- /dev/null +++ b/docs/docs/user/games.md @@ -0,0 +1,65 @@ +# Games + +Tachi supports multiple games at the same time. It does +this using Games and Playtypes. + +***** + +## What's a playtype? + +A playtype is a 'sub game' for a given game. For example, +DDR has two 'playtypes', one where the player plays on 4 +panels, and one where the player plays on 8 panels. + +For DDR, these are referred to as SP and DP - corresponding +to Single Play and Double Play. + +Games **MUST** have playtypes, even if the game only has +one practical playtype! + +For this scenario, the playtype `Single` is used, so for +something like SDVX, it would be SDVX Single. + +### Why? + +Playtypes are for separating different scores on the same +game, we don't want to get a user's DP scores mixed with +their SP scores as, for all intents and purposes, they are +completely separate games that need completely different +skills! + +As for why games **MUST** have playtypes, it's generally +for futureproofing, and it works nicely with the codebase. + +For games that don't *really* have multiple playtypes, this +fact is hidden in the UI, but might still poke up in URLs. + +## What games and playtypes are supported? + +### Kamaitachi + +The following games are supported on [Kamaitachi](https://kamaitachi.xyz). + +| Name | Internal Name | Playtypes | +| :: | :: | :: | +| beatmania IIDX | `iidx` | `SP`, `DP` | +| MÚSECA | `museca` | `Single` | +| maimai | `maimai` | `Single` | +| SOUND VOLTEX | `sdvx` | `Single` | +| Dance Dance Revolution | `ddr` | `SP`, `DP` | +| CHUNITHM | `chunithm` | `Single` | +| GITADORA | `gitadora` | `Gita`, `Dora` | + +### Bokutachi + +The following games are supported on [Bokutachi](https://bokutachi.xyz). + +| Name | Internal Name | Playtypes | +| :: | :: | :: | +| BMS | `bms` | `7K`, `14K` | +| unnamed_sdvx_clone | `usc` | `Single` | + + + + + \ No newline at end of file diff --git a/docs/docs/user/overview.md b/docs/docs/user/overview.md new file mode 100644 index 000000000..73ed7554e --- /dev/null +++ b/docs/docs/user/overview.md @@ -0,0 +1,64 @@ +# About + +This part of the documentation is for end users, and can +be treated like a Wiki for Tachi information. + +As such, nothing here will require programming knowledge, +but it might help. + +***** + +## What is Tachi? + +Tachi refers to the code that powers both Kamaitachi and +Bokutachi. + +### What's Bokutachi? + +Bokutachi is an instance of Tachi designed for Home simulators, such as BMS or USC. + +### What's Kamaitachi? + +Kamaitachi is an instance of Tachi designed for Arcade +games, such as beatmania IIDX or Sound Voltex. + +### Why are they separate? + +Kamaitachi is a private score tracker, and Bokutachi is not. + +## What is the point of Tachi? + +Tachi is a score tracker and analyser for various rhythm +games. It was designed out of a dislike for existing websites +that display your scores. I think that scores are integral +to the rhythm game experience, and that displaying them +properly is *just* as important. + +The benefits of Tachi include features like [Sessions](./features/sessions.md), which break your scores up into +groups of when they were played, and [Goals](./features/goals.md) which let you set automatically updating targets for yourself! + +There are way more features that Tachi has, and you can +read about all of them [here](./features.md). + +## Do I have to be good to use Tachi? + +There's a prevailing notion that analysing scores in depth +is only for 'pro' players (or likewise). + +In reality, it doesn't matter how good you are (or aren't), +being able to see your progress and analyse your scores +in more detail will help you pick out strengths and weaknesses in your skills as a player. + +You do not need to be a 'pro' at all to benefit from +Tachi's analytics! + +## Are there rules? + +Yes. + +You should familiarise yourself with the rules before +using any variant of Tachi. + +The rules can be found [here](./rules.md). + +--8<-- "includes/abbreviations.md" \ No newline at end of file diff --git a/docs/docs/user/rules.md b/docs/docs/user/rules.md new file mode 100644 index 000000000..9540d88b0 --- /dev/null +++ b/docs/docs/user/rules.md @@ -0,0 +1,112 @@ +# Tachi Rules + +To ensure that the score tracker stays accurate, +and everyone has a nice time, Tachi enforces some +rules. + +## Be civil. + +In various places in Tachi you may write things, such +as comments on your scores, or a profile about me. + +Be civil. That means no Homophobia, Racism, and anything +else under that umbrella. Use your common sense to determine +whether something is nice or not. + +This rule also applies to the discord. Please do not insult +other members of the community or make personal attacks. + +The punishment for this ranges from warnings to permanent bans, depending on the severity. + +Generally, just be a nice person. Please! + +## You **MUST NOT** deliberately fake score submissions to Tachi. + +The punishment for this is an instant, permanent +IP ban. + +Accidentally making a mistake in score submission (somehow) +that results in invalid scores ending up on your profile +is OK, but if they repeatedly happen in your favour, you +may be warned. + +!!! warning + Cheating on Tachi is very easy. With a basic + amount of programming knowledge you could fake + scores. + + There is no anti-cheat in this regard, and this + is deliberately so. + + As such, this rule is enforced **incredibly** strictly. + + You do not get a second chance. If you fake scores, you + revoke all access to the tracker. + +## You **MUST NOT** play on invalid setups. + +Games on Tachi have specific requirements for what kind of +setups are 'legitimate'. That means that you **SHOULD NOT** +submit scores on input devices that aren't fair for +that game, such as playing pop'n on a keyboard. + +This is to keep everyone on a level playing field. + +The valid input devices are listed below. + +| Game | Devices | Justifications | +| :: | :: | :: | +| beatmania IIDX | Any Beatmania Controller or Cabinet | Keyboard is not marked as legitimate for beatmania IIDX play (such as on INFINITAS). | +| MÚSECA | Cabinet | | +| maimai | Cabinet | | +| jubeat | Cabinet & Any AC-Size Controller | | +| pop'n music | Any AC-Size Pop'n Controller or Cabinet | Keyboard is not allowed, and neither is smaller-sized pop'n controllers, as they give significant advantages (such as on lively) | +| SOUND VOLTEX | Any AC-Size SDVX Controller Or Cabinet | Keyboard is not allowed, as it is significantly different from controller play. Pocket Voltexes are not allowed either, as they are similarly different. | +| DDR | Any *reasonable* Pad | There are lots of DDR pads, as long as it has four panels and you have to step on it, it's probably fine. Keyboard play is not allowed for obvious reasons. | +| GITADORA (Dora) | Any *reasonable* Drum Kit | There are lots of drum kits. Use common-sense. Keyboard play is not allowed for obvious reasons. | +| GITADORA (Gita) | Any *reasonable* Guitar | That just means no keyboard play, really.[^1] | +| unnamed_sdvx_clone | Same as SDVX | Keyboard play is not allowed, etc. | +| BMS | Keyboard, any IIDX Controller | Keyboard play is allowed for BMS. | + +## Do not harm other people in the community. + +This rule is depressing to write, but it has to be said. + +This rule exists to make sure that the Tachi community is +filled with good people, and that bad actors do not have +a platform to be legitimised further. This rule covers +interactions **outside of Tachi**, which includes, **but is not limited to**: + +- Assault of other community members (Physical or Sexual). +- Relationships with minors (When the offender is an adult of unreasonable age). + +!!! info + This is generally disgusting to write, but there are + a lot of predators in this community (especially + concerning with a community that has a lot of children.) + + If you are a predator, Tachi has an absolutely + zero-tolerance policy on this. Your data **WILL** be forwarded to the local authorities, and you **WILL** + immediately lose all access to your account. + + If you are uncomfortable with someone in the community + for the above reasons, you may let + any member of staff know, and it will be dealt with + appropriately. + +!!! note + This rule does not mean you will be banned for: + + - Political viewpoints (Any, but being civil still applies.) + - Not liking another community member. + + While the rule of 'Be Civil' still applies, you + wont be banned for having edgy political opinions + or anything similar (even if they are completely + stupid.) + + + + + +[^1]: Gitadora AC guitars have a significantly heavier strum bar than things like Guitar Hero Guitars. I don't play Gita enough to know whether this is a fair comparison or not. If it isn't, let me know. \ No newline at end of file diff --git a/docs/docs/user/stats.md b/docs/docs/user/stats.md new file mode 100644 index 000000000..fea59a881 --- /dev/null +++ b/docs/docs/user/stats.md @@ -0,0 +1,11 @@ +# Tachi Statistics + +This page serves as a glossary for all the statistics +used in Tachi, alongside their pros and cons. + +***** + +## IIDX + +### SP + diff --git a/docs/includes/abbreviations.md b/docs/includes/abbreviations.md index a3307de1f..b26a00e27 100644 --- a/docs/includes/abbreviations.md +++ b/docs/includes/abbreviations.md @@ -1 +1,3 @@ -*[Monorepo]: When code for many different projects is stored in the same repository. \ No newline at end of file +*[Monorepo]: When code for many different projects is stored in the same repository. +*[BMS]: Be-Music Source +*[USC]: unnamed_sdvx_clone \ No newline at end of file diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 4427d22d5..24e6154b4 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -24,6 +24,12 @@ theme: nav: - Introduction: "index.md" + + - User Reference: + - "user/overview.md" + - "user/rules.md" + - "user/games.md" + - API Reference: - "api/overview.md" - "api/auth.md" @@ -67,9 +73,6 @@ nav: - "codebase/import/milestones.md" - "codebase/import/import-doc-time.md" - - - markdown_extensions: - admonition - pymdownx.highlight