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