Вступить в клуб →
лёгкаявопросАрхитектура игрового кода

Баланс оружия вынесли из констант в ассеты-конфиги: что это даёт

Урон, скорострельность и разброс каждого оружия раньше были константами внутри класса Weapon. Их вынесли в отдельные ассеты-конфиги на основе ScriptableObject, и оружие при старте читает параметры из ассета. Что по сути изменилось?

  • ScriptableObject — это компонент без Update: чтобы игра увидела параметры, конфиг всё равно надо повесить на объект сцены и следить за порядком загрузки
  • Конфиги нужны только ради видимости чисел в инспекторе: из кода к ним всё равно приходится обращаться поиском по имени файла, поэтому кода стало больше
  • Данные стали отдельными ассетами: дизайнер правит баланс без изменения кода, а один ассет используют все экземпляры оружия
  • Главный выигрыш в скорости: чтение поля из ассета быстрее обращения к полю обычного класса, потому что данные лежат в нативной памяти движка

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела