Разрабатываем свою карточную игру с помощью 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 указывает на столбец, который используется для умножения количества карточек в результирующем наборе карт. То есть, если мы хотим в итоге распечатать 2 такие-то карточки, то в этом столбце в Spreadsheets поставим число 2. В нашем случае столбец называется QUANTITY, на него и ссылаемся.
Поставив курсор на директиву (например, на LINKMULTI) и нажав F1 можно прочитать справку внутри софта.
Чтобы наш результат не исчез, сохраняемся ("Save") и запоминаем, куда сложили текстовый файл со скриптом: потом сюда же будем складировать изображения.
Далее вносим ссылку на наш Google Spreadsheet. Данный буквенный код можно найти в адресной строке вашего документа ("https://docs.google.com/spreadsheets/d/ВОТ_ТУТ"). Альтернативно можно указать и локальную xlsx таблицу, тогда значение было бы чем-то вроде C:\MyFolder\MyProt.xlsx.
Проверим, что программа синхронизируется с облаком. Для этого жмем "Validate deck". Внизу все должно быть OK. Продолжаем писать код следующей директивой:
Настройки директивы PAGE звучат довольно интересно: размеры в сантиметрах, ориентация и дополнительные качества (в данном случае, центрирование по горизонтали и вертикали).
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 в поле "text" нужно указать название столбца в квадратных скобках (т.е. [NAME]). Также указываем ссылку на наш шрифт в поле "htmlfont".
Обязательно нужно отметить флаг Explorer render, иначе не видать вам кириллицы. Флажок Transparent убирает фон. Также обратите внимание на формат в поле "range".
Далее добавляем еще один Image и указываем в поле "image file" [IMAGE]. Чтобы программа подтянула изображения по ссылкам из таблицы, необходимо, чтобы файлы изображений лежали рядом с текстовым файлом прототипа. Ну, то есть там, где мы его сохранили в самом начале.
Чтобы читалась прозрачность у .png, нужно указать флаг "Transp.". Флаг "Proport." устанавливаю для того, чтобы картинка не искажалась при масштабировании.
Остается дело за малым: нужно завести оставшиеся текстовые поля. Мы уже умеем заводить текст, поэтому достаточно это сделать по аналогии с заголовком карты и настроить шрифты по своему вкусу.
Весь код из этой статьи целиком (с ним получится результат, как тот, что выше):
Теперь осталось собрать карты в печатном виде. Для этого нужно последовательно нажать кнопки в левой части экрана: "Validate deck", "Build deck", "PDF". Вуаля!
Программа содержит кучу возможностей, с полным списком которых можно ознакомиться в руководстве пользователя (на английском).
Результат
В итоге у нас получилась симпатичная PDFка. Теперь вы можете легко менять свой spreadsheet и пересобирать новые PDF по нажатию трех кнопок! Прототип можно распечатать и получить приятный результат:
Бонусный факт: получившуюся PDF легко использовать в Tabletop Simulator (там буквально можно «нарезать» PDF) для игры с другом в ваш новый прототип по интернету! Тогда и принтер можно не терзать.
Возможно, для пяти карт такая подготовка и скриптование кажутся излишними, но если ваш прототип вырастет до объема в, скажем, 7 карт, то сами понимаете.
Все ссылки в одном месте:
- nanDECK (официальный сайт)
- Руководство на английском
- Все материалы из этой статьи одним архивом, далее содержимое этого архива по отдельности:
- Итоговый PDF
- Изображения и задник для карт
- Таблица с прототипом
- Текстовый файл с кодом
Минутка рекламы
Изначально nanDECK я изучал для прототипирования игры, которую разрабатываю. Кстати, мы сейчас ищем 3д-аниматора, если вы такой, то пишите! Ну и конечно, вступайте в группу в ВК, подписывайтесь на твиттер, спасибо за внимание.