Первые собственные спрайты
У персонажа игрока появилась собственная графика: кукла от Jhonatan, нашего художника, с полной бронёй (Dark Armor) и ударом мечом. До сих пор каждый герой собирался из заимствованных спрайтов LPC, свободной библиотеки графики.
Зачем
Мы собирались построить всю игру на заимствованной графике и только потом заменить её. Jhonatan прислал первую партию заранее, чтобы у нас было минимум для работы и мы рано узнали, что потребуется остальной графике. Оно того стоило: его формат сильно отличается от LPC, и лучше было узнать это сейчас, а не когда готовы сотни спрайтов.
Как это работает
Кукла собрана из двух единиц по 16 px. Голова занимает верхнюю, а тело и ноги делят нижнюю, по 8 px каждое. Броня идёт частями (шлем, тело, ноги), и каждая часть встаёт по центру своей полосы. У шлема нет собственной анимации: он просто поднимается или опускается на 1 px вместе с головой, поэтому вместо листа на каждое движение скрипт читает высоту головы в каждом кадре и двигает шлем.
Меч это эффект, нарисованный отдельно, по центру персонажа, с дальностью в одну единицу в направлении атаки. При ударе вверх персонаж оказывается поверх меча. Направлений три: вниз, в сторону и вверх, а левая сторона это зеркальная.
Куклу мы не переписывали. Скрипт конвертирует то, что присылает Jhonatan, в тот же формат листа, который игра уже использовала, с уже применёнными привязками, так что художник продолжает присылать так, как ему удобно, а код персонажа почти не изменился.
Экипировка под капотом осталась прежней. Металлические шлемы, латные или кольчужные доспехи и латные штаны отображаются как Dark Armor, а кинжалы и мечи как новый меч. Вещь, для которой ещё нет рисунка, не отображается. Монстры пока остаются с графикой LPC, а героя можно вернуть на LPC, поменяв одну строку конфигурации.
Новая кукла высотой 32 px, против примерно 48 у LPC. Она рисуется в 1,5x, что на экране даёт ровно 3 пикселя на пиксель арта, без размытия.
Следующий шаг
Броня в ударе, анимации урона и каста, и лук, чтобы у мага, лучника и послушника тоже было своё лицо.
Изменения
- Own art in the paper doll: player, Dark Armor and sword from Jhonatan
The artist's first sprites (32x32 player in two 16 px units, armor in pieces, sword slash FX) live as delivered in assets/art/src and are converted by tools/art_import.py into sheets with the sprite_spec layout, pivots baked in, so PaperDoll keeps working unchanged. dolls.json gains a style switch (mushrog/lpc) and a look_map that translates worn LPC gear into the new art. Mobs stay LPC. Visual public material is now allowed.