Files

6.7 KiB
Raw Permalink Blame History

Village Pack — RPG 图块地图与战斗美术

Village Pack 是 RPG Plus 世界背后的美术包:用来绘制地图的图块集、英雄、村民和怪物的行走图、战斗立绘和战斗背景。所有素材都采用同一种绘画风 2.5D 风格,用它搭出来的地图看起来是同一个世界。

它只有美术。可以行走的村庄、长老之家、森林和沙漠,是 RPG Demo 与 RPG Plus 内容模组里的地图和事件;行走、碰撞和战斗则是 RPG 引擎的事。Village Pack 提供它们所用的图片。

夜晚的村庄地图,用 village 图块集绘制:小屋、铺着石板的广场和路灯、树木、池塘,以及用包内行走图绘制的村民。

里面有什么

village 图块集

演示世界的每张地图都用 village 图块集。它分两部分。

物件放置在格子 上:小屋、神社拱门、洞口、树木、灌木、水井、篝火、路灯、栅栏、告示牌、木桶、宝箱(关闭和打开两种)、工作台,以及可拾取物——柴火、石块和蘑菇。最上方是小屋内部,一整张 12 × 10 的房间图,长老之家用的就是它。

村庄物件图集:顶部是小屋内部,下方是小屋、神社拱门、洞穴和橡树,底部一排是小物件。

表面是无缝的地面纹理,用来铺满整片区域:草地、石板路、泥土、浅色石地板、木地板、多石的林间小径和水。

村庄的七种表面:草地、石板、泥土、浅色石板、木板、多石小径和水。

部分图块带有 RPG 引擎用的额外属性:水不可通行,路灯和窗户自带光源,黄昏和夜晚会在地图上发光。

夜晚的长老之家,由小屋内部图片构成,两扇窗透出光亮。

四季植被

四个植被图块集用夏季、秋季、深秋的光秃版和落雪的冬季展示同一批树木、灌木、树桩和花:橡树、云杉、桦树、柳树、枫树和松树,圆形灌木和浆果灌木,砍断的和空心的树桩,雏菊和紫罗兰。

同一批植被的四季,从左到右:夏、秋、光秃枝干和冬。

一张地图只能用一个图块集,目前没有任何自带地图使用植被图块集。它们是给地图作者备好的素材。

沙漠与雪地

  • desert:沙地和岩石表面加沙漠物件——土坯建筑、集市遮阳篷、棕榈、仙人掌和干草。RPG Plus 的沙漠地图 Dry March 就是用它画的。
  • snow:新雪、冰面和两种可踩出脚印的路面(packed_snow 和踩得更深的 trampled_snow),还有小屋、马车、水井、岩石、灌木和积雪的云杉。目前没有自带地图使用它。

四种雪地表面:新雪、冰面、带浅浅脚印的踩实雪地和深深踩烂的雪地。

用 desert 图块集绘制的沙漠地图:沙地、石子路、遮阳篷、棕榈、仙人掌、蝎子和甲虫。

行走图(charset)

每个行走图是一张 3 × 4 表:四个朝向(下、左、右、上)各有三帧行走画面。村庄组包含英雄、长老、村民、商人、史莱姆和狼。沙漠组增加了蝎子、甲虫,以及关闭和打开两种状态的木桶。

村庄行走图:英雄、长老、村民、商人、史莱姆和狼,每个角色四行朝向。

战斗立绘与背景

大幅立绘展示战斗中的角色:英雄、史莱姆和狼,以及沙漠的蝎子和甲虫。

战斗立绘:持剑持盾的英雄、史莱姆、狼、蝎子和甲虫。

三张背景——草地、森林和沙漠前哨——用作在地图上触发的战斗的背景。草地和森林带有供光照系统使用的 _depth 伴生图。

战斗背景:草地、森林和沙漠前哨。

与史莱姆的战斗:上方是史莱姆立绘,左下是英雄立绘,背后是夜晚的草地背景。

在哪里能看到它

Village Pack 属于 rpg_plus 游戏。在那个游戏里:

  • 村庄、长老之家、森林和林间神社用 village 图块集绘制;
  • 沙漠地图使用 desert;
  • 长老、商人、村民、狼、史莱姆、蝎子和甲虫用包内行走图在地图上走动;
  • 战斗会显示立绘,地图场景用 village/meadow、village/forest 或 desert/outpost 作战斗背景。

图块地图编辑器把选中的图块集显示为调色板。图中打开的是长老之家:小屋内部、物件和表面样块就是 village 图块集。

打开了长老之家的 RPG 地图编辑器。左侧调色板显示 village 图块集;右侧地图属性显示“Tileset: village”。

在自己的 RPG 内容中使用它

  1. 把 village_pack 加进游戏的合集。它依赖引擎模组 rpg。
  2. 把 village_pack>=1 加进使用其美术的内容模组的 depends 列表。
  3. 按名称引用美术资源:
// 一张地图:整张地图只用一个图块集
{ "Kind": "rpg_map", "Items": [ { "Id": "my_glade", "Tileset": "village" /* … */ } ] }
// 用行走图绘制的地图事件
{ "Id": "old_man", "X": 5, "Y": 3, "Sprite": "village/elder" }
// 角色的战斗立绘
{ "Id": "my_wolf", "Image": "characters/village/wolf" }
{
  "name": "my_glade",
  "defaultBackground": "village/meadow"
}

图块集名称为 village、vegetation_summer、vegetation_autumn、vegetation_bare、vegetation_winter、desert 和 snow。行走图为 village/<name> 和 desert/<name>;战斗背景为 village/meadow、village/forest 和 desert/outpost。

最省事的绘制方式是 RPG 地图编辑器:把 village 选为地图的图块集,然后用调色板作画,不必手输图块编号。

限制与替换

  • 一张地图一个图块集。同一张地图上不能混用 village 图块集和植被图块集。
  • 美术自带烘焙好的光照和透视。它按 2.5D 视角绘制;等距渲染器复用同一批图片,因此特别高的物件会保持绘制时的角度。
  • 想为自己的游戏替换某张图,在自己模组里放一个相对名称相同的文件并声明依赖 village_pack 即可。后加载的依赖方胜出。
  • 最初的生成图、提示词和可编辑源文件都归档在游戏之外;模组里只有运行时图片和图块集定义。

如果画面不对劲

  1. 地图缺地面或缺物件,多半是 Tileset 名称拼写错误或缺少依赖。
  2. 角色看不见:检查 Sprite 名称,以及行走图表是否为 3 × 4 帧。
  3. 战斗背景是纯色:地图场景没有设置 defaultBackground。