No.003 / 2025.11
人狼
友だちと、オンラインで人狼ゲーム。
Webブラウザで遊べる人狼ゲーム。マップを移動しながら、昼と夜のフェーズで進む。
WHYきっかけ
友だちと「人狼ゲームがオンラインでできたらいいよね」と話していて、作ってみることにした。

FIG.1
夜のフェーズ
役職ごとの行動を選ぶ。画面の上には自分の役職カードとマップ、残り時間が出る。

FIG.2
昼のフェーズ
マップの中を移動して、まわりに誰がいるかを確かめながら話し合う。
TECH POINTS
技術のポイントPOINT 1
サーバーがゲームをまとめて進める
プレイヤーの操作はすべてPythonのサーバーに集まる。サーバーがフェーズ・マップ・役職を管理して、Web画面とLINEへ結果を出す。Arduinoには、デバッグ用にサーバーのログを出す。
01仕組み
- INPUT入力
LINE・Webブラウザ(操作・入力)
- PROCESS演算
Python(Flask / SocketIO)でゲームの進行・マップ・役職を管理
- OUTPUT出力
Web画面・LINE(Arduino UNO R4 WiFiは、サーバーのログを見るデバッグ用)
02工夫と苦労
- ゲームの進行(フェーズ、マップ、役職)をサーバー側のPythonでまとめて管理している
- Web画面だけでなく、LINEにも情報を出せるようにした
- Arduino UNO R4 WiFiは、Pythonサーバーのログを表示するデバッグ用の端末として使った。プレイ中にこれを見ながら、ブラウザの描画の問題か、サーバーのデータの問題かを切り分けた
- 役職カードのイラストは、友だちが描いてくれた
03使った技術
- Python
- JavaScript
- HTML / CSS
- Arduino UNO R4 WiFi
- LINE Messaging API
04いまの状態
動く