チームの頭脳(選手・戦術・監督)を書き、決定論的シミュレーターで競います。手元のマシンでもオンラインでも。ロジックはあなたが書き、望めば AI に操縦させることもできます。
git clone github.com/GoNNoTDa/PyLeague進め方を選べます:インストール不要でオンライン参戦、または SDK をクローンしてローカルで開発。どちらも同じ決定論的エンジンを使います。
プロジェクトをクローンし(Python 3.13 だけ、依存なし)、テンプレートをコピーして自分のマシンで参戦。
選手を動かすのではなく、どう判断するかをプログラムします。エンジンは全員に公平で決定論的——同じ seed なら同じ試合。AI はゆっくりとしたペースで判断し、決定論的な層が毎ティック実行します。これによりモデルは毎秒 20 回も考える必要がありません。
スコアと時間を読み、方針を決める:攻撃・均衡・守備。
チームを配置:ライン高、幅、プレス、攻撃サイド。
毎ティック判断:移動・パス・シュート。速く反応的。
誇張なしの動くプロトタイプ:今日から動きます。
ベクトル物理と明確なルール。同じ seed で試合を完全に再現:公平でデバッグ可能な大会。
監督と戦術は LLM が操作し、すでに Gemini で実際の試合をプレイします。環境変数一つでプロバイダー(Gemini、Claude、OpenAI、Amazon Bedrock、Ollama…)を切り替えられます。
各選手はスタミナを管理します。スプリントや強いシュートは消耗し、スタミナ切れになると走りもシュートも低下します。戦術に組み込むもう一つの要素です。
全チームを総当たりさせ、勝点と ELO の順位表、そして共有できる HTML レポートを生成。
ボール支配率、シュートと枠内シュート、パスと成功率、奪取と走行距離。スコアだけでなく何を改善すべきかが分かります。
複数のシードで複数の相手とチームを対戦させ、勝率と平均値を取得。勘ではなくデータで変更を比較できます。
第三者のコードは時間制限つきの子プロセスで、ネットワークもディスクも使わず実行:他人のチームとも安全に競えます。
ティキ・タカ、カテナチオ、カウンター、ゲーゲンプレス……すぐ調整できるテンプレート。
各試合を中継のように再生:約 60 fps のピッチ、TV 風スコアボード、統計、そして AI の実況。
エンジンは標準ライブラリのみを使用。AI の SDK は任意。テンプレートをコピーすれば数分で始められます。
4 つのつまみ——ライン、幅、プレス、重心——を固定値、または試合に応じて設定します。エンジンがそれを配置に変換します。
from aicup.tactics import TacticalStrategy, progress, possession
def contraataque():
# ボールがなければ引いて守り、奪ったら前へ出る。
def mandos(ctx):
defendiendo = possession(ctx) == "theirs" or progress(ctx) < 0.45
if defendiendo:
return {"line_height": 0.30, "pressing": 0.35}
return {"line_height": 0.74, "pressing": 0.50}
return TacticalStrategy("Contraataque", mandos)
ローカル SDK に加えて Web プラットフォーム があります。アカウントを作成し、チームを保存し、ブラウザから試合やリーグをプレイ——インストール不要。各試合はサーバー上で隔離実行され、リプレイが保存されます。
各チームは登録チーム同士の試合で ELO と戦績を積み上げます。公開ランキングを駆け上がろう。
誰でもチームを登録できる大会。ワンクリックで参加し、主催者が開催します。
あなたのチーム、最高 ELO、戦績、リプレイをまとめたページ。あなたの歩みがひと目で。
公式試合ごとに、各チームの正確なコード(SHA-256 付き)、シード、エンジンのバージョンを保存します。エンジンは決定論的なので、誰でも試合を再現して結果を検証できます——誰も信頼する必要はありません。リーグでは各対戦が一つずつ監査されます。
任意の試合の公開リンクを生成し、アカウントなしで視聴・監査。コードとリプレイをダウンロードして自分で確かめられます。
すぐ使えるテンプレートでリーグを作成:金属ディビジョン(鉄からダイヤ)、国別・大陸別、または自由設定。フォーマット(分数・得点上限・サドンデス)を選ぶと、すべての対戦がそれを継承します。
主催しますか?登録リンクを生成すれば、リーグが公開でなくても誰でもチームを登録でき、プラットフォームのユーザーを名前で直接招待できます。
チームの複数バージョンを保存してラベルを付け、デフォルト戦術を変えずに各リーグで使うバージョンを選べます。相手の戦術は本人が公開しない限り非表示です。各チームには履歴と統計があります。
PyLeague は SDK です。すでにうまくプレーするテンプレートをコピーして自分のものにし、反復しながら改善します。すべてローカル、決定論的、依存なし。初めてですか?まずアカデミーでチームの作り方を一歩ずつ学びましょう。またはリポジトリの完全ガイドをご覧ください。
必要なのは Python 3.13 以上だけ。エンジンに外部依存はありません。
チームは 3 層(監督・戦術・選手)からなるフォルダーです。印のある箇所から始め、一度に一つずつ変えていきましょう。
プレイして、統計つきのビューアで観戦。スパーリングで複数の相手と一度に比較し、順位表と ELO のあるリーグを開催しましょう。
プログラミングが一人の練習ではなく、トーナメントになります。最適な相手:
GDG、ミートアップ、団体:夢中になれ、複数回の題材になる挑戦。
結果が明確な競技形式:勝つのは最高のコードで、最高のピッチではありません。
大学やブートキャンプ:勝利を目指す試合を通じて、ロジック・AI・データ構造を教えます。
自社ブランドの社内リーグで、技術的なチームビルディングと採用ブランディングを。
SDK は今もこれからもオープンソースです。イベント用の大会を開きたいなら、ワンストップで用意します。
ロードマップ上のアイデア。まだ実装されていません——リーグの方向性を示すために紹介するもので、存在しないものを売るためではありません。
総当たりリーグに加えて、トーナメント表つきのノックアウト形式。
監督と戦術に加えて、選手が実行するポジション別の指示。
スローインとコーナー、オフサイドとファウル。
自然言語でプランを書くと、コードに変換されます。
際どいプレーを見直す AI 審判。
試合ごとにコンテナ/VM を用い、公開実行を大規模に開放。
足ではなくコードでプレイするバーチャルサッカーの大会です。各選手の頭脳、チームの戦術、監督の判断を Python で書き、決定論的シミュレーターで競います。
いいえ。付属のテンプレート——すでに競争力のある戦い方をします——をコピーし、一層ずつ改良していきます。基本的な Python の知識があれば数分で始められます。
はい。PyLeague はオープンソースで、無料で使用・改変・参加できます。提供する有料サービスはカスタム大会の運営(任意)のみです。
いいえ。エンジンとサンプルチームは API なしで動きます。AI は任意です。監督や戦術を言語モデルで考えさせたい場合は、好みのプロバイダー(Claude、OpenAI、Gemini、Groq、Mistral、DeepSeek、またはローカルの Ollama)を接続します。
はい。PyLeague はハッカソン、開発者コミュニティ、教育、イベントに適しています。お問い合わせいただければ、カスタム大会をご用意します。
Windows、macOS、Linux。エンジンに必要なのは Python 3.13 以上だけで、外部依存はありません。
はい。オンラインプラットフォームでアカウントを作成し、チームを保存し、ブラウザから試合やリーグをプレイできます。各試合はサーバー上で隔離実行されリプレイが保存され、グローバル ELO ランキング、公開プロフィール、誰でも参加できるオープンアリーナを備えています。
公式試合はすべて再現可能だからです。各チームの正確なコードを SHA-256、シード、エンジンのバージョンとともに保存します。エンジンは決定論的なので、誰でもすべてをダウンロードして試合を再現し、結果が正当だと検証できます——誰も信頼する必要はありません。リーグでは各対戦が一つずつ監査されます。
PyLeague はコードで競う開発者を集めます。届きにくい層に、前向きな文脈——学びと勝利——で。公平で検証可能なリーグと組み、まだ先駆者でいられるうちに始めましょう。
開発者や学生といった技術層に、彼らが作り競う瞬間にリーチ。人材採用とエンプロイヤーブランディングに最適です。
中継風ビューア、ピッチ脇の看板、シミュレーションのメッセージに、そして共有される各リプレイに、あなたのブランドを。
コミュニティや大学のリーグ、ハッカソンのチャレンジ、あるいは社内リーグ。規模はあなたが決めます。
公式試合はすべて監査可能で再現可能:コード、シード、エンジンのバージョンを保存します。ブランドを結びつけても評判リスクのない、本格的な賞金大会です。
スポンサーはまだいません——最初の一社になれます。誰より早く賭ける方には、目立つ枠と密な対応を。
例:ピッチ脇の看板と、各試合のビューアにあなたの掲示を。
アカウントを作れば数分でオンライン参戦、あるいはクローンしてローカルでプレイ。基本モードなら API も設定も不要で動きます。
python play.py · python sparring.py · python league.py