Случайные таблицы d100 для днд приключений: как генерировать НПС, лут и встречи без часа подготовки

D100-таблица - это таблица со ста пронумерованными вариантами: кинул кубик - получил результат за секунду, без раздумий за столом. Мастеру такие таблицы закрывают лут, нпс и завязки сцен без часа подготовки перед сессией, а частый рандом лечится дедупом, а не надеждой на удачу.
Случайные таблицы d100 для днд приключений: как генерировать НПС, лут и встречи без часа подготовки
Вечер, через час сессия, а у тебя в блокноте - три строчки плана и один недописанный квест. Знакомо? Готовить днд приключения на скорую руку - это не про мозговой штурм за полночь, а про кубик. Кинул d100 - получил лут, характер трактирщика или повод для драки в переулке. Дальше только начитать вслух.
Мы через это прошли не абстрактно - ровно те же таблицы кормят нашего ИИ-мастера в @dnd5chat, и на них мы набили ровно те шишки, которые набивает живой ДМ за столом. Ниже - что реально работает, а что ломается на первом же прогоне. Если весь вечер - это буквально три-четыре часа игры, у нас есть отдельный разбор, как собрать ваншот без недели подготовки.
Что такое случайные таблицы днд и зачем они мастеру
D100-таблица - это таблица со ста пронумерованными вариантами: кинул кубик d100 (или два d10 - один на десятки, один на единицы) и за секунду получил результат без раздумий за столом. По сути - компактная альтернатива готовым модулям днд: не нужно читать сорок страниц авторского приключения, чтобы выдать одну деталь сцены.
Работает это для трёх вещей, которые мастер обязан выдавать на лету, - лут, нпс и завязка сцены. У каждой свой набор граблей, и мы прошли по всем трём. А если проблема шире - не деталь, а вся комната кажется пустой, - у нас есть отдельный чек-лист живого данжа.
Как сгенерировать лут для нпс по таблице DMG без раздумий
Обыскал труп - и что дальше, тянуть цифры из головы? В DMG есть готовая система: Individual Treasure, четыре тира по опасности существа (CR) со своими границами процентов. Условный бандит с CR 0-4 - это горстка меди в 30% случаев, серебро в следующие 30%, редко электрум или золото, и с крошечным шансом платина. Плюс примерно четверть трупов роняет один случайный предмет из снаряжения - не золото, а что-то, что реально носил враг. Мы даже выкидывали самописную таблицу лута в пользу этой книжной - она честнее закрывает разброс “то пусто, то богато”, которого от рандома и ждёшь.
Что было: тип убитого читался из состояния боя, а оно обнулялось сразу после победы - обыск падал в дефолт “1-6 зм” и на русском “бандит” не матчился с английским ключом таблицы. На QA один и тот же труп обыскали восемь раз подряд - и каждый раз он честно выдавал золото.
Что стало: трупы теперь помнят себя - данные о них живут отдельно и очищаются только при новом бое, смене сцены или воскрешении. Второй обыск даёт пустые карманы и подсказку рассказчику: уже обыскано. Если ты водишь руками - тот же принцип работает без базы данных: пометил труп на листе как “обыскан”, и товарищ по группе не найдёт там второй кошель.
Генератор нпс днд: как придумать персонажа на ходу
Самое дорогое время мастера - не бой, а секунда паузы перед “трактирщика зовут… эээ”. Тут таблица нпс днд решает буквально: имя, ремесло, деталь внешности, зацепка характера - четыре броска вместо задумчивого зависания.
У нас в проекте эта задача едва не сорвалась при попытке получить нпс от того же потока, что ведёт сцену: рассказчик ненадёжно вводил новых персонажей в текст, и на живой кампании после пятнадцати ходов с явным нпс и явным квестом в базе не появилось ни одного - ни нпс, ни квеста. Решение - вынести генерацию нпс в отдельный, узкий вызов сразу после того, как сцена написана: не “придумай персонажа по ходу рассказа”, а “извлеки персонажа из уже готового текста”. На двенадцати тестовых сценах та же самая модель в роли рассказчика давала ноль из двух, а в роли узкого извлекателя - семь-восемь из восьми, без единого лишнего нпс и с задержкой около секунды. Разница в стоимости между моделями при этом - семикратная, и мы взяли самую дешёвую, потому что задача узкая и не требует творчества.
Мораль для стола: не пытайся придумывать нпс параллельно с описанием сцены - сначала опиши, потом отдельным вдохом реши, кто там был. Если нужен не случайный, а образный способ придумывать лица за столом - у нас есть отдельный разбор про нпс из пятна.
Как случайные встречи держат баланс днд кампании
Голый рандом для боевых встреч - плохая идея: таблица со шансами 20/50/25/5 не знает, что у тебя в партии два человека вместо пяти, и легко подсунет смертельный бой соло-игроку. Мы это чинили не отказом от рандома, а привязкой полосы сложности к настройкам игры: лёгкость встречи теперь смотрит на выбранный уровень сложности и правила стола, для маленькой партии множитель тира сдвигается вверх - как в обычных калькуляторах баланса для d&d, - и стоит жёсткий потолок: не выше целевой полосы плюс один шаг. В казуальном режиме смертельная встреча автоматически подрезается до тяжёлой.
За столом это переводится просто: держи рядом не одну таблицу встреч, а несколько - под размер партии и настрой сессии, - и не бросай туда, где заведомо знаешь, что бой будет нечестным. Случайность хороша ровно там, где выбор всё равно был бы произвольным.
Откуда взять хоумбрю днд завязку за 30 секунд
Начало сессии - момент, когда чистый лист пугает больше всего. У нас это тоже решено таблицей, просто в две руки: десяток стартовых зерён - у каждого своя локация, роль первого нпс, шаблон первого квеста и фильтр под класс или предысторию игрока - и два десятка “мировых угроз”, общих зацепок фона. Оба списка - это готовые d100-подобные таблицы, выбор из них - обычный random.choice. Разница в том, что выпавший мировой хук фиксируется на всю кампанию: фон стабильный внутри одной истории и разный между разными кампаниями.
Для хоумбрю днд это рабочий рецепт без всякого кода: заведи табличку из десяти завязок и двадцати фоновых угроз мира один раз, а дальше просто кидай кубик перед новой кампанией - и не трогай выпавшее до конца истории. Если строишь песочницу без готового модуля, у нас есть отдельный текст про запуск кампании из трёх гексов - механика завязки там расписана подробнее.
Как не повторяться, генерируя контент по таблице
Главный риск случайных таблиц днд - не пустота, а однообразие. На одном из плейтестов пришёл ровно такой отчёт: все игроки получают похожие стартовые квесты - башня-загадка, портовый капитан с поручением. Лечится это прямыми запретами в промпте рассказчика: не “просыпаешься в таверне”, не “капитан стражи подходит и даёт задание”, не “старик в углу шепчет древнюю тайну”. Детали вместо этого берутся из профессии, места рождения, травмы и цели персонажа - тогда два игрока с одинаковым классом получают разные завязки.
Отдельный слой следит за самим текстом: не повторять сенсорную деталь или мотив, уже использованный в недавней истории, но и не вставлять сюжетный крючок в каждый ход через силу - иначе это читается механически, а не как живая игра. А ещё дедуп ловит повторы там, где рандом сам себя гарантированно повторит: названия квестов нормализуются - нижний регистр, “ё” приравнивается к “е”, лишняя пунктуация схлопывается - и новый квест с уже встречавшимся именем просто не создаётся. Без этого правила ты рано или поздно получаешь жалобу в духе “я четвёртый раз обыскиваю один и тот же кошель на десять золотых в награду”.
Для стола вывод простой: таблица не спасает от повтора сама по себе, спасает список того, что нельзя выдавать снова, и короткая память последних нескольких бросков. Держи под рукой не только таблицу, но и вычеркнутые из неё пункты - так рандом остаётся рандомом, а не заевшей пластинкой.
Ровно эти таблицы и эти же грабли сейчас разгребает ИИ-мастер в @dnd5chat - если интересно смотреть на них не с блокнотом, а с телефона, бот открыт для игры прямо в Telegram.
Частые вопросы
Можно ли водить днд без подготовки вообще?
Полностью без подготовки - нет, но час на сессию можно свести к десяти минутам: заведи по одной d100-таблице на лут, нпс и завязку сцены и бросай кубик по ходу игры вместо того, чтобы придумывать всё заранее.
Какой кубик нужен для d100-таблицы?
Отдельный d100 не обязателен - бросок двух d10 (один считается десятками, второй единицами) даёт то же самое число от 1 до 100, и такой набор есть почти в любом наборе кубиков для DnD.
Как таблицы помогают не повторяться из сессии в сессию?
Сами по себе не помогают - нужен список уже выпавших вариантов и прямой запрет на самые заезженные завязки вроде "просыпаешься в таверне", иначе рандом быстро зацикливается на одних и тех же комбинациях.
Как готовился материал: черновик собирает мой ИИ-конвейер по темам из практики таверны, факты сверяются с первоисточниками и правилами, финальную версию я читаю и правлю руками перед публикацией. Обложку тоже рисует нейросеть. Про кухню — на странице о проекте.