dr666m1/werewolf(https://github.com/dr666m1/docker_werewolf)
人狼ゲームを起動するdockerイメージのリポジトリです。 オンラインで遊ぶにはパブリックIPのあるサーバーで起動するか、 ngrokなどを利用する必要があります。
pull後に以下のコマンドでDockerイメージを作成します。
docker build . -t werewolf
docker run -it --name werewolf_container -p 3000:3000 werewolf
ngrokを同コンテナで立ち上げる場合など。今はngrokはDockerfileからでなく手動で立ち上げています。
docker run -itd --name werewolf_container -p 3000:3000 werewolf /bin/sh
役職や相談時間を server/config/default.json で設定できます。
役職の人数設定
相談時間。今は昼も夜も同じ
3モードあります。
- normal
- instant-ranking
- pre-ranking
普通の人狼
ランキング人狼。ゲーム開始後にdefault.jsonのquestionnaireに設定した質問をメンバーに行い、その回答結果を昇順にランキングを作成して、役職のランキングを提示します。
ランキング人狼。事前に作成したランキングデータに基づいて、役職のランキングを提示します。 ランキングファイル名はdefaault.jsonで設定します。ランキングファイルはserver/から探されます。 このモード時のみ、メンバーは入室時に自分の名前を自由設定できず、ランキングにある名前から選択して入室します。
pre-rankingモードで使用するランキングファイルのファイル名
ランキング人狼モード時、ここに追加した役職は、ゲーム開始後にランキングを明かされます。
ランキング人狼モード時、trueに設定された役職は、1位と最下位からは選ばれません。
instant-rankingモードで使用する、ゲーム開始後の質問設定。
人狼ゲームが起動しているコンテナを公開します。
GCEなどパブリックIPのあるサーバーで起動する場合は、特別な操作は必要ありません。 ファイアウォールの設定などは各自確認してください。
手元のPCで起動する場合はngrokを利用するのが簡単です。
ただ、無料枠での利用に4 tunnels / ngrok process
という制限があるようです。
ここからは参加する全員の操作です。 ブラウザから人狼ゲームが起動しているIPアドレスにアクセスします。 以下のような画面が表示されたら名前を入力して入場してください。 ホストが指定した人数がそろったらゲームが開始します。
現在使える役職は以下です。要望があれば追加するかもしれません。
- 市民
- 人狼
- 占い師
- 霊媒師
- 狩人
- パン屋
- 狂人
UIはbulmaを利用しているので、スマホ画面にもいい感じに調整されるはずです。