Назад к резюме

ООО «Игрон-сервис» · 02.2020—03.2024

Игрон — онлайн-платформа для корпоративных, психологических, настольных игр. Поддерживает одиночные и командные сессии, редактор игровых объектов, демо-режим, 2D/3D-визуализацию и offline-first мультиплеер.

Multiplayer

Offline-First Multiplayer для пошаговых игр

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

Технически реализовал кастомную CRDT-структуру для консистентности состояния, сервер на Socket.IO для репликации операций и алгоритм оптимизированного diff для глубоко вложенных JSON-объектов. Это снизило нагрузку и обеспечило стабильность мультиплеера.

3D

Гибкий 3D-режим на базе модульной архитектуры

Реализовал альтернативный визуализатор на Babylon.js, сохранив игровую логику и обеспечив быстрый переход от 2D (Angular) к 3D без переписывания движка. Модульная архитектура "движок-логика-визуал" позволила внедрить новый рендерер с минимальными затратами.

Для корректного отображения в 3D разработал систему позиционирования: объекты (фишки, карты) автоматически занимают предсказуемые слоты и выстраиваются в слои, что сохраняет правила игры и делает визуализацию управляемой. Решение удовлетворило требования заказчика при минимальных доработках.

Scripts

Визуальный скриптовый язык для игровой логики

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

Ядро поддерживает строгую типизацию с дженериками, асинхронные операции (ожидания событий, таймеры, взаимодействие между клиентами), циклы, условия и отладку в реальном времени. Решение стало ключевым конкурентным преимуществом: гейм-дизайнеры и методисты могут самостоятельно создавать и тестировать сценарии без программистов.

Server

Высокопроизводительный сервер на Rust

Разработал сервер для игровой логики и синхронизации состояний, способный на одной виртуальной машине с [2 vCPU, 4 GB RAM] обслуживать до 10 000 параллельных сессий с низкой задержкой. Rust и строгая типизация обеспечили предсказуемую производительность и устойчивость.

Оптимизированная архитектура позволила отказаться от сложных кластерных решений и снизить затраты на инфраструктуру и администрирование.

Стек технологий

  • TypeScript
  • Angular
  • HTML
  • SCSS
  • Material
  • Babylon.js
  • PostgreSQL
  • Koa
  • Socket.IO
  • NGINX
  • Node.js
  • Ansible
  • Rust