Frostfall: Разработка сетевого шутера — мой опыт

В конце 2018 года я участвовал в разработке сетевого шутера в американской компании. Ниже описаны мои задачи и вклад в проект.

Мои задачи в разработке Frostfall

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

Вот некоторые из моих задач:

  1. Система эмоций: Я реализовал систему эмоций, работая с сетевым кодом, так как другой программист не справился с этой задачей.
  2. Подсветка урона: Я разработал подсветку, указывающую направление полученного урона. Первоначально планировалась подсветка краёв экрана, но тестирование показало её неэффективность. В итоге подсветка была переработана и размещена вокруг игрока.
  3. Интеграция озвучки: Я полностью интегрировал звуковое сопровождение игры, включая звуки перезарядки, шагов по разным поверхностям и другие эффекты. Этот опыт был для меня новым, и интеграция заняла около недели.
  4. Система инвентаря: После выявления неэффективности существующей системы, я полностью переработал её, включая сетевой код. Результатом стала значительно улучшенная система.
  5. Система сбора игровой статистики: Для сбора данных использовался Percona Monitoring and Management, а для анализа и отчётности — Grafana.
  6. Физика отскоков: Я реализовал симуляцию броска предметов с реалистичными отскоками от разных поверхностей. Ввиду сетевой архитектуры игры, симуляция была максимально детерминированной. Несмотря на высокую трудоёмкость, результаты оказались отличными, но впоследствии от этой фичи отказались по решению команды.

Другие аспекты работы

Помимо указанных задач, я также занимался:

  • Эффекты заклинаний: Разработкой и синхронизацией эффектов заклинаний (ускорение, замедление, притягивание, заморозка), с особым вниманием к комбинированию эффектов (например, компенсация притягивания чёрной дырой заклинанием рывка).
  • Бумеранг: Корректировкой механики бумеранга для корректного взаимодействия с другими объектами.
  • Система обучения (Tutorial): Разработкой системы обучения, взаимодействующей с основной игрой и отслеживающей выполнение заданий игроком.
  • Таймер обратного отсчёта: Разработкой таймера обратного отсчёта.
  • Интеграция 3D-модели кошки: Интеграцией 3D-модели кошки в игру.

За время работы над проектом я выполнил множество задач, часть из которых была переработана или удалена в процессе разработки. Я рад участию в проекте и работе в сильной команде. Хотя моя роль не была ключевой, я горжусь своим вкладом. После завершения работы над игрой я перешёл на бэкенд-разработку, занимаясь беком магазина, статистики и других служебных компонентов.

Что будем искать? Например,программа