Skip to content

zeteticl/UdonariumWithFly

 
 

Repository files navigation

ユドナリウム(Udonarium)の私家改造版、高度とかチャットテキストの色とか立ち絵(ユドナリウムだとキャラクターの画像と紛らわしいのでスタンドと呼称)とか。

配布用ファイルは(まだ)用意していないので、自分で配置したい場合はcloneしてbuildしてください。また、config.yamlも同梱していないので本家ユドナを設置したことのない方は本家等からコピーしてください。

お試しページ

ToDo的なもの(優先順位ではない)

  • ソースをきれいにする(特に高度、💭周り)
  • ランダムチャート作成機能ダイスボット表実装済
  • 管理パネル作ってキャラクター画像切り替えと顔ICの上限増やす
  • カットイン的なもの(Zipに保存したいが音声ファイル保存するのは避けたいので動画や音どうしよう)
  • 投票、効果音
  • キャラクターコマの身長指定?
  • スタンドがダイスボット結果末尾に反応反応するように
  • サイコロ・フィクションの判定ヘルパ

実験的機能(ほとんどテストされていない、一部環境から利用できない不具合あり)

BCDice-API対応

下記のようにconfig.yamlにBCDice-APIのエンドポイントURLを記述するとBCDice-API経由でダイスボットが反応します。

webrtc:
  key: [SkywayのAPIキー]
  config: #未使用
    iceServers: #未使用
      - url: stun:stun.skyway.io:3478
      - url: turn:homeo@turn.bistri.com:80
        credential: homeo
app: #未使用
dice:
  url: [BCDice-APIのエンドポイントURL]

↓↓↓↓ 以下、ユドナリウム本家より ↓↓↓↓

ユドナリウム

ユドナリウム(Udonarium)はWebブラウザで動作するボードゲームオンラインセッション支援ツールです。

GitHub license

Udonarium

クイックスタート

今すぐ試したり利用したりできる公開サーバを用意しています。
推奨ブラウザはデスクトップ版Google Chromeです。

ユドナリウムをはじめる

目次

機能

  • ブラウザ間通信
    • WebRTCを利用したブラウザ間通信を実現しています。
      サーバサイドを介さずに全ての機能をWebブラウザ上で完結させることを目指しています。
  • 軽量 & リアルタイム
    • 軽量で快適に動作し、ユーザの操作は他のユーザにリアルタイムに反映されます。
  • 遊ぶ機能
    • ルーム機能
    • 複数テーブル管理、テーブルマスク
    • 立体地形
    • コマ、カード、共有メモ
    • チャット送受信、チャットパレット
    • ダイスボット(BCDiceOpalでJavaScriptにトランスパイル)
    • 画像ファイル共有
    • BGM再生
    • セーブデータ生成(ZIP形式)

サーバ設置

ユーザ自身でWebサーバを用意し、そのサーバにユドナリウムを設置して利用することができます。

  1. リリース版(udonarium.zipをダウンロードして解凍し、Webサーバに配置してください。
    開発者向けのソースコードをダウンロードしないように注意して下さい。
  2. SkyWayのAPIキーを取得し、APIキー情報をassets/config.yamlに記述します。
  3. サーバに配置したユドナリウムのindex.htmlにアクセスして動作することを確認してみてください。
    上手く動作しない時は付属の上手くサーバで動かない時Q&A.txtを参照してください。

ユドナリウムはサーバーサイドの処理を持たないので、CGIやデータベースは必要はありません。

開発者クイックスタート

ソースコードはそのままでは実行できません。
開発環境を用意してビルドする必要があります。

開発環境

Node.jsnpmが必要です。

言語はTypeScriptを用い、Angularで実装されています。
開発を効率化するCLIツールとしてAngular CLIを利用しています。

インストール手順はAngular公式ページのセットアップが参考になります。

Angular CLI

リポジトリからソースコードをダウンロードした後、初回起動時のコマンドは以下のようになります。

cd ソースコードを展開したディレクトリの場所
npm install
ng serve

ng serveを実行するとhttp://localhost:4200/で開発用サーバが起動します。
いずれかのソースコードを変更すると、アプリケーションは自動的にリロードされます。

ng buildでプロジェクトのビルドを実行します。ビルド成果物はdist/ディレクトリに格納されます。
ng build --prodを使用すると、最適化された本番環境向けビルドが生成されます。

SkyWay

このアプリケーションは通信処理にWebRTCを使用しています。
WebRTC向けのシグナリングサーバとしてSkyWayを利用しているため、動作確認のためにSkyWayのAPIキーが必要です。

取得したAPIキーの情報はsrc/assets/config.yamlに記述します。

開発に寄与する

バグを報告したり、ドキュメントを改善したり、開発の手助けをしたりしたいですか?

報告や要望の窓口としてGitHubのIssue、またはTwitterを利用できます。
コードのPull Requestも歓迎です。

報告

バグ報告では、バグを再現できる必要十分な条件について、分かっている範囲で詳しく書いてください。
基本的には「報告を受けて改修 → 次回更新時に反映」の流れで対応する予定です。

要望

機能要望では「何故それが必要なのか」について説明があると良いです。
ただ、難易度や優先度の都合によりそっとしたままになる可能性があります。

Pull Request

作成したコードやドキュメントをこのリポジトリに反映させたい時はPull Request(PR)を送ってください。

PRのコードが完全ではない場合でも作業中PRとして送ることができます。
その場合、作業中である旨をPRタイトルか説明文に付け加えてください。

今後の開発

最低限必要となる機能は実装されていますが、作業すべき課題が残されています。

  • UIデザインおよび操作性の改善
  • モバイル向け対応
  • 機能追加
  • ドキュメント整備

License

MIT License

About

高度付ユドナリウム

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 48.9%
  • JavaScript 39.4%
  • TypeScript 9.2%
  • HTML 1.5%
  • Other 1.0%