{"id":3842,"url":"\/distributions\/3842\/click?bit=1&hash=4c67e91a2a588f03561899c61c4eabfeb37008500c6498f3b9533b2e8845d454","title":"\u041e\u0431\u043e\u0436\u0430\u0435\u0442\u0435 \u043a\u043e\u043f\u0430\u0442\u044c\u0441\u044f \u0432 \u0434\u0430\u043d\u043d\u044b\u0445? ","buttonText":"\u0412\u0430\u043c \u0441\u044e\u0434\u0430","imageUuid":"11cfcef6-3125-52d0-8ef8-49fb205d3efe","isPaidAndBannersEnabled":false}

Разрабатываем свою карточную игру с помощью nanDECK

Давно мечтали о своей ККИ, убийце MTG и Hearthstone? Как известно, долгий путь начинается с первого шага, и в случае карточных игр таковым может стать бумажный прототип.

В этой статье я расскажу как сверстать и напечатать карточную игру с помощью программы под названием nanDECK.

Наша цель: подготовить PDF с карточками нашего прототипа в удобной для распечатке форме. Поскольку макет игры надо быстро и часто менять, мы обеспечим стремительную пересборку этой PDFки.

Почему nanDECK?

Full Disclosure: существует множество альтернативных программ для разработки своих карточных игр, тысячи их. Большинство из них, вероятно, более удобны. Но так уж получилось, что я разобрался именно с титульным софтом, и оказалось, что он-таки неплохо справляется со своей задачей. Поэтому я решился поделиться с вами своим опытом, и сегодня мы научимся пользоваться nanDECK.

У программы я могу отметить следующие плюсы: интеграция с Google Docs, простота внесения изменений, наличие своего-вроде-как языка, куча классных фичей; а также следующие минусы: присутствие багов, сложности при работе с кириллицей и программист-стайл интерфейс.

Что понадобится для работы

Как известно, нет лучше инструмента для геймдизайнера, чем эксель, поэтому сам прототип мы разработаем в Google Spreadsheets. Я придумал несколько простых карточек заранее, вот они. Вы можете создать и свой документ, но не забудьте открыть доступ по ссылке.

Что в документе для нас важно, так это названия столбцов. Ну, для примера, пусть будут такие:

  • NAME — название карты (например, «Лютный укус»)
  • EFFECT — текст действия карты («Нанести 300 урона»)
  • MANA — мана-стоимость («3»)
  • TYPE — тип карты («Заклинание»)
  • IMAGE — изображение для карты («Bite.jpg»)
  • FLAVOUR — нарративный текст («Лютоволк жрет мою лютню!», - Ю.А. Лютик)
  • QUANTITY — сколько карт нам понадобится для распечатки

Тут стоит обратить внимание, что прототип в облаке, что чрезвычайно удобно.

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

Синтаксис

Центральное окно занимает редактор скриптов. В нем мы и будем работать, отвлекаясь лишь на визуальное оформление карт.

Интерфейс программы

Итак, приступим к написанию скрипта! Начинаем со следующего заклинания:

LINKMULTI = QUANTITY

LINKMULTI указывает на столбец, который используется для умножения количества карточек в результирующем наборе карт. То есть, если мы хотим в итоге распечатать 2 такие-то карточки, то в этом столбце в Spreadsheets поставим число 2. В нашем случае столбец называется QUANTITY, на него и ссылаемся.

Поставив курсор на директиву (например, на LINKMULTI) и нажав F1 можно прочитать справку внутри софта.

Чтобы наш результат не исчез, сохраняемся ("Save") и запоминаем, куда сложили текстовый файл со скриптом: потом сюда же будем складировать изображения.

LINK = 1QqtBHpPZ81HvIidBqXvxtBB_nT4Kuqk8wkGOHfhMcdY

Далее вносим ссылку на наш Google Spreadsheet. Данный буквенный код можно найти в адресной строке вашего документа ("https://docs.google.com/spreadsheets/d/ВОТ_ТУТ"). Альтернативно можно указать и локальную xlsx таблицу, тогда значение было бы чем-то вроде C:\MyFolder\MyProt.xlsx.

Проверим, что программа синхронизируется с облаком. Для этого жмем "Validate deck". Внизу все должно быть OK. Продолжаем писать код следующей директивой:

PAGE = 21, 29.7, PORTRAIT, HV

Настройки директивы PAGE звучат довольно интересно: размеры в сантиметрах, ориентация и дополнительные качества (в данном случае, центрирование по горизонтали и вертикали).

BORDER = NONE, #000000, 0.2 GAP = 0.1, 0.1

BORDER — настройки границы карты: тип (ROUNDED, RECTANGLE, MARK, NONE) , цвет и толщина. У меня NONE, но решил привести здесь на тот случай, если у вас-таки будет не NONE.

GAP — расстояние между карточками.

Следующий блок мы сделаем автоматом, нажав на кнопку Visual Editor.

Она вот тут

После этого нам понадобятся кнопки Image, HTMLFont и HTMLText, что в левой части нового неистового экрана. Первым делом вставим фон, нажав на Image. В правой части окна появилась строка Image. Щелкаем по ней правой кнопкой и указываем в поле "Image file" локацию нашей подложки (среди прилагаемых изображений она называется "BG.png").

Запускаем спутники на орбиту

Остается добавить изображения и всяческие текстовые поля для конкретных карточек. Для начала разберемся с тектовыми данными. Вообще синтаксис, по-видимому, как-то связан с HTML, поскольку есть говорящие об этом кнопочки. Для текстовых полей нам понадобится сначала HTMLFont.

Это настройки шрифта, для дальнейших текстовых полей. Выбираем в левой панели HTMLFont, затем в правой панели правым кликом открываем настройки. Пусть это будет настройка лишь для названия, поэтому назовем его NameFont.

Добавляем HTMLText

Затем выбираем HTMLText. Давайте-ка заведём название карточки из прототипа. Чтобы появилась связь с таблицей, в настройках HTMLText в поле "text" нужно указать название столбца в квадратных скобках (т.е. [NAME]). Также указываем ссылку на наш шрифт в поле "htmlfont".

Настройки HTMLText

Обязательно нужно отметить флаг Explorer render, иначе не видать вам кириллицы. Флажок Transparent убирает фон. Также обратите внимание на формат в поле "range".

Далее добавляем еще один Image и указываем в поле "image file" [IMAGE]. Чтобы программа подтянула изображения по ссылкам из таблицы, необходимо, чтобы файлы изображений лежали рядом с текстовым файлом прототипа. Ну, то есть там, где мы его сохранили в самом начале.

Картинка нашей карты

Чтобы читалась прозрачность у .png, нужно указать флаг "Transp.". Флаг "Proport." устанавливаю для того, чтобы картинка не искажалась при масштабировании.

Остается дело за малым: нужно завести оставшиеся текстовые поля. Мы уже умеем заводить текст, поэтому достаточно это сделать по аналогии с заголовком карты и настроить шрифты по своему вкусу.

Что получилось в итоге

Весь код из этой статьи целиком (с ним получится результат, как тот, что выше):

LINKMULTI = Quantity LINK = 1QqtBHpPZ81HvIidBqXvxtBB_nT4Kuqk8wkGOHfhMcdY PAGE = 21, 29.7, PORTRAIT, HV BORDER = NONE, #000000, 0.1 GAP = 0.1, 0.1 VISUAL=, 10, 10 IMAGE=,BG.png,0%,0%,100%,100% HTMLFONT=NameFont,Georgia,10,,#000000,CENTER,0,0 ,0 HTMLTEXT="1-{(NAME)}",[NAME],15.385%,7.119%,67.246%,6.623%,#FFFFFF,0,ET,100,NameFont IMAGE="1-{(IMAGE)}",[IMAGE],8.933%,11.093%,79.901%,42.55%,0,TP HTMLFONT=EffectFont,Georgia,8,,#000000,CENTER,0,0 ,0 HTMLTEXT="1-{(EFFECT)}",[EFFECT],13.151%,65.397%,71.96%,14.735%,#FFFFFF,0,ET,100,EffectFont HTMLFONT=FlavourFont,Georgia,6,I,#000000,CENTER,0,0 ,0 HTMLTEXT="1-{(FLAVOUR)}",[FLAVOUR],20.844%,78.808%,55.087%,9.934%,#FFFFFF,0,ET,100,FlavourFont HTMLFONT=TypeFont,Georgia,6,I,#000000,CENTER,0,0 ,0 HTMLTEXT="1-{(TYPE)}",[TYPE],21.588%,55.629%,55.087%,3.311%,#FFFFFF,0,ET,100,TypeFont HTMLFONT=ManaFont,Georgia,12,B,#000000,CENTER,0,0 ,0 HTMLTEXT="1-{(MANA)}",[MANA],79.404%,83.609%,13.896%,8.113%,#FFFFFF,0,ET,100,ManaFont ENDVISUAL

Теперь осталось собрать карты в печатном виде. Для этого нужно последовательно нажать кнопки в левой части экрана: "Validate deck", "Build deck", "PDF". Вуаля!

Программа содержит кучу возможностей, с полным списком которых можно ознакомиться в руководстве пользователя (на английском).

Результат

В итоге у нас получилась симпатичная PDFка. Теперь вы можете легко менять свой spreadsheet и пересобирать новые PDF по нажатию трех кнопок! Прототип можно распечатать и получить приятный результат:

Бонусный факт: получившуюся PDF легко использовать в Tabletop Simulator (там буквально можно «нарезать» PDF) для игры с другом в ваш новый прототип по интернету! Тогда и принтер можно не терзать.

Возможно, для пяти карт такая подготовка и скриптование кажутся излишними, но если ваш прототип вырастет до объема в, скажем, 7 карт, то сами понимаете.

Все ссылки в одном месте:

Минутка рекламы

Вот для такой игры прототипы я и делал, и делаю

Изначально nanDECK я изучал для прототипирования игры, которую разрабатываю. Кстати, мы сейчас ищем 3д-аниматора, если вы такой, то пишите! Ну и конечно, вступайте в группу в ВК, подписывайтесь на твиттер, спасибо за внимание.

0
20 комментариев
Написать комментарий...
skeyven

Выглядит, как статья про игры на DTF, даже напугался.
Сохранил, завтра на обеде почитаю и точно всё проверю.

Ответить
Развернуть ветку
Dima Venglinski

Возможно задам тупой вопрос, но я в принципе тупой так что не всё ок. Посмотрел я на эти танцы с бубном чтобы сделать простую PDF c 9 картами, и всё никак не пойму, а почему нельзя воспользоваться фотошопом, например? Редактируется текст там точно так же быстро как и в табличке.

Ответить
Развернуть ветку
Владислав Январев

Как автор карточной игры могу сказать - таблички необходимы.

Основной пункт - вы будете постоянно менять
1. Лейаут карты - чтобы было понятнее. Здоровье наверх / влево, текст вниз и т.д., добавлять свойства. Переверстывать в PDF замучаетесь.
2. Иногда требуется несколько экземпляров карт. Копировать в таблице проще. Править текст для синхронности - тоже.
3. Баланс тоже проще в табличке считать. Взял поменял у N монстров здоровье с 1 на 2 - и перепечатал.

Обычно любая колода для адекватной рандомизации должна содержать 20-30 карт. Если вам нужно пару колод - уже 40-60 карт. Эвенты? Еще одна колода.

Ответить
Развернуть ветку
Владимир Белецкий
Автор

Все верно, в данном случае можно и не копировать в табличке: есть специальный множитель (QUANTITY)

Ответить
Развернуть ветку
Михаил Базылевич

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

Ответить
Развернуть ветку
Антон Марков

у кого на что руки заточены) Я вот работал в типографии, мне это реально видится так, что удобней в индизайне делать. Причем почти всё.
Но такую программу тоже попробую, сравню. Как раз ковыряю "настольную игру своей мечты".

Ответить
Развернуть ветку
skeyven

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

Ответить
Развернуть ветку
skeyven

Дружище, это реально лучшая статья на этом сайте за очень долгое время (я даж ещё до конца не прочитал - потому что параллельно делаю, чтобы вникнуть, но уже могу это сказать). Вы большой молодец. Никакого пердежа в лужу, только по делу, причём полезная штука. Тут же можно не ток ККИ прототипировать, и настолку какую-нить и т.д. Можно и боёвку пошаговую в стиле jrpg с таким инструментарием запрототипировать.
Просто космос.
Удивлён, что за сутки всего 45 ЛюКенгов.
Я это даже себе на стену в вк сохраню.
Очень круто!
Зарегался на сайте где-то 1,5 года назад, чтобы пошутить в комментах про Джилленхола, и с тех пор думал, что площадка плюс-минус бесполезная. За всё время наткнулся на 5-6 реально крутых материалов (включая ваш).
Ради таких постов, даже если их будет появляться по одному на 3-4 месяца, реально стоит скроллить ленту каждое утро!
Ещё раз спасибо!

Ответить
Развернуть ветку
Владимир Белецкий
Автор

Спасибо, приятно слышать! Рад, что статья понравилась)

Ответить
Развернуть ветку
Михаил Базылевич

А текст можно писать только прямой или можно закруглить немного дугой?

Ответить
Развернуть ветку
Владимир Белецкий
Автор

Посмотрел — есть в директиве FONT, подводный камень в том, что FONT+TEXT не поддерживают сейчас кириллицу. Есть материал подробнее, с примерами от разработчика. https://boardgamegeek.com/thread/1634512/any-plans-expand-support-curved-text

Ответить
Развернуть ветку
Михаил Базылевич

Гляну, спасибо. А pdf, при сохранении, получается одной картинкой а4 на листе, или слоями сохраняет, позволяя в случае чего быстренько отредактировать текст в pdf файле соответствующим советом без повторной компиляции в этой среде?

Ответить
Развернуть ветку
ivanproff

Не, каждая карточка сохраняется как изображение - ни слоёв, ни текста.

Ответить
Развернуть ветку
Владимир Белецкий
Автор

В PDF у меня не получилось отредактировать, но может при наличии нужного пдфного софта это и возможно

Ответить
Развернуть ветку
Dark[Ol(U23)leneri] .

Предпочитаю InDesign.

Заинтересовался бы, будь возможность проводить анализ карт.

Ответить
Развернуть ветку
Иванка Сегодина

Владимир, ну зачем такое развернутое и подробное руководство? Сейчас народ понабежит и наделает своих ККИ, Gabe Newell тогда вообще не дождется успеха Artifact!

Ответить
Развернуть ветку
Владимир Белецкий
Автор

Ага, наступит нашествие российский ККИ)

Ответить
Развернуть ветку
Семён Пыхтеев

Хороший материал. Вот просто хороший материал.

Ответить
Развернуть ветку
Владимир Кондратьев

"руководство на английском" (с).
Лол. Если решил сразу прогнутся под западный рынок, то почему ты принес свою рекламу сюда на русском?!

Ответить
Развернуть ветку
skeyven

Чо?
Разверните мысль, пожалуйста

Ответить
Развернуть ветку
Читать все 20 комментариев
null