Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/digiduncan/charm
A Python-based, highly customizable, multi-gamemode rhythm game and engine.
https://github.com/digiduncan/charm
arcade customizable python rhythm-game
Last synced: about 2 months ago
JSON representation
A Python-based, highly customizable, multi-gamemode rhythm game and engine.
- Host: GitHub
- URL: https://github.com/digiduncan/charm
- Owner: DigiDuncan
- Created: 2022-01-22T00:01:04.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2024-05-22T11:36:00.000Z (8 months ago)
- Last Synced: 2024-05-22T12:42:57.172Z (8 months ago)
- Topics: arcade, customizable, python, rhythm-game
- Language: Python
- Homepage:
- Size: 150 MB
- Stars: 21
- Watchers: 8
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
![Charm logo.](charm/data/images/logo.png)
# 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.](https://docs.google.com/document/d/1J_CX55jLp6zjkXepvnuBqftsYZB0eqRa3kBGbA7tuiI/edit?usp=sharing)
## 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](https://docs.google.com/document/d/1v2v0U-9HQ5qHeccpExDOLJ5CMPZZ3QytPmAG5WF0Kzs/edit)
* `.mid` (chart), various guitar games, notably Frets on Fire
* `.osu` and `.osz` (mania/taiko), [osu!mania and osu!taiko](https://osu.ppy.sh/wiki/en/osu%21_File_Formats)\*
* `.sm`, [StepMania](https://strategywiki.org/wiki/StepMania/Creating_songs)
* `.bms/.bme/.pms`, [Lunatic Rave 2 (a Beatmania iidx "simulation") and Pop'n Music](https://github.com/BMS-Community/resources#bms-creation)
* `.1`, [Beatmania iidx](https://github.com/SaxxonPike/rhythm-game-formats/blob/master/iidx/1.md), the actual arcade binary chart format (low priority)
* `.json`, [Friday Night Funkin'](https://github.com/ninjamuffin99/Funkin/blob/master/source/ChartParser.hx)\* 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 `dll`s from PyOgg into the `dist` folder.