ユドナリウム(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タイトルか説明文に付け加えてください。