OpenTaiko Documentation

repository·main·Indexed 20 days ago

https://github.com/0aubsq/opentaiko

A highly customizable Taiko-style rhythm game engine and spiritual successor to TJAPlayer3. Documentation covers TJA file extensions including new note types (A, B, C, F, G), tower settings, and Dan/Extra Exam criteria. It also provides technical guidance on implementing modal lifecycle methods via Lua using registerNewModal(), configuring SimpleStyle skin fonts, and managing assets through the OpenTaiko Hub.

Tokens
3.7K
Snippets
7
Records
28
Agent score
65%

What's inside OpenTaiko

  1. Overview of OpenTaiko

    main
    OpenTaiko is a rhythm game software that serves as the spiritual successor to TJAPlayer3-Develop-BSQ. It aims to provide diverse ways to play Taiko, enhance skin customization, and optimize the overall user experience. It is not intended to be a precise replica of commercial games.
  2. Guidelines for modifying and redistributing OpenTaiko

    main

    OpenTaiko is licensed under the MIT License. You are free to modify and redistribute the software, provided you follow these rules:

    1. Self-Responsibility: All modifications and redistributions are done at your own risk.
    2. License Compliance: Due to the licenses of the libraries used, you must include the Licenses folder in any modified or redistributed version.
    3. Third-Party Assets: If you include external skins or chart (譜面) packages, you must adhere to the specific rules and terms set by those respective creators. The OpenTaiko license does not apply to these external assets.
  3. License and redistribution rules

    main

    OpenTaiko is licensed under the MIT license.

    • Edits and Secondary Distribution: You are allowed to make edits or redistribute the software, but you do so at your own responsibility.
    • Required Files: When editing or redistributing, you must include the License folder associated with the libraries used.
    • Third-Party Assets: Always follow the specific creators' licenses and rules for skins or song packages. The OpenTaiko license does not cover third-party assets.
  4. Licensing for OpenTaiko Original Soundtrack usage

    main

    Songs within the OpenTaiko Chapter (excluding those with specific licenses) have non-exclusive licenses.

    Permitted Uses:

    • OpenTaiko streamings on services like Twitch, YouTube, etc.
    • OpenTaiko gameplay videos on services like YouTube, Dailymotion, etc.
    • OpenTaiko related videos on services like YouTube, Dailymotion, etc.

    Important Restrictions:

    • Composers retain rights to their songs. For any use case other than those listed above, you must obtain explicit authorization from the composer or secure an appropriate license.
    • If you wish to support a composer, use the links provided in the credits section of the project.
  5. Important usage precautions for OpenTaiko

    main

    Disclaimer

    Use OpenTaiko at your own risk. The developers do not provide support for skins or derivative builds that violate copyright laws.

    Troubleshooting and Resources

    Before asking questions, please consult the following resources:

    Hardware Requirements

    For a comfortable experience, ensure your PC can maintain a constant 60fps. Performance may be poor on hardware unable to meet this requirement.

    Version Support

    Support is only provided for the specific versions released. Using other versions is at your own risk.

  6. Submitting feature requests and proposals

    main

    If you have a request for a special feature implementation, please contact the team via Discord.

    Note on UI/UX Proposals: Proposals requesting that UI or UX elements be implemented to look or feel like the original game (本家) will generally be rejected.

  7. How to report issues and crashes

    main

    When posting an issue, you must include the following information to ensure it can be addressed:

    1. Release Version: Specify which version of OpenTaiko you are using.
    2. Recreation Steps: Provide clear steps to reproduce the issue.
    3. Crash Logs: If the software crashes, you must attach the TJAPlayer3.log file.

    Note: Ensure your posts comply with Japan and France copyright laws.

    Feature Requests: Contact the team via Discord before requesting features. Note that requests to "recreate UI/UX as per [Commercial Game Name]" will be denied.

  8. How to report Issues and Pull Requests

    main

    When submitting an Issue or Pull Request, please adhere to the following requirements:

    • Copyright Compliance: Ensure all content follows French and Japanese copyright regulations.
    • Required Information: You must state the release version and the steps to reproduce the issue.
    • Crash Reports: If reporting a crash, you must attach the contents of OpenTaiko.log.
    • Language Translations: If you wish to add translations for the CLang language, please contact the team via Discord in advance.
  9. Use Tower-related additional commands in TJA files

    main

    You can control life mechanics and visual tower skins within a TJA (chart) file using the following commands:

    • LIFE <number>: Sets the starting life value. The default is 5. Each note miss reduces life by 1. When life decreases, a 2-second invincibility period is triggered.
    • TOWERTYPE <number>: Changes the skin used during gameplay (from 5_Game\20_Tower\Tower_Floors) and the result screen skin (from 8_TowerResult\Tower). The default is 0.
    LIFE 5
    TOWERTYPE 1
  10. Implement Modal lifecycle methods

    main

    When customizing Modals via Lua, you can implement several lifecycle methods to control resource allocation, logic updates, and rendering:

    • loadAssets(): Perform all resource allocation here. This is called at launch and during every skin reload.
    • update(): The regular update loop (e.g., for incrementing time counters). This runs before draw().
    • draw(): Used for rendering displayables. This runs during each result screen Draw() iteration.
    • isAnimationFinished(): Returns a bool. If true, the current modal animation is complete, allowing the user to press 'Enter' to move to the next modal or return to the song select screen.