ゲームシステム

ゲームのチャット:チャンネルと個人メッセージ

iDos Games の既製プレイヤーチャットの仕組み。タブになったチャンネル、個人チャット、メッセージの履歴、スローモード、モデレーション、通報とブロック。そしてダッシュボードでの設定方法。

チャットは既製のプレイヤーチャットです。タブになったタイトルのチャンネルと、個人チャット。 モデレーション、スローモード、誰がどこに書けるかはサーバーの担当で、閉じたチャットにはコストがかかりません。画面が開いている間だけポーリングします。

プレイヤーに見えるもの

  • タブになったチャンネルと「個人」:1対1のチャット。タイトルが許せばフレンド同士で。
  • 履歴と過去のメッセージがあるフィード。送った内容のサーバー側の写しです(モデレーションで語が伏せられることがあります)。
  • スローモードのカウントダウンと、チャンネルに書けないときの理由。
  • メッセージの操作:個人で書く、理由を付けて通報、そのプレイヤーを無視、任意参加のチャンネルへの参加と退出。
チャット
12 450
320
ワールド
トレード
個人3
Miraレイド行く人?
Arrow行く!5分
参加します
スローモード:4秒
タイトルのチャンネルをタブで、さらに個人チャット。
過去のメッセージも読めるフィード。スローモードとモデレーションはサーバーが担当。
例. チャット。タブのチャンネルとメッセージのフィード。

仕組み

  • 1回のポーリングで、サーバーが決めた間隔ですべてのルームを扱い、画面が開いている間だけ動きます。
  • プレイヤーがルームを離れると既読になります。バッジは未読の数で、セッションごとに1回読みます。
  • フレンドのカードの「メッセージ」で個人チャットが開きます。

ステップ 01プロジェクトにシステムを追加する

AI コーダーに頼みます。「チャットを追加して」。ワールドのチャンネル、任意参加のトレードのチャンネル、フレンド同士の個人チャット付きの既製システムが入ります。

ステップ 02ダッシュボードで設定する

ダッシュボードを開き、プロジェクトを選んで ライブ運営 → v2 → チャット へ。

  • チャンネルを作ります:名前、誰が書けるか、スローモード、任意参加かどうか。
  • 個人チャットのルール(たとえばフレンド同士だけ)とモデレーションを決めます。

ページの AI ボタンでアシスタントが開きます。必要なことを説明すると変更を提案してくれるので、確認して保存を押します。

ステップ 03テストしてリリースする

アプリのテスト版でシステムを確かめます。設定は別の操作で本番アプリに送られます。公開とリンクを参照してください。

開発者向け

チャットは @idosgames/core の client.chat で動きます。

TypeScript
// チャンネルに送り、フレンドとの個人チャットを開く
const res = await client.chat.sendMessage('world', 'Who is up for the raid?')
if (!res.ok) return showError(res.error) // たとえばスローモード中や書き込み権限なし
const dm = await client.chat.openDirectChannel(friendUserID)
// 1回のポーリングですべてのルームを扱います。チャット画面が開いている間だけ実行します
const updates = await client.chat.poll()
  • 入力した内容ではなく、サーバーが返した内容を表示します。モデレーションで文章が変わることがあります。
  • チャットが閉じている間はポーリングしないでください。バッジはセッションごとに1回読めば足ります。

すべてのフィールドは、SDK の MCP サーバーが配るスキル chat-system に説明があります。

よくある質問

モデレーションはありますか?

はい。サーバーが禁止語を伏せ、スローモードと制限を適用し、プレイヤーはほかの人を通報したり無視したりできます。

誰も読んでいないときもチャットはサーバーに負荷をかけますか?

いいえ。チャット画面が開いている間だけポーリングします。

関連ページ

自分のゲームを作ろう

アイデアを一文で書くだけで AI コーダーが作り、ゲームは専用リンクで公開されます。