プログラム可能なバーチャルサッカー

最高の
コードが勝つ。

チームの頭脳(選手・戦術・監督)を書き、決定論的シミュレーターで競います。手元のマシンでもオンラインでも。ロジックはあなたが書き、望めば AI に操縦させることもできます。

$git clone github.com/GoNNoTDa/PyLeague
AI は任意 · 対応
Claude OpenAI Gemini Bedrock Groq Mistral DeepSeek Ollama (ローカル)
始め方は 2 通り

アイデアからピッチまで 30 秒

進め方を選べます:インストール不要でオンライン参戦、または SDK をクローンしてローカルで開発。どちらも同じ決定論的エンジンを使います。

オンライン · インストール不要

アカウントを作成し、チームを保存し、ブラウザから試合やリーグをプレイ。今日いちばん早く始められる方法です。

無料で登録

ローカル SDK · 自分のペースで

プロジェクトをクローンし(Python 3.13 だけ、依存なし)、テンプレートをコピーして自分のマシンで参戦。

$ git clone github.com/GoNNoTDa/PyLeague
仕組み

公平な審判の上に立つ 3 つの頭脳

選手を動かすのではなく、どう判断するかをプログラムします。エンジンは全員に公平で決定論的——同じ seed なら同じ試合。AI はゆっくりとしたペースで判断し、決定論的な層が毎ティック実行します。これによりモデルは毎秒 20 回も考える必要がありません。

10

監督

スコアと時間を読み、方針を決める:攻撃・均衡・守備。

ペース
6

戦術

チームを配置:ライン高、幅、プレス、攻撃サイド。

ペース
9

選手

毎ティック判断:移動・パス・シュート。速く反応的。

ティック
機能

すでにピッチにあるもの

誇張なしの動くプロトタイプ:今日から動きます。

決定論的エンジン

ベクトル物理と明確なルール。同じ seed で試合を完全に再現:公平でデバッグ可能な大会。

マルチプロバイダー AI

監督と戦術は LLM が操作し、すでに Gemini で実際の試合をプレイします。環境変数一つでプロバイダー(Gemini、Claude、OpenAI、Amazon Bedrock、Ollama…)を切り替えられます。

スタミナとスプリント

各選手はスタミナを管理します。スプリントや強いシュートは消耗し、スタミナ切れになると走りもシュートも低下します。戦術に組み込むもう一つの要素です。

リーグと ELO ランキング

全チームを総当たりさせ、勝点と ELO の順位表、そして共有できる HTML レポートを生成。

試合ごとの統計

ボール支配率、シュートと枠内シュート、パスと成功率、奪取と走行距離。スコアだけでなく何を改善すべきかが分かります。

反復のためのスパーリング

複数のシードで複数の相手とチームを対戦させ、勝率と平均値を取得。勘ではなくデータで変更を比較できます。

隔離サンドボックス

第三者のコードは時間制限つきの子プロセスで、ネットワークもディスクも使わず実行:他人のチームとも安全に競えます。

戦術ギャラリー

ティキ・タカ、カテナチオ、カウンター、ゲーゲンプレス……すぐ調整できるテンプレート。

リプレイビューア

各試合を中継のように再生:約 60 fps のピッチ、TV 風スコアボード、統計、そして AI の実況。

Python、依存なし

エンジンは標準ライブラリのみを使用。AI の SDK は任意。テンプレートをコピーすれば数分で始められます。

本物のコード

数行で書くリアクティブな戦術

4 つのつまみ——ライン、幅、プレス、重心——を固定値、または試合に応じて設定します。エンジンがそれを配置に変換します。

mi_tactica.py
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 と戦績を積み上げます。公開ランキングを駆け上がろう。

オープンアリーナ

誰でもチームを登録できる大会。ワンクリックで参加し、主催者が開催します。

公開プロフィール

あなたのチーム、最高 ELO、戦績、リプレイをまとめたページ。あなたの歩みがひと目で。

検証可能な監査 · 賞金大会

公式試合ごとに、各チームの正確なコード(SHA-256 付き)、シード、エンジンのバージョンを保存します。エンジンは決定論的なので、誰でも試合を再現して結果を検証できます——誰も信頼する必要はありません。リーグでは各対戦が一つずつ監査されます。

共有できるリプレイ

任意の試合の公開リンクを生成し、アカウントなしで視聴・監査。コードとリプレイをダウンロードして自分で確かめられます。

フォーマットとテンプレートのリーグ

すぐ使えるテンプレートでリーグを作成:金属ディビジョン(鉄からダイヤ)、国別・大陸別、または自由設定。フォーマット(分数・得点上限・サドンデス)を選ぶと、すべての対戦がそれを継承します。

招待してリーグを共有

主催しますか?登録リンクを生成すれば、リーグが公開でなくても誰でもチームを登録でき、プラットフォームのユーザーを名前で直接招待できます。

戦術バージョンと統計

チームの複数バージョンを保存してラベルを付け、デフォルト戦術を変えずに各リーグで使うバージョンを選べます。相手の戦術は本人が公開しない限り非表示です。各チームには履歴と統計があります。

SDK

ゼロから参戦まで、3 ステップ

PyLeague は SDK です。すでにうまくプレーするテンプレートをコピーして自分のものにし、反復しながら改善します。すべてローカル、決定論的、依存なし。初めてですか?まずアカデミーでチームの作り方を一歩ずつ学びましょう。またはリポジトリの完全ガイドをご覧ください。

01

プロジェクトをクローン

必要なのは Python 3.13 以上だけ。エンジンに外部依存はありません。

$ git clone github.com/GoNNoTDa/PyLeague
02

テンプレートをコピー

チームは 3 層(監督・戦術・選手)からなるフォルダーです。印のある箇所から始め、一度に一つずつ変えていきましょう。

$ cp -r equipos/plantilla equipos/miequipo
03

測り、改良し、競う

プレイして、統計つきのビューアで観戦。スパーリングで複数の相手と一度に比較し、順位表と ELO のあるリーグを開催しましょう。

$ python play.py --home equipos/miequipo --away equipos/algoritmos
$ python sparring.py --team equipos/miequipo
$ python league.py
こんな人に

コードと競争を結びつけるリーグ

プログラミングが一人の練習ではなく、トーナメントになります。最適な相手:

開発者コミュニティ

GDG、ミートアップ、団体:夢中になれ、複数回の題材になる挑戦。

ハッカソンとコンテスト

結果が明確な競技形式:勝つのは最高のコードで、最高のピッチではありません。

教育

大学やブートキャンプ:勝利を目指す試合を通じて、ロジック・AI・データ構造を教えます。

企業

自社ブランドの社内リーグで、技術的なチームビルディングと採用ブランディングを。

プラン

無料で遊ぶ。大きく開催する。

SDK は今もこれからもオープンソースです。イベント用の大会を開きたいなら、ワンストップで用意します。

遊びと学びのために

オープンソース

0 € / ずっと
  • エンジン・SDK・ドキュメント一式
  • 試合ごとの統計とスパーリング
  • リーグ、ELO ランキング、リプレイビューア
  • オンラインプラットフォーム:アカウント、グローバルランキング、アリーナ
  • 共有できるリプレイと検証可能な監査
  • マルチプロバイダー AI(任意)· 使って改変できます
無料で登録
あなたのイベントに

カスタム大会

カスタム
  • 大会運営をワンストップで
  • ビューアとピッチ脇の看板にあなたのブランドを
  • ルール・日程・順位表をご希望どおりに
  • イベント中のサポート
お問い合わせ
ロードマップ

これから

ロードマップ上のアイデア。まだ実装されていません——リーグの方向性を示すために紹介するもので、存在しないものを売るためではありません。

近日

カップとトーナメント

総当たりリーグに加えて、トーナメント表つきのノックアウト形式。

近日

選手レベルの AI

監督と戦術に加えて、選手が実行するポジション別の指示。

検討中

完全なルール

スローインとコーナー、オフサイドとファウル。

検討中

戦術コパイロット

自然言語でプランを書くと、コードに変換されます。

検討中

認知 VAR

際どいプレーを見直す AI 審判。

検討中

強化された隔離

試合ごとにコンテナ/VM を用い、公開実行を大規模に開放。

よくある質問

よく寄せられる質問

PyLeague とは?

足ではなくコードでプレイするバーチャルサッカーの大会です。各選手の頭脳、チームの戦術、監督の判断を Python で書き、決定論的シミュレーターで競います。

Python に詳しくないとダメ?

いいえ。付属のテンプレート——すでに競争力のある戦い方をします——をコピーし、一層ずつ改良していきます。基本的な Python の知識があれば数分で始められます。

無料ですか?

はい。PyLeague はオープンソースで、無料で使用・改変・参加できます。提供する有料サービスはカスタム大会の運営(任意)のみです。

プレイに AI キーは必要?

いいえ。エンジンとサンプルチームは API なしで動きます。AI は任意です。監督や戦術を言語モデルで考えさせたい場合は、好みのプロバイダー(Claude、OpenAI、Gemini、Groq、Mistral、DeepSeek、またはローカルの Ollama)を接続します。

自分のイベントやコミュニティで大会を開ける?

はい。PyLeague はハッカソン、開発者コミュニティ、教育、イベントに適しています。お問い合わせいただければ、カスタム大会をご用意します。

どの OS で動きますか?

Windows、macOS、Linux。エンジンに必要なのは Python 3.13 以上だけで、外部依存はありません。

何もインストールせずにオンラインで競える?

はい。オンラインプラットフォームでアカウントを作成し、チームを保存し、ブラウザから試合やリーグをプレイできます。各試合はサーバー上で隔離実行されリプレイが保存され、グローバル ELO ランキング、公開プロフィール、誰でも参加できるオープンアリーナを備えています。

賞金大会が公正だとどう分かる?

公式試合はすべて再現可能だからです。各チームの正確なコードを SHA-256、シード、エンジンのバージョンとともに保存します。エンジンは決定論的なので、誰でもすべてをダウンロードして試合を再現し、結果が正当だと検証できます——誰も信頼する必要はありません。リーグでは各対戦が一つずつ監査されます。

ブランド&スポンサー

才能が集まる場所に、あなたのブランドを

PyLeague はコードで競う開発者を集めます。届きにくい層に、前向きな文脈——学びと勝利——で。公平で検証可能なリーグと組み、まだ先駆者でいられるうちに始めましょう。

届きにくいオーディエンス

開発者や学生といった技術層に、彼らが作り競う瞬間にリーチ。人材採用とエンプロイヤーブランディングに最適です。

本物の露出

中継風ビューア、ピッチ脇の看板、シミュレーションのメッセージに、そして共有される各リプレイに、あなたのブランドを。

あなたに合わせた形式

コミュニティや大学のリーグ、ハッカソンのチャレンジ、あるいは社内リーグ。規模はあなたが決めます。

検証可能な信頼 · 疑いのない賞金大会

公式試合はすべて監査可能で再現可能:コード、シード、エンジンのバージョンを保存します。ブランドを結びつけても評判リスクのない、本格的な賞金大会です。

創設ブランド

スポンサーはまだいません——最初の一社になれます。誰より早く賭ける方には、目立つ枠と密な対応を。

あなたのブランド
あなたのブランド
あなたのブランド
あなたのブランド

例:ピッチ脇の看板と、各試合のビューアにあなたの掲示を。

プレイを始める

チームを組もう。
あとはコードが決める。

アカウントを作れば数分でオンライン参戦、あるいはクローンしてローカルでプレイ。基本モードなら API も設定も不要で動きます。

$python play.py  ·  python sparring.py  ·  python league.py