スイート
haneoka.org で再生されるもの(ストーリー、譜面、Home Spot のロビー)はすべて、自分のプロジェクトにも使えるオープンソースのツール群で動いています。ツールはビジュアルノベル向けとリズムゲーム向けの 2 系統に分かれます。どのツールも単独で使え、プラグインで構成され、ほかのツールと組み合わせても単体でも動きます。
ビジュアルノベル
Section titled “ビジュアルノベル”| ツール | 内容 | 用途 |
|---|---|---|
| Vega | プレーヤー。Web とネイティブアプリ向けのビジュアルノベルエンジン。 | ページ、アプリ、ゲームの中でストーリーを再生する。 |
| Altair | エディター。シーン、言語、アセット、プレビュー、フローチャートを 1 つのワークスペースで扱う。 | ストーリーを書き、翻訳し、演出する。 |
| Deneb | ビルダー。コマンドラインツール。 | 完成したストーリーを Web サイト、PWA、デスクトップアプリ、モバイルプロジェクトとして出す。 |
一般的なプロジェクトは 3 つすべてを通ります。Altair で書いて多言語化し、作業中は Vega で確認し、完成したら Deneb でビルドします。3 つは同じストーリー形式を使うため、途中で変換は発生しません。
Altair はほかのツールのプロジェクト(WebGAL のフォルダー、Bestdori のシナリオ、普通の文章)も開けます。Vega は互換プラグインで WebGAL プロジェクトを再生できるので、既存のプロジェクトを書き直さずに移行できます。
リズムゲーム
Section titled “リズムゲーム”| ツール | 内容 | 用途 |
|---|---|---|
| Cassiopeia | TypeScript と Rust の決定的なカーネルを持つリズムゲームエンジン。 | Web やネイティブアプリで譜面を表示、プレイ、分析する。 |
| Sonolus エンジン | Sonolus 向けの Our Notes エンジン。 | Sonolus アプリで Our Notes の譜面を遊ぶ。 |
Cassiopeia は Our Notes とプロジェクトセカイの譜面を読み、Sonolus のレベルに変換します。haneoka.org の譜面プレーヤーと譜面ビューアーは Cassiopeia の Vue コンポーネントです。
自作ではなく埋め込む
Section titled “自作ではなく埋め込む”ストーリー、譜面、Home Spot のシーンをページに置きたいだけなら、JavaScript 埋め込みが script タグ 1 つで haneoka.org からすべてを読み込みます。独自のデータや見た目、独自のアプリが必要な場合は、ツールを直接使ってください。
各ツールは github.com/haneoka-gakuen の下にそれぞれのリポジトリがあり、プラグインは別パッケージです。各リポジトリの README がそのパッケージの完全なリファレンスで、これらのページは組み合わせ方を説明します。
すべて MPL-2.0 です。クローズドソースのプロジェクトでも使え、ファイル自体への変更は共有されます。