const GAME_CONFIG = {
  // Grid Configuration
  GRID_WIDTH: 10,
  GRID_HEIGHT: 10,
  CELL_SIZE_PX: 30,
  
  // Player Configuration
  MAX_PLAYERS: 2,
  INITIAL_TURN: 1,
  INITIAL_PLAYER: 1,
  PLAYER_ONE_NUMBER: 1,
  PLAYER_TWO_NUMBER: 2,
  MIN_PLAYERS_TO_CONTINUE: 1,
  SINGLE_WINNER_COUNT: 1,
  
  // Game Mechanics
  MOVES_PER_TURN: 5,
  SHOTS_PER_TURN: 1,
  BULLET_SPEED: 1,
  TURN_TIMEOUT_MS: 30000,
  
  // Spawn Configuration
  SPAWN_BUFFER: 3,
  
  // Timing Configuration (in milliseconds)
  POLLING_INTERVAL: 1500,
  ERROR_FLASH_DURATION: 500,
  GHOST_ERROR_FLASH_DURATION: 600,
  ACTION_STEP_DELAY: 400,
  GAME_END_DELAY: 2000,
  MOVEMENT_ANIMATION_DELAY: 200,
  BULLET_TRAIL_DURATION: 5000,
  BULLET_SEGMENT_DELAY: 50,
  HIT_HIGHLIGHT_DURATION: 1000,
  COPY_FEEDBACK_DELAY: 2000,
  PLAYER_ACTIVE_TIMEOUT: 600000, // 10 minutes
  
  // Position Configuration
  DEFAULT_POSITION: { x: 0, y: 0 },
  
  // Direction Configuration
  DIRECTION_OFFSETS: {
    NORTH: { row: -1, col: 0 },
    SOUTH: { row: 1, col: 0 },
    EAST: { row: 0, col: 1 },
    WEST: { row: 0, col: -1 }
  },
  
  // Database Limits and Defaults
  DEFAULT_EVENT_LIMIT: 10,
  DEFAULT_LEADERBOARD_LIMIT: 10,
  
  // UI Configuration
  MAX_SELECTION_RANGE: 99999,
  BUTTON_MARGIN: '20px',
  
  // Test Configuration
  TEST_SPAWN_POSITIONS: {
    PLAYER1: { row: 2, col: 2 },
    PLAYER2: { row: 17, col: 17 }
  },
  
  // Game Metadata
  GAME_NAME: "Grid Battle"
};

module.exports = GAME_CONFIG;