ユドナリウム(Udonarium)の私家改造版、高度とかチャットテキストの色とか立ち絵(ユドナリウムだとキャラクターの画像と紛らわしいのでスタンドと呼称)とか。
配布用ファイルは用意していないので、自分で配置したい場合はcloneしてbuildする必要があります。
本家ユドナリウムはバージョン1.16.0より推奨ブラウザにデスクトップ版Mozilla Firefoxが追加されましたが、Udonarium with Flyの推奨ブラウザは現状デスクトップ版Google Chromeのみです。
- ソースをきれいにする(特に高度、💭周り)
ランダムチャート作成機能ダイスボット表実装済- 管理パネル作ってキャラクター画像切り替えと顔ICの上限増やす
カットイン的なもの実装済。ユドナリウム リリィと同様に音楽ファイルを別にアップすると再リンクする- 投票、効果音
キャラクターコマの身長指定?実装済スタンドがダイスボット結果末尾に反応反応するように- サイコロ・フィクションの判定ヘルパ
- 地形の4面に別の画像を設定
下記のようにconfig.yamlにBCDice-APIのエンドポイントURLを記述するとBCDice-API経由でダイスボットが反応します。
デフォルトの対応APIバージョンは2です、バージョン1が必要の場合は下記のdice配下のapiキーの値に1と記述してください(APIバージョン1はBCDice-API 3.0.0で削除されました)。
なお、判定結果の成功、失敗での色分けに対応するためにはAPIバージョンが2である必要があります。
backend:
mode: skyway2023 #'skyway2023' or 'skyway'
url: https://{your-backend-hostname} #Your Backend API URL
webrtc: #非推奨(旧SkyWay)
key: aaaaaaaa-bbbb-ccccc-dddd-eeeeeeeeeeee #[deprecated] Your (old) SkyWay API key
app: #未使用
dice:
url: BCDice-APIのエンドポイントURL
api: APIバージョン
↓↓↓↓ 以下、ユドナリウム本家より ↓↓↓↓
ユドナリウム(Udonarium)はWebブラウザで動作するボードゲームオンラインセッション支援ツールです。
今すぐ試して利用できる公開サーバを用意しています。
推奨ブラウザはデスクトップ版Google Chrome、またはデスクトップ版Mozilla Firefoxです。
-
オンラインセッション
- ルーム機能
- 複数テーブル管理
- テーブルマスク、立体地形
- コマ、カード、共有メモ
- チャット送受信、チャットパレット
- ダイスボット(BCDice)
- 画像ファイル共有
- BGM再生
- セーブデータ生成(ZIP形式)
-
ブラウザ間通信
- WebRTCを利用したブラウザ間通信を実現しています。
ユーザ間で通信接続した後の全ての処理をWebブラウザ上で完結させることを目指しています。
- WebRTCを利用したブラウザ間通信を実現しています。
-
軽量&リアルタイム
- 軽量で快適に動作し、ユーザの操作は別のユーザにリアルタイムに反映されます。
ユーザ自身でWebサーバを用意してユドナリウムを利用することができます。
ユドナリウムのリリース版(udonarium.zip)をダウンロードして展開し、index.html
などコンテンツ一式をWebサーバに配置します。
必ずHTTPS環境のWebサーバに配置してください。
ユドナリウムバックエンドのサーバを準備します。
詳細はユドナリウムバックエンドのリポジトリのREADME.md
を参照してください。
Webサーバに配置したユドナリウムのassets/config.yaml
を編集して、backend.url
にユドナリウムバックエンドのURLを記述します。
backend:
mode: skyway2023
url: https://your-udonarium-backend-url/ #Your Backend API URL
...
Webブラウザからユドナリウムのindex.html
にアクセスしてエラーが発生していなければ完了です。
上手く動作しない時は付属の上手くサーバで動かない時Q&A.txt
を参照してください。
開発環境を用意するとソースコードの修正や機能追加を行うことができます。
開発言語はTypeScriptを使用し、Angularのフレームワークを使用して実装されています。
環境構築の手順はAngular公式ページのチュートリアルを参考にしてください。
開発を効率化するCLIツールとしてAngular CLIを利用しています。
ng
コマンドを使用するのに必要です。
ユドナリウムはWebRTCを使用しており、WebRTC向けのサービスとしてSkyWayを利用しています。
SkyWayのアカウントとアプリケーション情報が必要です。
SkyWayを利用するには認証トークン(SkyWay Auth Token)を都度作成する必要がありますが、Webブラウザ側で認証トークンを作成するのはセキュリティ上の観点から望ましくありません。
そこで、Webブラウザ側で実行できない処理はユドナリウムバックエンドのWeb APIとして実行します。
ローカル環境で開発を行う際には、ユドナリウムバックエンドの開発用ローカルサーバを使用することをおすすめします。
リポジトリをダウンロードした後、初回はリポジトリのディレクトリで以下のコマンドを実行してください。
npm i
開発作業を行う際には、src/assets/config.yaml
を編集してbackend.url
にユドナリウムバックエンドのURLを記述してください。
以下のコマンドを実行するとhttps://localhost:4200/
でユドナリウムの開発用ローカルサーバが起動します。
必ず--ssl
オプションを使用してHTTPSのサーバを起動してください。SkyWayの一部の機能はHTTPS環境でしか実行できません。
ng serve --ssl
開発用ローカルサーバが起動している状態でソースコードを変更すると、アプリケーション全体が自動的にホットリロードされます。
以下のコマンドでソースコード全体のビルドを実行します。ビルド成果物はdist
ディレクトリ配下に格納されます。
ng build
バグを報告したり、ドキュメントを改善したり、開発の手助けをしたりしたいですか?
報告や要望の窓口としてGitHubのIssue、またはX(Twitter)を利用できます。
コードのPull Requestも歓迎です。
ただ、難易度や優先度の都合によりそっとしたままになる可能性があります。
バグ報告では、バグを再現できる必要十分な条件について、分かっている範囲で詳しく書いてください。
基本的には「報告を受けて改修 → 次回更新時に反映」の流れで対応する予定です。
機能要望では「何故それが必要なのか」について説明があると良いです。
作成したコードやドキュメントをこのリポジトリに反映させたい時はPull Request(PR)を送ってください。
PRのコードが完全ではない場合でも作業中PRとして送ることができます。
その場合、作業中である旨をPRタイトルか説明文に付け加えてください。