No description
Find a file
nyuwaea 1e0f95a8e6
0.1.1 (#27)
* default viewport size 1280x720

* remove menu background tileholder

* menu background zindex fix

* fix: map preview upside down

* MapParser stuff

* import non-phxm on startup

* feat/fix: BaseScene AddSpaceAsChild

avoids using a separate viewport and camera at all times for spaces

* default viewport size 1280x720

* remove menu background tileholder

* menu background zindex fix

* feat/fix: BaseScene AddSpaceAsChild

avoids using a separate viewport and camera at all times for spaces

* Spin Correction + Absolute Mode Correction (#17)

* spin parallax

* spin now fixed

* ABSOLUTE MODE!!!

* Polish up

* bla

* tiniest commit ever

* Fix: esc toggles goes to menu when closing settings

* Delete Rhythia.csproj.old.2

* versioning

* Space fixes (& Godot 4.6.1) (#20)

* fix: hide legacy spin modifier icon in gameplay

* disable waves glow

* fix: inconsistent space mapcover colors

* 26feb20 -> 26feb21

* add people to credits

* Revert "versioning"

This reverts commit c31782db77.

* docs: update to the README.md file! (#19)

* cake is fine :p (#21)

* Fixing Focus in Menus (#22)

* initial

* initial

* Revert "initial"

This reverts commit 99d44c378c.

* initial (#23)

* Add support for other image file types other than .png (#25)

* initial

* helper func in Misc.cs for Map, MapCache, and Results for Covers

* Display FPS setting + fixes (0.1.1 candidate) (#26)

* versioning

* add snuz to credits

* changelog

* move fps label to main scene

* minor cleanup

* feat: display FPS setting

* fpscounter fixes

* fix fullscreen on startup

pass init arg through settingsitem updateaction

* disable window per-pixel transparency

---------

Co-authored-by: kiwie <45514372+David20122@users.noreply.github.com>
Co-authored-by: fogsaturate <57604850+fogsaturate@users.noreply.github.com>
Co-authored-by: cake <truecakes17@gmail.com>
Co-authored-by: cake <164044366+cachedcake@users.noreply.github.com>
Co-authored-by: lulusuki <89112928+lulusuki@users.noreply.github.com>
Co-authored-by: snuz <98119281+snuziii@users.noreply.github.com>
2026-02-22 20:04:36 -05:00
addons/ffmpeg a bit too little song volume lol 2026-02-03 03:59:53 -05:00
fonts wip: refactor setup 2025-11-05 06:12:55 +09:00
meshes skinning restructure 2026-01-28 00:30:22 -05:00
prefabs 0.1.1 (#27) 2026-02-22 20:04:36 -05:00
scenes 0.1.1 (#27) 2026-02-22 20:04:36 -05:00
scripts 0.1.1 (#27) 2026-02-22 20:04:36 -05:00
sounds remove possibly copyrighted assets & fix icon 2025-11-10 19:00:51 -05:00
textures Jarvis, enhance. 2026-02-02 00:46:40 -05:00
themes more ui improvements 2026-01-26 21:48:41 -05:00
user Merge https://www.github.com/Rhythia/Client 2026-02-04 05:26:57 -05:00
.editorconfig wip: refactor setup 2025-11-05 06:12:55 +09:00
.gitattributes Late Initial Commit 2024-08-06 00:31:50 -04:00
.gitignore gitignore ffmpeg debug dll 2026-02-03 05:14:26 -05:00
default_bus_layout.tres godot 4.6 2026-01-26 17:36:58 -05:00
LICENSE AGPL v3 2025-11-05 07:17:57 +09:00
project.godot 0.1.1 (#27) 2026-02-22 20:04:36 -05:00
README.md 0.1.1 (#27) 2026-02-22 20:04:36 -05:00
Rhythia.csproj 0.1.1 (#27) 2026-02-22 20:04:36 -05:00
Rhythia.csproj.old 4.5.1 & fixes 2026-01-26 05:20:00 -05:00
Rhythia.csproj.old.1 godot 4.6 2026-01-26 17:36:58 -05:00
Rhythia.csproj.user MapInfo buttons & mapmanager polishing 2026-02-01 15:13:32 +09:00
Rhythia.sln a lot 2025-12-05 15:37:14 -05:00

Rhythia

A free-to-play rhythm game where you move your mouse across a 3×3 grid.

Discord Godot 4.6


"Rhyt-Rhythmia" — Edward "BTMC" Ling, 2024

Caution

Rhythia is NOT affiliated with CAPO Games, Steam Rhythia, or rhythia.com in any way. We cannot provide support or assistance for any issues related to those platforms. Please ensure you are downloading the correct client from the links below. We do, however, support any modification of our logos and content in the client source under our license.


Table of Contents


About

Rhythia (formerly Sound Space Plus) is a free and open-source rhythm game built with Godot 4.6 and C#.


Downloading the Game

There are currently two builds of the game available.

Important

Do not clone this repository to play the game. Use the download links below instead.

Rewrite (Current Maintained Client)

The current client being actively maintained, now in early testing.

Note

Recommended — This is the latest version of the client. Please report any bugs found in #bug-reports on our Discord server.

You can view all releases on the Rewrite releases page.

Platform Direct Download
Windows Download
Linux Download

You can view the Rewrite source code here.

Nightly (Legacy)

The legacy client we all know and (somewhat) love. We recommend this client if you're just starting out for now.

Warning

Nightly is no longer being maintained. All current development efforts are focused on the Rewrite client above.

You can view all releases on the Nightly releases page.

Platform Direct Download
Windows Download
Linux Download

You can view Nightly's source code here.


Installation

Windows

  1. Download windows.zip for your chosen client above.
  2. Extract the .zip file to a folder of your choice.
  3. Run Rhythia.exe.

Warning

You must have the Visual C++ Redistributable installed to run the game on Windows!

Linux

GUI File Manager

Tip

The following packages are recommended: thunar, thunar-archive-plugin

  1. Download linux.zip for your chosen client above.
  2. Right-click the downloaded file and extract it.
  3. Run Rhythia.x86_64.

Terminal

Warning

The unzip package is required. Install it using your distribution's package manager if you don't have it.

  1. Download linux.zip for your chosen client above.
  2. Open your terminal and run the following commands:
    # Assuming the file is in the Downloads folder
    cd $HOME/Downloads
    unzip -d Rhythia linux.zip
    
  3. Move into the extracted folder and run the game:
    cd Rhythia
    ./Rhythia.x86_64
    

Linux Troubleshooting

If your game doesn't run, make the binary executable from within your Rhythia folder:

sudo chmod +x Rhythia.x86_64

Note

You need to be a superuser in order to run sudo.

Still having issues? Visit the #support channel in our Discord.


User Folder

Your maps, replays, skins, and settings are stored separately from the game installation:

Platform Path
Windows %appdata%\Rhythia
Linux ~/.local/share/Rhythia

You can also access the user folder from within the game via Settings → User Folder.


Development

Prerequisites

Tool Version Notes
Godot Engine 4.6 .NET (C#) build required
.NET SDK 10.0
Git LFS Latest Required for large binary assets

Project Structure

├── addons/          # Third-party addons (ffmpeg, etc.)
├── fonts/           # Font assets
├── meshes/          # 3D mesh assets
├── prefabs/         # Reusable scene prefabs (UI elements, etc.)
├── scenes/          # Main game scenes (menu, game, results, etc.)
├── scripts/         # C# source code
│   ├── database/    # Database / persistence layer
│   ├── game/        # Core gameplay (attempts, renderers, mods, judgments)
│   ├── map/         # Map parsing and management
│   ├── multiplayer/ # Multiplayer lobby and player logic
│   ├── scenes/      # Scene-specific scripts
│   ├── shaders/     # Shader code
│   ├── skinning/    # Skin loading and management
│   ├── spaces/      # Space-related logic
│   ├── ui/          # UI components and notifications
│   └── util/        # Utility / helper classes
├── sounds/          # Audio assets
├── textures/        # Texture and image assets
├── themes/          # Godot UI themes
└── user/            # Default user data scaffold

Contributing

We ❤️ developers! Contributions are welcome — whether it's bug fixes, features, documentation, or translations.

Warning

Nightly is no longer actively maintained. This guide is for contributing to the Rewrite client. The contribution process is the same, but you'll be working with the Rewrite repository.

Required Software

Software Notes
Godot 4.6 Stable (.NET) The C# / .NET build is required
Git Windows: Git for Windows · Linux: git package
GitHub Account Needed to fork and open pull requests

Optional: Visual Studio Code with the godot-tools extension.

Setting Up Your Workspace

1. Fork the Repository

  1. Head to the Rewrite repository.
  2. Press the Fork button and create a fork under your account.

2. Clone Your Fork

Open a terminal and clone your fork into a folder of your choice:

# Navigate to your preferred directory
cd Documents/Rhythia

# Clone your fork (replace YOUR_USERNAME with your GitHub username)
git clone https://github.com/YOUR_USERNAME/Client.git

cd Client

# Fetch large files (textures, audio, etc.)
git lfs fetch --all
git lfs pull

3. Open in Godot

  1. Open Godot 4.6 (.NET).
  2. Click Import.
  3. Browse to your cloned repository folder and select project.godot.
  4. Click Open.

Submitting Your Changes

  1. Stage any new files you created:

    git add ./path/to/your/new/files
    
  2. Commit and push your changes:

    git commit -m "Brief description of your change"
    git push origin indev
    
  3. Go to your forked repository on GitHub — you should see a message like "This branch is 1 commit ahead of Rhythia/Client:indev".

  4. Click Contribute → Open pull request.

  5. Ensure your PR is targeting the indev branch of the main repository.

  6. Review your changes, add a clear title and description, then click Create pull request.

  7. Wait for maintainers to review your code and provide feedback.

Guidelines

  • Follow existing code style and naming conventions.
  • Keep PRs focused — one feature or fix per PR.
  • Test your changes locally before submitting.
  • For large changes, open an issue first to discuss the approach.

License

Rhythia is licensed under the GNU Affero General Public License v3.0.