документация
June 21, 2022

Configs Map

Дизайнеры испокон веков были покорным слугами разработчиков: тз, диздок, карта экранов, мокап экрана и так далее. Всё это очень нужно и важно иметь на проекте. Однако меня всегда удивляло, что дизайнеры часто забывают про своё удобство. Документация отличная, в Unity всё удобно разложено по папкам, а вот конфиги… С конфигами чаще всего беда. Представьте, что вы пришли на проект, в котором более десятка различных таблиц с огромным числом зависимостей и ваша задача разобраться во всём этом. Тут на помощь и приходит карта конфигов.

Если вы ожидали такую карту, то можете смело закрывать статью

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

ERD БД Олимпийских Игр

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

Теперь делаем шаги в обратном направлении и порядке, чтобы снова попасть на путь дизайнеров. Главное по дороге не потерять только что полученные знания, о том, как можно визуализировать БД.

Представим, что мы делаем простенький Tower Defense, в котором игрок должен проходить уровни, состоящие из волн врагов. Наши конфиги:

  1. Missions - таблица миссий
  2. Locations - таблица локаций
  3. Enemies - таблица врагов
  4. Behaviours - таблица поведений

Миссия состоят из волн, которые в свою очередь состоят из спавнов врагов. Каждый враг обладает каким-то поведением и характеристиками, а также миссия разворачивается на какой-то локации. Визуализируем:

  1. Таблицы - mind maps (в случае Miro)
  2. Столбцы (или строки?) таблицы - ветви mind map
  3. Зависимости - стрелки с указанием от чего к чему и что вписывать
  4. Около карт ещё удобно оставлять заметки, чтобы подсветить наиболее важные и неочевидные моменты
Configs Map для выдуманного проекта

Вуаля, теперь онбординг нового дизайнера будет происходить быстрее, а ему будет проще разобраться в конфигах, потому что зависимости между ними раскрыты и визуализированы. Конечно же, это не отменяет того, что в ГДД должны быть описаны конфиги, которые используются.

Кстати, минутка интересных фактов из мира математики. Самая первая карта в заметке покрашена в 4 цвета не просто так - именно этого количества цветов достаточно, чтобы никакие соседние области не имели одинаковой раскраски. Подробнее про теорему (да-да, это теорема) можно почитать в википедии, а прикладную часть вот тут. Если кто-то вдруг очень заинтересовался, то рекомендую к прочтению книгу профессора Стюарта «Невероятные Числа» (Professor Stewart's Incredible Numbers). Каждая глава книги посвящена какому-то числу, так в главе 4 (про число 4 соотвественно) поднимается и эта теорема.

Пара страниц из книги

Кто куда, а я пойду играть в Mini Metro. Буду считать, что станции - это конфиги, перегрузку которых нельзя допустить, а пассажиры - новые дизайнеры на проекте, которые и пытаются разобраться во всех тонкостях местных таблиц.

Система конфигов в какой-нибудь ММО

Источник примера ERD

by Chaotic Game Design