ChatCraft / backend /config.py
gabraken's picture
Add nice tut
98da277
import os
from dotenv import load_dotenv
load_dotenv()
DEBUG: bool = os.getenv("DEBUG", "false").lower() == "true"
MISTRAL_API_KEY: str = os.getenv("MISTRAL_API_KEY", "")
SECRET_KEY: str = os.getenv("SECRET_KEY", "dev-secret-key-change-me")
# ElevenLabs TTS (unit sound effects)
ELEVENLABS_API_KEY: str = os.getenv("ELEVENLABS_API_KEY", "")
ELEVENLABS_VOICE_ID: str = os.getenv("ELEVENLABS_VOICE_ID", "21m00Tcm4TlvDq8ikWAM") # Rachel
# Voxtral STT models
VOXTRAL_MODEL: str = "voxtral-mini-latest" # batch (PTT)
VOXTRAL_REALTIME_MODEL: str = "voxtral-mini-transcribe-realtime-2602" # streaming (future)
# Mistral LLM model for command parsing
MISTRAL_CHAT_MODEL: str = "mistral-large-latest"
# GCP Vertex AI Imagen (optionnel, pour génération sprites si Mistral restreint)
# Ex: project mtgbinder — à retirer en prod
GCP_PROJECT_ID: str = os.getenv("GCP_PROJECT_ID", "")
GCP_LOCATION: str = os.getenv("GCP_LOCATION", "us-central1")
# Game constants
TICK_INTERVAL: float = 0.25 # seconds per game tick
TICKS_PER_SECOND: int = 4
MINERAL_PER_HARVEST: int = 8 # minerals per SCV per harvest cycle
GAS_PER_HARVEST: int = 8 # gas per SCV per harvest cycle
HARVEST_INTERVAL_TICKS: int = 4 # harvest every N ticks (~1s)
MINING_DRILL_TICKS: int = 16 # ticks spent drilling before collecting minerals (4 s)