6.7 KiB
Village Pack — RPG 图块地图与战斗美术
Village Pack 是 RPG Plus 世界背后的美术包:用来绘制地图的图块集、英雄、村民和怪物的行走图、战斗立绘和战斗背景。所有素材都采用同一种绘画风 2.5D 风格,用它搭出来的地图看起来是同一个世界。
它只有美术。可以行走的村庄、长老之家、森林和沙漠,是 RPG Demo 与 RPG Plus 内容模组里的地图和事件;行走、碰撞和战斗则是 RPG 引擎的事。Village Pack 提供它们所用的图片。
里面有什么
village 图块集
演示世界的每张地图都用 village 图块集。它分两部分。
物件放置在格子 上:小屋、神社拱门、洞口、树木、灌木、水井、篝火、路灯、栅栏、告示牌、木桶、宝箱(关闭和打开两种)、工作台,以及可拾取物——柴火、石块和蘑菇。最上方是小屋内部,一整张 12 × 10 的房间图,长老之家用的就是它。
表面是无缝的地面纹理,用来铺满整片区域:草地、石板路、泥土、浅色石地板、木地板、多石的林间小径和水。
部分图块带有 RPG 引擎用的额外属性:水不可通行,路灯和窗户自带光源,黄昏和夜晚会在地图上发光。
四季植被
四个植被图块集用夏季、秋季、深秋的光秃版和落雪的冬季展示同一批树木、灌木、树桩和花:橡树、云杉、桦树、柳树、枫树和松树,圆形灌木和浆果灌木,砍断的和空心的树桩,雏菊和紫罗兰。
一张地图只能用一个图块集,目前没有任何自带地图使用植被图块集。它们是给地图作者备好的素材。
沙漠与雪地
desert:沙地和岩石表面加沙漠物件——土坯建筑、集市遮阳篷、棕榈、仙人掌和干草。RPG Plus 的沙漠地图 Dry March 就是用它画的。snow:新雪、冰面和两种可踩出脚印的路面(packed_snow和踩得更深的trampled_snow),还有小屋、马车、水井、岩石、灌木和积雪的云杉。目前没有自带地图使用它。
行走图(charset)
每个行走图是一张 3 × 4 表:四个朝向(下、左、右、上)各有三帧行走画面。村庄组包含英雄、长老、村民、商人、史莱姆和狼。沙漠组增加了蝎子、甲虫,以及关闭和打开两种状态的木桶。
战斗立绘与背景
大幅立绘展示战斗中的角色:英雄、史莱姆和狼,以及沙漠的蝎子和甲虫。
三张背景——草地、森林和沙漠前哨——用作在地图上触发的战斗的背景。草地和森林带有供光照系统使用的 _depth 伴生图。
在哪里能看到它
Village Pack 属于 rpg_plus 游戏。在那个游戏里:
- 村庄、长老之家、森林和林间神社用
village图块集绘制; - 沙漠地图使用
desert; - 长老、商人、村民、狼、史莱姆、蝎子和甲虫用包内行走图在地图上走动;
- 战斗会显示立绘,地图场景用
village/meadow、village/forest或desert/outpost作战斗背景。
图块地图编辑器把选中的图块集显示为调色板。图中打开的是长老之家:小屋内部、物件和表面样块就是 village 图块集。
在自己的 RPG 内容中使用它
- 把
village_pack加进游戏的合集。它依赖引擎模组rpg。 - 把
village_pack>=1加进使用其美术的内容模组的depends列表。 - 按名称引用美术资源:
// 一张地图:整张地图只用一个图块集
{ "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即可。后加载的依赖方胜出。 - 最初的生成图、提示词和可编辑源文件都归档在游戏之外;模组里只有运行时图片和图块集定义。
如果画面不对劲
- 地图缺地面或缺物件,多半是
Tileset名称拼写错误或缺少依赖。 - 角色看不见:检查
Sprite名称,以及行走图表是否为 3 × 4 帧。 - 战斗背景是纯色:地图场景没有设置
defaultBackground。











