Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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.

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.