Кейс: система учёта для футбольной симулятора – нестандартный проект с таймерами и чатами

Время чтения - 4 мин.
Дата публикации 11.06.2026

Обычно мы делаем CRM, маркетплейсы, личные кабинеты. Но однажды к нам пришёл заказчик с необычным проектом — многопользовательской футбольной игрой в браузере. Игроки управляют футболистами на поле, каждый ход — 1,5 минуты, нужно координацию действий, чаты, таймеры, расчёт движения мяча.

Мы решили реализовать это на Falcon Space. Да, это не типичное применение, но платформа справилась. Проект занял 6 месяцев, бюджет — около 1,2 млн руб. Расскажу, как мы это сделали и почему даже нестандартные задачи можно решать на Falcon Space.

Что такое симулятор футбола

Заказчик хотел игру, где в каждой команде — несколько реальных игроков (людей). Каждый игрок управляет своим футболистом (одна позиция на поле). Вся игра разбита на ходы по 90 секунд. За ход каждый футболист перемещается на новую позицию (поле — сетка 10x10), отдаёт пас, бьёт по воротам. Бизнес-логика (движение мяча, взятие ворот) рассчитывается сервером в конце каждого хода.

Особенности:

  • Нужно синхронизировать действия 22 игроков одновременно.
  • Встроенные чаты для команд (чтобы координировать стратегию).
  • Таймеры (обратный отсчёт до конца хода).
  • Расчёт физики мяча (SQL-процедуры с учётом позиций игроков).
  • Проведение чемпионатов и турниров.

Заказчик сначала хотел писать игру с нуля на Node.js + WebSockets, но потом обратился к нам — мы убедили попробовать Falcon Space.

Как мы реализовали игровую логику на Falcon Space

Хранение состояния игры. Каждый матч — это таблица с полем positions (JSON), где хранятся координаты всех игроков на поле. Каждый ход — новая строка в таблице match_moves. Движение мяча — отдельная таблица.

Таймеры. Использовали встроенный механизм .NET Cron (плановые задачи). Запускается таймер на 90 секунд, после чего вызывается процедура, которая фиксирует ход, рассчитывает новое положение мяча и игроков, генерирует следующий таймер. Всё через SQL.

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

Чаты команд. Встроенный чат Falcon Space с привязкой к матчу и команде. Игроки обсуждают стратегию.

Проведение чемпионатов. Справочник команд, участников, расписание матчей. Система автоматически создаёт матчи по расписанию, запускает таймеры.

Самой сложной была логика расчёта движения мяча — это десятки условий (кто ближе к мячу, кто перехватил, удар, отскок). Написали это на SQL (T-SQL) с использованием временных таблиц и циклов. Работает за 0,2 секунды для одного хода.

Технические детали

WebSockets не понадобились. Обновление информации о матче происходит через AJAX-запросы раз в 2 секунды (браузер клиента спрашивает: «что изменилось?»). Это создаёт нагрузку на сервер, но мы протестировали — 100 одновременных игроков дают около 50 запросов в секунду, бюджетный VPS с 4 ядрами справляется.

Таймеры через SQL Server Agent. Запускаем задачу, которая при начале матча создаёт запись в таблице active_timers. Отдельный процесс раз в секунду проверяет, не истекло ли время, и запускает процедуру расчёта хода.

JSON для хранения позиций. MS SQL Server умеет работать с JSON: можно сохранить координаты в текстовом поле, а потом парсить. Это упростило хранение переменных данных.

Результаты и отзыв

Из отзыва заказчика (Startpack): «Делаем большой проект, интернет-игру, с помощью этого сервиса получилось намного сократить затраты и ускорить получение прототипа игры. Многие функции не пришлось делать новые, они уже были разработаны раньше. Команда разработчиков всегда на связи».

Цифры:

  • Игра работает в тестовом режиме с 50 активными игроками.
  • Проведено 200 матчей, 1500 ходов.
  • Время расчёта одного хода — 0,3 секунды.
  • Сервер — VPS за 5000 руб/мес (4 ГБ RAM, 2 ядра).
  • Проект окупится через 8 месяцев после выхода в релиз (за счёт монетизации — платные турниры).

Заказчик планирует добавить 3D-визуализацию (через Three.js) и мобильное приложение, но серверная часть останется на Falcon Space.

Что это значит для вас

Falcon Space создавался не для игр, но этот кейс доказывает: если ваша задача нестандартна (сложная бизнес-логика, таймеры, очереди, расчёты), платформа может справиться. Вам не придётся переходить на другой стек. Всё остаётся на SQL, а значит, вы сохраняете все преимущества:

  • Быстрые изменения (изменил процедуру — и готово).
  • Низкая стоимость поддержки (один SQL-специалист).
  • Надёжность и безопасность.

Если у вас есть «нестандартная» задача, не спешите нанимать разработчиков на Java/Python. Приходите к нам, и мы обсудим, можно ли реализовать это на Falcon Space. Часто — да.

Насколько полезной была статья?
Falcon Space, автор блога

Автор статьи - Руслан Раянов

Cоздатель платформы Falcon Space
Запрос расчета стоимости веб-проекта на базе Falcon Space
Если видео Youtube плохо грузится, то попробуйте найти видео в ВК видео на канале Falcon Space
Сайт использует Cookie, Яндекс Метрику. Используя сайт, вы соглашаетесь с правилами сайта. См. Правила конфиденциальности и Правила использования сайта OK