Clean up tilesets: retire unused variants and biomes, objects only in object atlases, snow objects and fence; desert object groups, fence plane; mod documentation

This commit is contained in:
cthangover committed 2026-10-29 09:26:25 +01:00
1 parent a23c8e9548
commit f385eebbde
53 files changed
+7603 -248

No files matched your search

+118
View File
@@ -0,0 +1,118 @@
# 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)
### 行走图(charset)
每个行走图是一张 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/<name>` 和 `desert/<name>`;战斗背景为 `village/meadow`、`village/forest` 和 `desert/outpost`。
最省事的绘制方式是 RPG 地图编辑器:把 `village` 选为地图的图块集,然后用调色板作画,不必手输图块编号。
## 限制与替换
- 一张地图一个图块集。同一张地图上不能混用 village 图块集和植被图块集。
- 美术自带烘焙好的光照和透视。它按 2.5D 视角绘制;等距渲染器复用同一批图片,因此特别高的物件会保持绘制时的角度。
- 想为自己的游戏替换某张图,在自己模组里放一个相对名称相同的文件并声明依赖 `village_pack` 即可。后加载的依赖方胜出。
- 最初的生成图、提示词和可编辑源文件都归档在游戏之外;模组里只有运行时图片和图块集定义。
## 如果画面不对劲
1. 地图缺地面或缺物件,多半是 `Tileset` 名称拼写错误或缺少依赖。
2. 角色看不见:检查 `Sprite` 名称,以及行走图表是否为 3 × 4 帧。
3. 战斗背景是纯色:地图场景没有设置 `defaultBackground`。