Что здесь есть, а чего здесь нет
Раньше новый мир в Гримхолде был правкой в коде. Не фигурально: чтобы мир появился, кто-то дописывал его в seed.py, отправлял pull request и ждал ревью. Реестр, черновики, лестница публикации — всё это давно работало, а сам мир всё равно приходил из репозитория.
Но хуже было другое. Мир умел объявить, что в нём происходит: места, людей, фракции, завязку. И не умел объявить, чем он является. Поэтому любой мир получался тёмным фэнтези — даже когда автор писал совсем про другое.
Где именно игра догадывалась за автора
Это не одна забытая настройка. Допущение «здесь тёмное фэнтези» лежало в местах, про которые никто специально не думал:
- Классы. Игроку предлагали следопыта, мага, вора и воина. Четыре слова, зашитые в приложение.
- Деньги. Кошелёк считался в золоте. В мире про восемнадцатый год — тоже в золоте.
- Снаряжение. Один общий список на все миры сразу.
- Имена. Игрок бросает имя герою, и это первое, что он вообще узнаёт о мире. Список был из тёмных веков Европы — германские, норвежские, англосаксонские, кельтские, славянские, византийские. Для тёмного фэнтези верно. Для Петрограда восемнадцатого года — нет.
По отдельности каждый пункт выглядит мелочью. Вместе они означают, что «создать мир» на деле значило «написать историю внутри нашего мира».
Сеттинг — это то, чем мир является
Теперь у мира есть вторая половина, отдельная от фикции. Она называется сеттинг и отвечает ровно на этот вопрос: что здесь бывает.
Сеттинг объявляет эпоху, деньги, снаряжение, классы и имена. Эпоха — обычный текст, и он главнее остального: этим текстом связан рассказчик. Вот пример, который стоит подсказкой прямо в поле:
Тысяча девятьсот восемнадцатый год. Есть винтовки, телеграф, паровозы и керосин. Магия здесь редка, дорого обходится тому, кто её творит, и удивляет людей меньше, чем пулемёт.
Мир указывает на сеттинг, а не хранит его в себе. Так сделано не из аккуратности: текст сеттинга нужен на трёх языках, и все наши миры тёмного фэнтези делят один словарь вместо того, чтобы каждый держал свою копию — и переводил её отдельно.
Класс при этом остаётся костюмом поверх механики. Автор волен назвать класс как угодно и одеть как угодно — но не может сделать его сильнее: хиты и характеристики принадлежат приложению и автору недоступны. Игрок видит нетраннера, кубик видит мага.
Мир собирается по ступеням, и каждая сразу записывается
Дальше автор строит сам мир — в браузере, ступенями: места, люди, фракции, задания, завязка, облик, обложка.
Порядок не вкусовщина. Задание ссылается на людей, завязка называет всё сразу, обложка показывает место — поэтому завязка пишется последней, и только это позволяет ей вообще упомянуть героев по именам. Ступень предлагается тогда, когда всё, на что она может сослаться, уже существует.
Три вещи, которые мы решили заранее и о которых стоит сказать прямо:
Каждая ступень пишет строки в настоящий черновик мира, а не копит их до конца. Каждая ступень — это платный запрос к модели. Закрытый ноутбук между третьей и четвёртой ступенью не должен стоить всего, что уже куплено. Поэтому уйти из мастера можно на любом шаге и открыть редактор на том, что уже есть.
Ступень проверяется против всего, что уже записано, а не против собственного ответа. Задание, ссылающееся на кузнеца, сверяется с составом персонажей в базе. Если модель выдумала того, кого нет, ответ не принимается и она переписывает его сама — это заметно надёжнее, чем молча выкинуть строку и показать автору дыру.
Цена называется до нажатия, а не после. Оценка честно подписана оценкой: длину ответа предсказать нельзя, поэтому берётся дорогой случай. Автор, которому выставили счёт задним числом, — это ровно та неприятность, которую мы обходим; автор, приятно удивлённый суммой, — нет.
Что здесь делает ИИ, а что по-прежнему делает человек
Скучное. Заметки об эпохе можно причесать в канон сеттинга — те же факты, ничего нового. Список имён можно придумать по описанию мира. Каталог предметов — предложить из регистра. Классы — подогнать под мир, который автор уже описал.
И перевод. Костюм класса нужен на русском, английском и украинском, иначе сеттинг не опубликуется — и правильно, иначе английскому игроку предложат «пластуна». Написали на своём языке, нажали «перевести с ИИ» — пустые языки заполнились. То, что вы уже написали руками, не трогается.
Чего ИИ не делает — так это не решает, что миру выходить к игрокам. Автор в Гримхолде — отдельная роль: он создаёт миры и не может их публиковать. Лестница черновик → одобрен → опубликован проходится только человеком с правами администратора, и перепрыгнуть ступень нельзя — мир доходит до игрока лишь тогда, когда под ним кто-то подписался. Это не бюрократия, а единственная защита, которая тут работает: всё, что сгенерировано, дальше становится каноном и накапливается с первого хода.
Последний мир, который пришлось написать кодом
«Красная зима» — восемнадцатый год и магия — первый мир, который не является тёмным фэнтези. Кошелёк в рублях, четыре своих класса, свой каталог, и рассказчик держит эпоху всю партию. Пока это черновик, и для неё это правильное состояние.
Написана она была ещё старым способом — в коде, за несколько дней до всего описанного выше. И ровно это её и делает интересной: пока её собирали, выяснилось, что кошелёк в мире про восемнадцатый год всё равно считается в золоте, потому что менять деньги было негде. Механика была готова, а поменять в ней хоть что-то мог только человек с доступом к репозиторию. Редактор, о котором эта запись, вырос прямо из этого.
Сюда мы и зовём авторов. Если вам интересно построить свой мир — не приключение внутри нашего, а мир со своими деньгами, своим снаряжением и своими словами, — напишите нам на grimhold.world. Роль автора выдаётся руками, и мы читаем каждую заявку.