# Village Pack — графика для RPG-карт и боёв Village Pack — набор графики, на котором стоит мир RPG Plus: тайлсеты для рисования карт, шагающие спрайты героев, жителей и монстров, боевые портреты и фоны сражений. Всё нарисовано в единой живописной 2.5D-стилистике, поэтому карты из него выглядят одним миром. Это **только графика**. Деревня, дом старейшины, лес и пустыня, по которым можно ходить, — карты и события контентных модов RPG Demo и RPG Plus; ходьба, столкновения и бои — работа RPG-движка. Village Pack поставляет картинки, которыми всё это нарисовано. ![Карта деревни ночью, нарисованная тайлсетом village: коттеджи, мощёная площадь с фонарями, деревья, пруд и жители, нарисованные чарсетами пака.](assets/village-map.jpg) ## Что внутри ### Тайлсет village Тайлсетом `village` нарисована каждая карта демо-мира. У него две части. Объекты ставятся на клетки: коттедж, арка святилища, вход в пещеру, деревья, кусты, колодец, костёр, фонарные столбы, забор, указатель, бочки, сундуки (закрытые и открытые), верстак и подбираемые предметы — хворост, камни, гриб. Наверху — интерьер коттеджа, единая картинка комнаты 12 × 10, которую использует дом старейшины. ![Атлас объектов деревни: интерьер коттеджа сверху, ниже — коттедж, арка святилища, пещера и дуб, вдоль низа — мелкие предметы.](assets/village_objects.jpg) Поверхности — бесшовные текстуры земли, заливающие целые области: трава, мощёная дорожка, земля, светлый каменный пол, деревянный пол, каменистая лесная тропа и вода. ![Семь поверхностей деревни: трава, булыжник, земля, светлый камень, доски, каменистая тропа и вода.](assets/village_surfaces.jpg) У некоторых тайлов есть свойства для RPG-движка: вода непроходима, а фонари и окна несут источник света, который светится на карте в сумерках и ночью. ![Дом старейшины, собранный из картинки интерьера коттеджа, ночью светится двумя окнами.](assets/elder-house.jpg) ### Сезонная растительность Четыре тайлсета растительности показывают одни и те же деревья, кусты, пни и цветы летом, осенью, в «голом» позднеосеннем виде и в снежной зиме: дуб, ель, берёза, ива, клён и сосна, круглые и ягодные кусты, спиленные и дуплистые пни, ромашки и фиалки. ![Одна и та же растительность в четырёх сезонах, слева направо: лето, осень, голые ветви и зима.](assets/vegetation.jpg) На карте используется ровно один тайлсет, и ни одна из готовых карт тайлсеты растительности пока не берёт. Это готовый материал для автора карты. ### Пустыня и снег - `desert`: песчаные и каменистые поверхности с пустынными объектами — глинобитными постройками, рыночным навесом, пальмами, кактусами и сухой травой. Пустынная карта RPG Plus, Dry March, нарисована им. - `snow`: свежий снег, лёд и две протоптанные поверхности (`packed_snow` и сильнее истоптанный `trampled_snow`), а также хижина, телега, колодец, камни, кусты и заснеженные ели. Готовые карты его пока не используют. ![Четыре снежные поверхности: свежий снег, лёд, утоптанный снег с неглубокими следами и сильно истоптанный снег.](assets/snow_surfaces.png) ![Пустынная карта с тайлсетом desert: песок, каменистая дорога, навес, пальмы, кактусы, скорпионы и жуки.](assets/desert-map.jpg) ### Чарсеты: шагающие спрайты Каждый чарсет — лист 3 × 4: три кадра шага для каждого из четырёх направлений (вниз, влево, вправо, вверх). В деревенском наборе есть герой, старейшина, житель, торговец, слайм и волк. Пустынный набор добавляет скорпиона, жука и бочку в закрытом и открытом виде. ![Деревенские чарсеты: герой, старейшина, житель, торговец, слайм и волк, у каждого четыре ряда направлений.](assets/charsets.png) ### Боевые портреты и фоны Большие портреты показывают сражающихся в бою: героя, слайма и волка, а также пустынных скорпиона и жука. ![Боевые портреты: герой с мечом и щитом, слайм, волк, скорпион и жук.](assets/portraits.jpg) Три фона — луг, лес и пустынный форпост — служат фоном боя, начавшегося на карте. У луга и леса есть `_depth`-спутники для системы освещения. ![Фоны сражений: луг, лес и пустынный форпост.](assets/backdrops.jpg) ![Бой со слаймом: портрет слайма сверху, героя — слева внизу, на фоне ночного луга.](assets/battle.jpg) ## Где вы это увидите Village Pack входит в игру `rpg_plus`. В ней: - деревня, дом старейшины, лес и лесное святилище нарисованы тайлсетом `village`; - пустынная карта использует `desert`; - по картам ходят старейшина, торговец, жители, волки, слаймы, скорпионы и жуки — чарсетами пака; - в боях показываются портреты, а сцены карт берут `village/meadow`, `village/forest` или `desert/outpost` как фон сражения. Тайловый редактор показывает выбранный тайлсет как свою палитру. Здесь открыт дом старейшины: интерьер коттеджа, объекты и образцы поверхностей — это тайлсет village. ![Редактор RPG-карт с открытым домом старейшины. Палитра слева показывает тайлсет village; в свойствах карты справа — «Tileset: village».](assets/map-editor-palette.jpg) ## Используйте его в своём RPG-контенте 1. Включите `village_pack` в коллекцию своей игры. Он требует движковый мод `rpg`. 2. Добавьте `village_pack>=1` в список `depends` контентного мода, который пользуется его графикой. 3. Обращайтесь к графике по имени: ```jsonc // Карта: один тайлсет на всю карту { "Kind": "rpg_map", "Items": [ { "Id": "my_glade", "Tileset": "village" /* … */ } ] } ``` ```jsonc // Событие карты, нарисованное чарсетом { "Id": "old_man", "X": 5, "Y": 3, "Sprite": "village/elder" } ``` ```jsonc // Боевой портрет персонажа { "Id": "my_wolf", "Image": "characters/village/wolf" } ``` ```json { "name": "my_glade", "defaultBackground": "village/meadow" } ``` Имена тайлсетов — `village`, `vegetation_summer`, `vegetation_autumn`, `vegetation_bare`, `vegetation_winter`, `desert` и `snow`. Чарсеты — `village/` и `desert/`; фоны боёв — `village/meadow`, `village/forest` и `desert/outpost`. Проще всего рисовать в редакторе RPG-карт: выберите `village` тайлсетом карты и рисуйте палитрой вместо ручного ввода номеров тайлов. ## Ограничения и замена - Один тайлсет на карту. Смешать тайлсет village и тайлсет растительности на одной карте нельзя. - У графики запечённые свет и перспектива. Она нарисована под 2.5D-вид; изометрический рендерер переиспользует те же картинки, поэтому очень высокие объекты сохраняют нарисованный ракурс. - Чтобы заменить картинку для своей игры, положите в свой мод файл с тем же относительным именем и объявите зависимость от `village_pack`. Побеждает загруженный позже зависимый мод. - Исходные генерации, промпты и редактируемые исходники хранятся в архиве вне игры; в моде — только готовые картинки и определения тайлсетов. ## Если картинка выглядит неправильно 1. Карта без земли или объектов обычно означает опечатку в имени `Tileset` или пропавшую зависимость. 2. Невидимый персонаж: проверьте имя `Sprite` и что лист чарсета — 3 × 4 кадра. 3. Бой с однотонным фоном: у сцены карты нет `defaultBackground`.