PixelPaintWar / packages / shared / src / config /
@[shimojiryuki] [shimojiryuki] authored on 27 Feb
..
README.md feat: プレイヤー被弾時の入力ロック処理を追加し、ゲーム設定に関連する定数を更新 1 month ago
gameConfig.ts [feat] Implement fever time mechanics and adjust bomb cooldowns 1 month ago
index.ts refactor: ソケットイベントブリッジの型定義を強化し、イベント名を統一 1 month ago
networkConfig.ts refactor: 各種設定値と型定義の再公開を整理し、コメントを追加 1 month ago
teamValidators.ts refactor: ソケットイベントブリッジの型定義を強化し、イベント名を統一 1 month ago
README.md

Config README

このファイルは config 定数の管理台帳です。
配置ルール・責務境界・定数一覧はここを正とします。

配置ルール

定数一覧

shared

対象: packages/shared/src/config/gameConfig.ts, packages/shared/src/config/networkConfig.ts

  • GAME_CONFIG.GAME_DURATION_SEC: 1ゲームの制限時間(秒)
  • GAME_CONFIG.PLAYER_POSITION_UPDATE_MS: プレイヤー座標を同期送信する間隔(ms)
  • GAME_CONFIG.GRID_COLS: マップ横方向のグリッド数
  • GAME_CONFIG.GRID_ROWS: マップ縦方向のグリッド数
  • GAME_CONFIG.PLAYER_RADIUS: プレイヤー当たり判定半径(グリッド単位)
  • GAME_CONFIG.PLAYER_SPEED: プレイヤー移動速度(1秒あたりのグリッド移動量)
  • GAME_CONFIG.PLAYER_HIT_STUN_MS: 被弾時に入力を停止する時間(ms)
  • GAME_CONFIG.BOMB_RADIUS_GRID: 爆風半径(グリッド単位)
  • GAME_CONFIG.BOMB_FUSE_MS: 爆弾設置から爆発までの時間(ms)
  • GAME_CONFIG.BOMB_COOLDOWN_MS: 次の爆弾を置けるまでの待機時間(ms)
  • GAME_CONFIG.BOMB_DEDUP_EXTRA_TTL_MS: サーバー側の爆弾重複排除で保持時間に加算する猶予(ms)
  • GAME_CONFIG.TEAM_COUNT: チーム総数
  • TEAM_NAMES: teamId 順の表示名配列
  • validateTeamConfig: チーム関連設定(件数整合性)を検証する関数
  • assertValidTeamId: teamId が有効範囲内かを検証する関数
  • NETWORK_CONFIG.SOCKET_IO_PATH: Socket.IO 接続パス(client/server共通契約)

client

対象: apps/client/src/config/index.ts

  • GAME_CONFIG.TIMER_DISPLAY_UPDATE_MS: 画面の残り時間表示を更新する間隔(ms)
  • GAME_CONFIG.JOIN_REQUEST_TIMEOUT_MS: ルーム参加要求のタイムアウト時間(ms)
  • GAME_CONFIG.PLAYER_LERP_SMOOTHNESS: リモートプレイヤー補間の追従係数(大きいほど追従が速い)
  • GAME_CONFIG.PLAYER_LERP_SNAP_THRESHOLD: 補間終了時に目標座標へ吸着する閾値
  • GAME_CONFIG.GRID_CELL_SIZE: 1グリッドの描画サイズ(px)
  • GAME_CONFIG.TEAM_COLORS: teamId 順の描画色(16進カラー文字列)
  • GAME_CONFIG.MAP_BG_COLOR: マップ背景色(Pixi用16進数)
  • GAME_CONFIG.MAP_GRID_COLOR: グリッド線の色(Pixi用16進数)
  • GAME_CONFIG.MAP_BORDER_COLOR: マップ外周線の色(Pixi用16進数)
  • GAME_CONFIG.MAP_WIDTH_PX (getter): マップ横幅(GRID_COLS * GRID_CELL_SIZE
  • GAME_CONFIG.MAP_HEIGHT_PX (getter): マップ縦幅(GRID_ROWS * GRID_CELL_SIZE
  • GAME_CONFIG.PLAYER_RADIUS_PX (getter): プレイヤー半径の描画サイズ(px)
  • NETWORK_CONFIG.DEV_SERVER_HOST: 開発環境の接続先ホスト
  • NETWORK_CONFIG.DEV_SERVER_PORT: 開発環境の接続先ポート
  • NETWORK_CONFIG.DEV_SERVER_URL (getter): 開発環境の接続先URL(host + port)
  • NETWORK_CONFIG.PROD_SERVER_URL: 本番環境の接続先URL
  • NETWORK_CONFIG.SOCKET_TRANSPORTS: Socket.IO の許可トランスポート種別
  • NETWORK_CONFIG.SOCKET_IO_PATH: Socket.IO 接続パス(shared契約を再利用)

server

対象: apps/server/src/config/index.ts

  • GAME_CONFIG.MAX_PLAYERS_PER_ROOM: 1ルームに参加できる最大人数
  • NETWORK_CONFIG.DEV_SERVER_PORT: サーバー起動時の待受ポート(環境変数未指定時)
  • NETWORK_CONFIG.CORS_ORIGIN: CORS で許可するオリジン
  • NETWORK_CONFIG.CORS_METHODS: CORS で許可するHTTPメソッド

追加・変更ルール

  • 変更時に client と server の同時反映が必須なら shared に追加する
  • 片側のみで完結する値はその側の config に追加する
  • 未使用の定数は原則削除する
  • 将来利用予定で残す場合は、このREADMEに理由と予定利用箇所を追記する