Charm
Charm copied to clipboard
A Python-based, highly customizable, multi-gamemode rhythm game and engine.

Charm
A Python-based rhythm engine/game/chart player. Feels like an arcade cabinet, is the hope. Too many features, really!
Here's a document where I'm hoping to explain all the plans.
Planned Features
- Play a variety of rhythm game charts from multiple popular custom chart formats
- Completely skinnable, both globally and per-chart!
- Toggleable accuracy judgements for every gamemode
- Grading system for every gamemode
- Game accurate scoring for every gamemode
- Customizable hit windows, judgement timings, grade windows, score systems, and more
- An arcade-feel menu system that is a modern twist on a classic style
- Custom Charm-only events and built-in modchart features
- Customizable layouts
- Playlists, a feature that can be expanded to make entire sub-games
- Streamer features
Planned Supported Chart Formats
.chart, various guitar games.mid(chart), various guitar games, notably Frets on Fire.osuand.osz(mania/taiko), osu!mania and osu!taiko*.sm, StepMania.bms/.bme/.pms, Lunatic Rave 2 (a Beatmania iidx "simulation") and Pop'n Music.1, Beatmania iidx, the actual arcade binary chart format (low priority).json, Friday Night Funkin'
* The popular Roblox rhythm game Robeats also loads .osz charts.
Building with Nuitka
python -m nuitka --include-data-dir=C:\Users\DigiDuncan\Documents\GitHub\Charm\charm\data=charm\data --include-package-data=emoji_data_python --include-package-data=pyogg --windows-force-stderr-spec=error_output.txt --remove-output --standalone --output-filename=Charm charm.py
Also add the dlls from PyOgg into the dist folder.