Skip to content

Experimental Configuration Guide

All major racing hyperparameters and engine attribute settings are under the core governance of configs/config.yaml. Even if you use overrides in batch processing codes, it remains the foundational dictionary you must understand.

config.yaml Quick Reference

🤖 LLM (Model Behavior Base)

Parameter NameDescriptionDefault / Suggestion
modelCore participating model name (e.g., qwen-max, gpt-4o)gpt-4o
providerAPI call provider adapteropenai_compatible
temperatureControls divergence and imagination. Higher is wilder0.1 (Safe playing)
max_tokensMaximum word count output allowed per response800
max_retriesAllowed persistent retry attempts for errors like 429 rate limiting5

🎮 Env (Football Physics Field Params)

Parameter NameDescriptionDefault / Suggestion
scenario_nameMap level nameacademy_3_vs_1_with_keeper
renderWhether to pull up a GUI animation pop-up on the local machine (Linux server heavily recommended no)false
write_videoWhether to save every match as a high-definition battle recording for post-match reviewtrue
write_full_episode_dumpsWhether to retain .dump replay filestrue

🔬 Experiment (Ranking Format)

Parameter NameDescriptionDefault / Suggestion
num_episodesHow many ranked matches to play per startup test5
max_steps_per_episodeThe upper limit of physical steps before the engine pulls the plug (timeout draw)400
interval_stepsLLM frame-skipping frequency, how many steps to skip before waking up the LLM brain to issue commands5

The Onion Architecture of Environment Overrides

You don't need to touch the YAML to modify your secret keys! At the execution layer of run_game.py, the system employs an onion-style overloaded merge model:

  1. Bottom Fallback: Gulps down all the setting attributes inside config.yaml first.
  2. Intermediate Tampering: The engine sniffs your workspace's .env. If you wrote LLM_MODEL=xxx, it forcibly overwrites the bottom layer.
  3. Top Veto Power: If you directly hit the entry point via Bash Shell commands like --episodes 10, the CLI possesses the supreme interpretive and overwrite authority.

Released under the MIT License.