От разрозненных заметок до готового к движку гейм-дизайн-документу

Смотрите наш подробный видеогайд

Ваш гейм-дизайн, скорее всего, выглядит примерно так: идеи персонажей - в Google Doc, список врагов - в тетради, характеристики оружия - в таблице, которую вы открывали один раз в марте, питч - в чате с самим собой, где он утонул, а прототип - в папке на рабочем столе, в которую вы боитесь заглянуть. Ничто из этого не связано. Переименовать персонажа - значит поправить четыре файла. Сбалансировать оружие - значит сверять таблицу с документом и со своей памятью. А передать всё это AI-ассистенту или коллеге - вы даже не знаете, с чего начать.

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

Одна локальная папка для всего

Локальный проект IMS Creators даёт вам всё в одной директории, которой управляете вы:

Одна папка, ваши файлы. Каждый документ, каждая игровая сущность, каждый вложенный файл - всё в одном месте. Содержимое можно экспортировать в JSON-формате в любой движок.

Файлы, которые можно читать. Обычные .md файлы, открытый JSON - откройте их в любом текстовом редакторе, контролируйте версии через git или добавьте к ним любой AI-инструмент.

Структура, которая имеет смысл для игр. Не универсальные документы - игровые объекты, персонажи, враги, оружие, всё связано и доступно для запросов.

Работает офлайн, работает вечно. Нет интернета? Ваш проект расположен на вашем устройстве.

Ничего не нужно загружать и регистрировать. Нужна всего одна папка, и её настройка занимает пару минут.

Перейдите на ims.cr5.space/desktop, скачайте приложение для Windows, установите и запустите. На стартовом экране вы увидите три варианта.

Нажмите Создать, чтобы начать новый локальный проект, и перед вами появится простая форма с тремя полями:

1. Тип - выбираем Локальный.

2. Название - дайте проекту имя. Мы используем "Zombie Mall Crawl" - абсурдный рогалик, где выжившие пробираются через заражённый зомби мегамолл.

3. Расположение - по умолчанию это папка "Документы", путь можно изменить.

После нажатия Далее следующим шагом станет выбор шаблона - он наведёт на мысли и подскажет, если не знаете с чего начать

Нажмите Создать. IMS Creators создаёт проект, импортирует стартовый шаблон и открывает его в новом окне - внутри у вас уже естьпростейший проект геймдизайна со структурированными элементами.

Рассмотрим структуру проекта на диске

Откройте папку проекта в файловом менеджере и посмотрите, что создано:

У каждой части своя роль. .md файлы - обычный Markdown, который открывается где угодно: файл обзора игры содержит концепцию, фантазию игрока, однострочный питч. Каждый .ima.json файл - игровая сущность (персонаж, враг, оружие, предмет) с id, названием, типом, полями, блоками и ссылками - читаемая в любом текстовом редакторе или напрямую игровым движком. Каждый .imw.json файл определяет рабочее пространство - метаданные. Папка attachments/ хранит всё, что вы перетаскиваете в приложение: изображения, диаграммы, концепт-арт. А .imsc/ - внутренняя служебная информация IMS Creators (id проекта, настройки, история AI, локальная база данных) - управляется автоматически, трогать её не нужно.

Почему это важно: всё, что мы создали, - обычный текст. Раз проект живёт на вашем диске, вы за него отвечаете: сделайте резервную копию через синхронизацию в облаке (PRO), скопировав папку или через git. Но главная выгода в том, что данные живут в файлах, которые можно контролировать версиями через git, читать в любом текстовом редакторе, поделиться архивом папки, передать AI-инструментам напрямую и импортировать в игровой движок как JSON. Это не приложение для заметок с кнопкой экспорта - файлы и есть формат.

Контейнер готов. Теперь разместим в нём что-то стоящее.

Напишите концепцию игры

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

Чтобы создать первую страницу: очистите стартовый шаблон, затем нажмите Создать элемент в левой панели.

В меню выбора типа выберите Текст (.md) - Markdown-элемент, именно то, что нужно для концепции игры.

Назовите элемент "Об игре".

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

Концепция - это «что»: игра, которую вы строите. Теперь нужен «кто» - персонажи. И вот тут концепция разрозненных заметок начинает рассыпаться

Превратите персонажа в структурированный игровой объект

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

Хлоя - бывший охранник торгового центра, 34 года. У неё 100 здоровья и 40 выносливости. Её роль в группе - замедлять врагов и защищать более слабых выживших.

Читается неплохо, но как вам поможет данная информация? Можно ли сделать запрос («какие выжившие имеют 40+ выносливости?»)? Можно ли переиспользовать? Можно ли сбалансировать - здоровье и выносливость это числа, спрятанные в предложении, так что их нельзя отсортировать, сравнить или отдать движку? Может ли что-нибудь сослаться на неё, чтобы переименование не ломало все упоминания? К сожалению, нет. Персонаж в обычном тексте - документ, а персонаж, который можно переиспользовать, - это данные.

Для этого в IMS Creators существует Игровой объект - элемент (файл на диске, часть проекта), но вместо одного большого блока текста у него есть поля: именованные типизированные свойства с реальными значениями. Разница видна сразу:

Чтобы сделать Хлою игровым объектом, нажмите Создать элемент - ту же кнопку, что использовали для концепции в Markdown.

В меню выбора типа выберите Игровой объект. Назовите элемент «Хлоя» - это станет именем файла и заголовком.

Новый игровой объект поставляется с готовыми блоками: Галерея для её портрета или концепт-арта, Описание для краткого введения, Свойства, где живут структурированные поля, и Локализация для переведённых названий, когда игра выйдет на других языках.

В блоке Свойства - компактной таблице из названия и значения - добавьте три поля:

Здоровье - значение 100.

Выносливость - значение 40.

Роль - значение Защитник.

Чтобы добавить поле, наведите курсор на строку и нажмите кнопку + (с подписью «Добавить свойство после»). Пока держите значения простыми - типы этим полям мы зададим на Второй неделе, когда включится типизация, и редактор начнёт проверять, что может хранить каждое поле.

В меню каждого поля можно Настроить (тип и параметры), ДублироватьКопироватьВставить и Удалить

Хлоя теперь - настоящий, переиспользуемый элемент, сохранённый автоматически. Удобство такого решения раскрывается по мере роста проекта: ссылайтесь на неё где угодно (её способности, предметы и квест, где она появляется, будут указывать на элемент, а не на скопированное имя), выгружайте её данные в JSON, который читает движок, и балансируйте числа как значения, а не перечитывая предложения. Это кажется большей работой, чем написать предложение - для одного персонажа да. Но позже дублирование героя и правка одного поля дадут нового персонажа без переписывания абзаца, а сортировка десятков персонажей по числам будет явнл удобнее перечитывания сплошного текста.

Одному протагонисту одиноко. Монстры уже идут!

Соберите всех врагов в одну папку

Теперь у гас есть структурированный персонаж,. Но, скорее всего, где-то уже "припрятана" пачка идей врагов - сообщение, отправленное в 2 часа ночи, заметка на телефоне. Таклй беспорядок не мешает в самом начале: любое творчество начинается с небольшого хаоса. Проблемы приходят позже, когда смотришь на весь бестиарий и голова идёт кругом, а гейм-дизайн начинает напоминать археологию.

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

Чтобы собрать её, найдите Создать на левой панели или щёлкните правой кнопкой по существующей папке и выберите Создать папку. Введите имя 'Враги' и нажмите Создать.

Откройте папку Враги, нажмите Создать элемент и выберите Игровой объект. Назовите его Посетитель-ходячий (Mall-walker), затем добавьте поля, которые должны быть у каждого врага, - ЗдоровьеСкоростьУрон и Размер. Заполните значения: Посетитель-ходячий получает Здоровье = 60Скорость = 30Урон = 8Размер = 1.

Добавьте второго врага: Создать элемент → Игровой объект, переименуйте его в Обжора из фуд-корта (Food-court runner) и задайте Здоровье = 40Скорость = 75Урон = 5Размер = 2. Два врага, которых легко сравнить - одинаковые поля, разные показатели.

Ценность структуры нигде не видна так ясно, как при создании нескольких вариантов одного объекта. Скажем, нужен тяжёлый бронированный Посетитель-ходячий. Щёлкните правой кнопкой по Посетитель-ходячий и выберите Дублировать; IMS Creators копирует всё целиком и создаёт копию. Переименуйте её в Посетитель-ходячий (бронированный) и просто поднимите Здоровье до 120, Урон до 12, а Размер до 1.5 - несколько правок, и готов новый враг. Если вы вдруг захотите поменять название врагов, то вся логика сохранится: так как ссылки указывают на элемент, а не на напечатанную строку, переименование ничего не ломает, и ссылки продолжают работать, как бы ни менялись заголовки и свойства.

Загляните внутрь Враги/ на диске - каждый враг это файл: Посетитель-ходячий.ima.jsonОбжора из фуд-корта.ima.json - открытые JSON-документы, содержащие ровно те свойства, что вы добавили.

Что вы получаете: всё в одном месте, дублирование вместо перепечатывания, простую балансировку через общие числовые поля и данные, которые легко прочитает движок. Сторона дизайна решена. Но движок всё ещё понятия не имеет, что всё это существует.

Заставьте дизайн-документ и код согласоваться

Вот пример ситуации, в которую каждый из нас может узнать себя: дизайнер обновляет speed врага Посетитель-ходячий до 60, программист, работая по старой заметке, использует значение 30, и дизайн с кодом незаметно расходятся, вызывая бесконечные споры о том, кто прав. Дисциплина и бесконечные созвоны тут не помогут - движок должен подтягивать тот самый файл, который правил дизайнер. А для этого сам дизайн нужно превратить в понятный движку формат.

Возьмём папку Враги. На диске каждый враг - обычный, чистый, структурированный JSON-файл, например Враги/Посетитель-ходячий.ima.json. Такой открытый JSON - самый быстрый и прямой мост между дизайном и кодом:

JSON - обычный текстовый формат, который умеет читать любая программа - без специализированного экспорта и без привязки к платформе.

Он структурирован - числа остаются числами с теми же именами полей, что вводил дизайнер, а не текстом, который нужно парсить.

Он обновляется в момент сохранения - правите в IMS Creators, и вместе с вами меняется тот самый .ima.json, который загружает движок.

Один файл, два потребителя: дизайнер правит его в приложении, движок при следующей загрузке считывает новое значение.

Для самой простой и наглядной настройки разместите проект IMS Creators Desktop прямо в директории с Godot-проектом - тогда дизайн и код окажутся по соседству, а данные попадут на диск рядом с движком. Откройте Враги/Посетитель-ходячий.ima.json в любом текстовом редакторе. Это JSON-документ с небольшим служебным блоком сверху - idblocks и title элемента. Что важно для движка - секция values -> props, которая хранит ровно те поля, что вы ввели:

Вот и всё - те же поля, что вы задали в папке, лежат в простом, понятном всем файле. Дизайнеру не нужно перепечатывать их для движка, а движку не нужно считывать их из текста.

В Godot наш пример - сцена на этаже мёртвого молла с Хлоей и тремя врагами (Посетитель-ходячийПосетитель-ходячий (бронированный)Обжора из фуд-корта) - синхронизирован с дизайном. У каждого врага есть экспортируемый data_path, указывающий прямо на его .ima.json, а скрипт Enemy считывает speed и size обратно в сцену:

Теперь Godot видит speed = 30 и size = 1 для Посетителя-ходячего - те же числа, что задал гейм-дизайнер в приложении. Если поднимите Скорость или Размер в IMS Creators, то сохранив и перезагрузив сцену - враг действительно побежит быстрее или станет крупнее.

Меняете значение в IMS Creators - и Godot при следующем запуске читает новое. Дизайн и код наконец работают с одними и теми же данными, один источник истины: никаких дубликатов (никто заново не вводит speed и не извлекает его из предложения), никакого расхождения (ребаланс в приложении мгновенно становится данными на диске) и дружелюбно к git (каждое изменение баланса можно просмотреть и откатить).

Вся арка в одном абзаце

Разрозненные заметки стали одной локальной папкой. Папка получила настоящую Markdown-страницу дизайна для концепции, затем структурированный игровой объект для персонажа, затем обычную папку со всеми идеями врагов. А поскольку каждый элемент всё это время был обычным структурированным файлом, открытие одного .ima.json и загрузка его прямо в движок замкнули круг. Прописано, структурировано, связано и готово к движку - от «идеи в голове дизайнера» до значений в игре» теперь одна папка, которую можно открыть.

Дальше: связываем дизайн

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

Попробуйте сами. Скачайте IMS Creators, откройте ims.cr5.space/desktop, создайте проект и пройдите весь этот путь за несколько минут: концепция, один персонаж, одна папка врагов и один .ima.json, загруженный в ваш движок.

Будем рады Вашим вопросам и обратной связи, создавайте интересные миры вместе с IMS Creators!