Scenario配置总览

场景配置文件在project/config/knowledge/scenes/文件夹下,以json格式存储。

Scenario规范了子场景中的路点,动作空间,情绪空间等。更重要的是决定了哪些NPC会在该场景下被加载到内存中。

场景.json通过init包初始化,决定初始化哪些NPC和这些NPC的动作空间。

Scenario文件是NPC Engine的核心配置文件,它组织了NPC、Action和Knowledge的关系。

Scenario配置方法

Scenario(场景)例子如下:

# project/config/knowledge/scenes/警察局.json
{
 "all_actions": ["mov", "get", "put", "use"], # 场景中可支持的Action类型
 "all_places": ["牢房", "雁栖村入口"], # 场景中的子地点(用于NPC移动的参数,可视作场景子地点)
 "all_moods": ["正常", "焦急", "严肃", "开心", "伤心"], # 场景中可支持的情绪,一般情况下所有场景的情绪信息是一致的
 "all_people": ["囚犯阿呆","警员1","警员2"] # 场景中的存在的NPC,会在[场景初始化]时加载到内存中
 }

配置文件初始化

Scenario配置文件在project/config/knowledge/scenes/文件夹下配置完成后,则会在引擎启动的时候被加载到内存中。

当游戏切入到一个场景的时候,需发送一个init包到引擎端,引擎会根据你发送的场景名字来加载对应的场景配置文件中的NPC。

一个初始化场景的例子如下:

# project/config/knowledge/scenes/警察局.json
{
 "func": "init", # 初始化场景
 "scene_name": "警察局", # 场景名字,会去加载对应的场景配置文件.json
 "language": "C", # 语言
 "npc": [] # 场景中的存在的NPC,会在[场景初始化]时加载到内存中
 }