Программируемый виртуальный футбол

Побеждает
лучший код.

Пишите «мозг» своей команды —игрок, тактика и тренер— и соревнуйтесь в детерминированном симуляторе, на своей машине или на онлайн-платформе. Логику пишете вы; при желании ею управляет ИИ.

$git clone github.com/GoNNoTDa/PyLeague
ИИ по желанию · совместимо с
Claude OpenAI Gemini Bedrock Groq Mistral DeepSeek Ollama (локально)
Два способа начать

От идеи до поля за 30 секунд

Выберите путь: соревнуйтесь онлайн без установки или клонируйте SDK и работайте локально. Оба используют один и тот же детерминированный движок.

Онлайн · без установки

Создайте аккаунт, сохраняйте команды и играйте матчи и лиги прямо в браузере. Самый быстрый способ начать сегодня.

Бесплатная регистрация

Локальный SDK · в своём темпе

Клонируйте проект (нужен только Python 3.13, без зависимостей), скопируйте шаблон и соревнуйтесь на своей машине.

$ git clone github.com/GoNNoTDa/PyLeague
Как это работает

Три «мозга» над беспристрастным арбитром

Вы не двигаете игроков — вы программируете, как они решают. Движок судит одинаково для всех и детерминирован — тот же seed, тот же матч. ИИ принимает решения медленно; детерминированный слой исполняет их на каждом тике, так что модели не нужно думать 20 раз в секунду.

10

Тренер

Читает счёт и время и задаёт установку: атаковать, баланс или обороняться.

темпмедленный
6

Тактика

Расставляет команду: высота линии, ширина, прессинг и фланг атаки.

темпсредний
9

Игрок

Решает каждый тик: двигаться, пасовать или бить. Быстро и реактивно.

каждыйтик
Возможности

Что уже на поле

Работающий прототип без прикрас: это запускается уже сегодня.

Детерминированный движок

Векторная физика и понятные правила. Тот же seed воспроизводит матч в точности: честные и отлаживаемые соревнования.

Мультипровайдерный ИИ

Тренер и тактика управляются LLM — уже играет реальные матчи на Gemini. Смена провайдера (Gemini, Claude, OpenAI, Amazon Bedrock, Ollama…) через переменную окружения.

Выносливость и спринты

Каждый игрок управляет усилиями: спринты и мощные удары утомляют; без сил он бежит и бьёт хуже. Ещё один уровень для программирования в вашей тактике.

Лига и рейтинг ELO

Сводит все команды между собой, строит таблицу с очками и ELO и готовый к публикации HTML-отчёт.

Статистика по матчам

Владение, удары и удары в створ, передачи и точность, отборы и пройденная дистанция. Вы знаете, что улучшать, а не только счёт.

Спарринг для итераций

Проверяйте команду против нескольких соперников на множестве сидов и получайте процент побед и средние значения. Сравнивайте изменения по данным, а не по наитию.

Изолированная песочница

Чужой код выполняется в подпроцессе с ограничением по времени, без сети и диска: безопасно соревноваться с чужими командами.

Галерея тактик

Тики-така, катеначчо, контратака, гегенпрессинг… шаблоны, готовые к настройке.

Просмотрщик повторов

Каждый матч воспроизводится как трансляция: поле на ~60 fps, ТВ-табло, статистика и комментарии ИИ.

Python, без зависимостей

Движок использует только стандартную библиотеку. SDK для ИИ — опциональны. Скопируйте шаблон и начните за минуты.

Настоящий код

Реактивная тактика в несколько строк

Вы задаёте четыре регулятора —линия, ширина, прессинг и фокус— как фиксированные значения или в зависимости от матча. Движок превращает их в расстановку.

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 есть веб-платформа: создайте аккаунт, сохраняйте команды и играйте матчи и лиги прямо в браузере, без установки. Каждый матч выполняется изолированно на сервере и сохраняет повтор.

Глобальный рейтинг ELO

Каждая команда набирает ELO и историю в матчах между зарегистрированными командами. Поднимайтесь в публичной таблице.

Открытые арены

Соревнования, куда любой может заявить свою команду. Присоединяйтесь одним кликом, а организатор проводит турнир.

Публичный профиль

Ваша страница с командами, лучшим ELO, статистикой и повторами. Весь ваш путь — на виду.

Проверяемый аудит · турниры с призами

Для каждого официального матча мы сохраняем точный код каждой команды (с его SHA-256), сид и версию движка. Поскольку движок детерминирован, любой может воспроизвести матч и проверить результат — не доверяя никому. В лигах каждая встреча проходит аудит по отдельности.

Повторы, которыми можно делиться

Создайте публичную ссылку на любой матч, чтобы посмотреть или проверить его без аккаунта. Скачайте код и повтор и убедитесь сами.

Лиги с форматами и шаблонами

Создавайте лиги по готовым шаблонам: дивизионы по металлам (от железа до алмаза), по стране или континенту, либо полностью свои. Вы выбираете формат —минуты, лимит голов, внезапная смерть— и его наследует каждый матч.

Приглашайте и делитесь лигой

Организуете? Создайте ссылку для подписки, чтобы любой заявил свою команду —даже если лига не открытая— и приглашайте пользователей платформы напрямую по имени.

Версии тактики и статистика

Сохраняйте несколько версий команды, помечайте их и выбирайте, какая играет в каждой лиге, не меняя тактику по умолчанию. Тактика соперника скрыта, пока он сам её не откроет. У каждой команды есть своя история и статистика.

SDK

От нуля до соревнования — за три шага

PyLeague — это SDK: вы копируете шаблон, который уже хорошо играет, делаете его своим и улучшаете итерациями. Всё локально, детерминированно и без зависимостей. В первый раз? Загляните в Академию, чтобы научиться программировать свою команду шаг за шагом, или посмотрите полное руководство в репозитории.

01

Клонируйте проект

Нужен только Python 3.13 или новее. У движка нет внешних зависимостей.

$ git clone github.com/GoNNoTDa/PyLeague
02

Скопируйте шаблон

Ваша команда — это папка с тремя слоями: тренер, тактика и игрок. Начните с отмеченных мест и меняйте по одному за раз.

$ 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, митапы и объединения: захватывающий вызов, которого хватит на несколько встреч.

Хакатоны и челленджи

Соревновательный формат с чётким итогом: побеждает лучший код, а не лучшая презентация.

Обучение

Университеты и буткемпы: учите логике, ИИ и структурам данных, играя на победу.

Компании

Технический тимбилдинг и HR-бренд с внутренней лигой под вашим брендом.

Тарифы

Играйте бесплатно. Проводите с размахом.

SDK был и останется открытым. Хотите провести соревнование для своего мероприятия — сделаем под ключ.

Чтобы играть и учиться

Открытый код

0 € / навсегда
  • Движок, SDK и полная документация
  • Статистика по матчам и спарринг
  • Лига, рейтинг ELO и просмотрщик повторов
  • Онлайн-платформа: аккаунты, глобальный рейтинг и арены
  • Публичные повторы и проверяемый аудит
  • Мультипровайдерный ИИ (по желанию) · используйте и меняйте
Бесплатная регистрация
Для вашего мероприятия

Турнир под заказ

Под заказ
  • Организация соревнования под ключ
  • Ваш бренд в просмотрщике и на бортах поля
  • Правила, календарь и таблица — как вам нужно
  • Поддержка во время мероприятия
Напишите нам
На горизонте

Что впереди

Идеи из дорожной карты. Их пока нет — мы рассказываем о них, чтобы показать, куда движется лига, а не чтобы продать несуществующее.

скоро

Кубки и плей-офф

Формат на вылет с сеткой в дополнение к круговым лигам.

скоро

ИИ на уровне игрока

Указания по амплуа, которые выполняет игрок, в дополнение к тренеру и тактике.

изучаем

Полные правила

Вбрасывания и угловые, офсайды и фолы.

изучаем

Тактический второй пилот

Опишите план на естественном языке — и он превратится в код.

изучаем

Когнитивный VAR

ИИ-арбитр, пересматривающий спорные моменты.

изучаем

Усиленная изоляция

Контейнер/ВМ на матч, чтобы открыть публичное выполнение в большом масштабе.

Частые вопросы

О чём обычно спрашивают

Что такое PyLeague?

Соревнование по виртуальному футболу, где играют не ногами, а кодом: вы программируете на Python «мозг» каждого игрока, тактику команды и решения тренера и соревнуетесь в детерминированном симуляторе.

Нужно ли хорошо знать Python?

Нет. Копируете встроенный шаблон —который уже играет конкурентоспособно— и улучшаете по одному слою за раз. С базовыми знаниями Python можно начать за минуты.

Это бесплатно?

Да. PyLeague — с открытым исходным кодом, его можно использовать, изменять и соревноваться бесплатно. Мы предлагаем лишь необязательные услуги по организации турниров под заказ.

Нужен ли ключ ИИ, чтобы играть?

Нет. Движок и примеры команд работают без какого-либо API. ИИ необязателен: если хотите, чтобы тренер или тактика думали с помощью языковой модели, подключите любимого провайдера (Claude, OpenAI, Gemini, Groq, Mistral, DeepSeek или локальный Ollama).

Могу ли я провести турнир для своего мероприятия или сообщества?

Да. PyLeague подходит для хакатонов, сообществ разработчиков, обучения и мероприятий. Напишите нам — и мы соберём соревнование под заказ.

На каких системах работает?

На Windows, macOS и Linux. Движку нужен только Python 3.13 или новее, внешних зависимостей нет.

Можно ли соревноваться онлайн, ничего не устанавливая?

Да. На онлайн-платформе вы создаёте аккаунт, сохраняете команды и играете матчи и лиги прямо в браузере. Каждый матч выполняется изолированно на сервере и сохраняет повтор; есть глобальный рейтинг ELO, публичный профиль и открытые арены, где может соревноваться любой.

Как понять, что турнир с призами честный?

Потому что каждый официальный матч воспроизводим: мы сохраняем точный код каждой команды с его SHA-256, сид и версию движка. Так как движок детерминирован, любой может всё скачать и воспроизвести матч, чтобы убедиться в законности результата, не доверяя никому. В лигах каждая встреча проходит аудит по отдельности.

Бренды и спонсоры

Разместите бренд там, где таланты

PyLeague собирает разработчиков, соревнующихся кодом: труднодоступную аудиторию в позитивном контексте —учиться и побеждать—. Станьте партнёром честной и проверяемой лиги, пока вы ещё среди первых.

Аудитория, до которой трудно достучаться

Вы достигаете технических специалистов —разработчиков и студентов— пока они создают и соревнуются. Идеально для найма талантов и HR-бренда.

Настоящая заметность

Ваш бренд в просмотрщике в стиле трансляции, на бортах поля и в сообщениях симуляции —и в каждом повторе, которым делятся.

Форматы под вас

Лига вашего сообщества или университета, челлендж хакатона или внутренняя корпоративная лига. Масштаб выбираете вы.

Проверяемое доверие · призы без подозрений

Каждый официальный матч проверяем и воспроизводим: сохраняются код, сид и версия движка. Серьёзный турнир с призами, к которому можно привязать бренд без репутационных рисков.

Бренд-основатель

Спонсоров пока нет: вы можете стать первым. Заметное место и близкое сотрудничество для тех, кто делает ставку раньше всех.

ВАШ БРЕНД
ВАШ БРЕНД
ВАШ БРЕНД
ВАШ БРЕНД

Пример: ваши борта у кромки поля и в просмотрщике каждого матча.

Начните играть

Соберите команду.
Пусть решает код.

Создайте аккаунт и соревнуйтесь онлайн за минуты — или клонируйте и играйте локально. В базовом режиме работает без API и настройки.

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