- Haxe 96.2%
- Python 3%
- Shell 0.5%
- Dockerfile 0.2%
|
Some checks are pending
Release / macos (push) Blocked by required conditions
Release / publish (push) Blocked by required conditions
CI / all-checks (push) Has started running
Release / linux (push) Successful in 12m15s
Release / web (push) Successful in 1m53s
Release / windows (push) Has started running
|
||
|---|---|---|
| .forgejo/workflows | ||
| .github | ||
| .vscode | ||
| art@429ab728b1 | ||
| assets@9300719cb2 | ||
| build | ||
| docker | ||
| docs | ||
| example_mods | ||
| mods/psych-compat | ||
| ports | ||
| scripts | ||
| source | ||
| templates | ||
| tools | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| .gitmodules | ||
| .prettierignore | ||
| .prettierrc.js | ||
| astc-compression-data.json | ||
| CHANGELOG-funkin-claude.md | ||
| CHANGELOG.md | ||
| checkstyle.json | ||
| cliff.toml | ||
| CODESTYLE.md | ||
| documentTypes.plist | ||
| hmm.json | ||
| hxformat.json | ||
| LaunchScreen.storyboard | ||
| LICENSE.md | ||
| organize_astc_data.ps1 | ||
| organize_astc_data.sh | ||
| project.hxp | ||
| README.md | ||
funkin-claude
A fork of Friday Night Funkin' (V-Slice engine, based on v0.8.6) that plays mods made for other engines natively on Linux, with engine fixes and a few quality-of-life features on top.
- Converted mods play natively. Psych Engine mods are converted to native V-Slice mods: charts, characters, stages, note skins and assets automatically, mechanics re-implemented in HScript.
- Engine fixes for stutters, clean retries and more (see below).
- New options: middlescroll, a focus point, an editable HUD, Freeplay organised by mod.
Upstream's README (building the base game, credits) is in docs/UPSTREAM-README.md.
What's new compared to the base game
| Middlescroll | Options > Preferences: Off / Hide (opponent hidden) / Split (opponent's lanes faded on both sides of yours). |
| Focus Point | A small marker in front of your strums to rest your eyes on; follows the strums, switchable per song from the pause menu. |
| HUD Layout | Optional misses, accuracy, combo, notes per second, judgement counts, song time and name; Options > HUD LAYOUT to toggle and move each one. |
| Freeplay by mod | M cycles All / Base Game / each mod; favourites (F, heart tab); a key hint bar; pixel icons and an album per converted mod. |
| Star ratings | Converted songs are rated from their charts, calibrated on the base game's official ratings. |
| Clean retry | Retrying rebuilds the song instead of resetting it in place, so nothing a script changed carries over. |
| Stutter fixes | Preloaded song assets are no longer purged before the song; note kinds' skins and assets mod scripts use are preloaded; pooled notes aren't rebuilt per spawn. --log-hitches records slow frames to logs/. |
![]() |
![]() |
![]() |
![]() |
Download
Builds for Linux, Windows and the web are on the releases page,
together with funkin-port, the converter. Releases contain the engine and tools only; convert the mods you
own with funkin-port. How releases are made: docs/RELEASING.md.
Play
cd export/release/linux/bin && ./Funkin
Controls, options and the Freeplay guide: docs/PLAYING.md.
Command line: --play <songId> [--difficulty hard] [--botplay], --freeplay, --log-hitches.
Build
Everything stays inside the repo (no system-wide installs):
git submodule update --init --depth 1 assets
source tools/env.sh # repo-local Haxe 4.3.7 / Neko in .toolchain/ (see docs/COMPILING.md for the first setup)
tools/install-build.sh # release build into export/release/linux/bin (safe while the game is running)
tools/build-mods.sh # convert + install the configured mods
Convert your own mods: funkin-port
tools/funkin-port detect "/path/to/mod"
tools/funkin-port convert "/path/to/mod" --title "Mod Name" --install export/release/linux/bin
Detects the engine a mod targets, converts Psych Engine mods (mods folders, packs, standalone builds) and lists the scripts that need a hand port. See docs/funkin-port.md and docs/porting-notes.md.
Repository layout
| Path | |
|---|---|
source/ |
the engine (upstream V-Slice + our changes) |
mods/psych-compat/ |
runtime for converted Psych mods (events, note types, helpers) |
ports/<mod>/ |
hand-written HScript ports of mod mechanics (no mod assets) |
tools/ |
funkin-port, the converter (modport/), build, play-test and smoke-test scripts |
docs/ |
playing guide, porting notes, performance notes, roadmap |
Mod assets are never committed: the converter reads them from the original mod folders at build time.
Credits and licences
- Friday Night Funkin' by The Funkin' Crew. The engine code is Apache 2.0 (LICENSE.md); the game's assets are not, see the Funkin.assets licence.
- Converted mods belong to their authors (Wednesday's Infidelity, D-Sides, 2Hot4You teams and others). This repository only contains our own code: converters, the compat runtime and re-implementations of mod mechanics.
- Changes in this fork: see CHANGELOG-funkin-claude.md.



