gosu
Classic rhythm games written in go with Ebitengine
How to play
Change the mode with F1
Change the Speed with PageUp / PageDown
Select the song with Enter
Press matching keys with notes!
You can change key settings by modifying keys.txt
. Default Key settings are below:
4 Key: S, D, J, K
7 Key: S, D, F, Space, J, K, L
Drum: S, D, J, K
Game play preview
Click thumbnails to watch at YouTube.
Feature
-
osu! files supported
- .osu (osu! beatmap file)
- Speed-change effects work (called
SV
).
- .osr (osu! replay file)
- Put replay files at
replay/
with ReplayMode
at select scene.
-
Skinnable in-game images
- Put your favorite skin in
skin/
(should match the file name though).
- Image size in game are settable by user (WIP).
- You can try it right now with changing value at
settings.go
and build.
-
Effective score and level system (originally designed)
- The motivation of gosu dev.
- Tried to make feel score and actual performance are related.
- Level calculation is currently naive.
- Will be exquisite in a short time.
-
Quick input supported (1ms)
- Hook is used in
Windows
.
- Others is currently depending on
ebiten.IsKeyPressed
.
-
Codebase with high readability
- Super-fast in loading files and playing.
- Fairly scalable for future work.
Build
-
For MacOS and Linux users, install Ebitengine dependencies first by referring to the documentation(Ebitengine/Install).
-
Go to root directory of the repository and build as below.
cd cmd/gosu
go build .
- Run gosu
./gosu
Flow of game logic
Will also post details at wiki.
Discord server Will be open after stable version has been release.
License
Codebase: Apache License 2.0
Most skin images and music tracks are from osu-resources, licensed under CC-BY-NC 4.0.