Название: Game Backend C++ Engineer (Gameplay team)
Компания: Scorewarrior
Местоположение: Лимассол, Кипр / На территории работодателя
Scorewarrior — компания-разработчик и издатель игр, расположенная в Лимассоле, Кипр. Компания специализируется на жанре 4X-стратегий и ставит амбициозную цель — сделать свою популярную игру Total Battle №1 среди стратегических игр в мире. Наша команда состоит из более чем 200 увлеченных, талантливых, самостоятельных и постоянно развивающихся профессионалов, которые любят создавать высококачественные игры.
Наш продукт: В настоящее время мы работаем над Total Battle — MMO-стратегией в жанре 4X с глубокой политической системой и большим количеством взаимодействия между игроками. Игроки берут на себя роль командира и должны развивать свой город, заключать союзы, сражаться с монстрами и завоевывать других игроков. Мы постоянно разрабатываем новую игровую механику, и проект продолжает расти.
Кодовая база нашего игрового проекта насчитывает около 300 тыс. SLOC и состоит из нескольких сервисов, работающих в нескольких сотнях экземпляров. Игровые сервисы представляют собой шардированную систему для горизонтального масштабирования.
Наша команда ищет как Middle, так и Senior специалистов с уверенным знанием C++ и принципов проектирования для работы над созданием новых игровых функций для масштабного многопользовательского проекта с долгосрочным геймплеем.
Задача нашей команды и стоящий перед нами вызов — создать выдающуюся техническую архитектуру, которая обеспечит качество, гибкость и простоту при разработке внутриигровых функций.
Задачи:
- Разрабатывать и внедрять решения для новой игровой механики — на основе документации от гейм-дизайнеров создавать техническое задание и реализовывать его.
- Подготавливать RFC-документы, описывающие ваш подход, и обсуждать их с командой перед внедрением.
- Доставлять ваше решение в продакшн и обеспечивать его бесперебойную работу, отслеживая его поведение после развертывания.
- Рефакторить и оптимизировать существующую функциональность для улучшения производительности, поддерживаемости и масштабируемости.
- Проводить код-ревью для других членов команды и следовать командным соглашениям по стилю кода и лучшим практикам.
- Создавать функциональные прототипы для проверки идей и механик при необходимости.
- Писать и поддерживать техническую документацию для реализованных функций и принятых решений.
- Участвовать в командных встречах и обсуждениях для синхронизации по приоритетам и прогрессу.
Требования:
- Отличные коммуникативные навыки и инициативность.
- Опыт разработки на C++ в продуктовой компании от 3 лет.
- Опыт бэкенд-разработки от 2 лет (не обязательно на C++).
- Глубокие знания принципов проектирования ПО и умение применять их на практике.
- Способность анализировать и декомпозировать сложные задачи на более мелкие, управляемые этапы.
- Практический опыт сетевого и многопоточного программирования.
- Практический опыт работы с реляционными базами данных.
- Уверенное владение Linux-средой для разработки и отладки.
- Знание или желание изучить Python для разработки инструментов и автоматизации.
Будет плюсом:
- Наличие образцов кода, которые вы можете нам показать.
- Знание других высокоуровневых языков программирования (для общего понимания).
- Практический опыт применения Domain-Driven Design в реальных проектах.
- Опыт создания приложений с использованием Akka.NET, Microsoft Orleans или аналогичных actor-based фреймворков.
Мы используем:
- C++20, Clang и CMake.
- Boost — только как библиотеку, не для игрового кода.
- PostgreSQL.
- GitLab, TeamCity, Ansible.
- SonarQube, Clang-Tidy, Clang-Format.
- Onboarding, coding conventions.
- Python для утилит.
- Linux.
Наши технические разработки:
- Библиотека/фреймворк готовых решений для создания игровых фич.
- ORM — позволяет не писать код для сохранения в БД.
- Генератор кода для бинарного RPC-протокола и ORM.
- Pub/sub система событий для игровых клиентов.
- Телеметрия, позволяющая отслеживать состояние продукта в реальном времени (через Grafana).
- Интерпретатор выражений для гибкой настройки игры.
- Среда HotReload с ежедневными обновлениями игры.
- Синхронный и асинхронный сетевой дизайн.
- Внутренняя система событий.
- Внутренняя персистентная и транзакционная система сообщений.
- R-tree based world map.
Что мы предлагаем и наши бенефиты:
- Команда профессионалов, увлеченных геймдевом и стремящихся сделать Total Battle №1 стратегической MMO-игрой.
- Отличный пакет вознаграждений, включая 13-ю зарплату.
- Полное покрытие расходов на релокацию для вас и вашей семьи на Кипр (Лимассол).
- Современный, солнечный офис у моря.
- Частная медицинская страховка для вас и членов вашей семьи.
- Ежемесячное пособие на дошкольное, школьное и университетское образование для детей сотрудников.
- Компенсация обедов.
- Спортивный и фитнес-бонус.
- Оплачиваемые компанией возможности для личного развития (профессиональные и языковые курсы, книги и т.д.).
- Бонусы за выдающиеся результаты, стаж работы, свадьбу и рождение ребенка.
- Дружеские ежемесячные офисные вечеринки и грандиозные ежегодные выездные празднования дня рождения компании и Рождества.