四季生存游戏

概述

  • 本示例主要展示如何修改初始化文件配置中的csv文件配置一个复杂的单智能体生存游戏。
  • 该游戏中包含有春夏秋冬等四季季节,不同的季节有不同的天气分布,从而对智能体相关属性值带来一定的数值影响,包括视野范围、体温。
  • 该游戏中包含有不同的地形,不同的地形上分布着不同的动植物以及资源。

具体设计

地形设计

修改1_landform.csv文件,添加环境中的地形,包括Grassland、Forest、Desert、Snowland。地形主要影响动植物以及资源的分布,分别对应3_being.csv文件以及5_resource.csv文件的Distribution列,涉及到的分布对应关系如下表所示:

地形 动植物 资源
Grassland Rabbit/Ox/Goat/Tree/Grass/Agent Pool/Rock
Forest Rabbit/AppleTree/Grass  
Desert   Rock
Snowland   Embacle

动植物类型及属性设计

修改3_being.csv文件,更改环境中动植物的属性、数量分布、采集表以及掉落表。动物的属性值HP、ATK、DEF、Speed、Vision、Temper涉及到动物的攻击难度,RebirthCount表示动植物的重生时间跨度。不同的动植物有不同的可采集物以及掉落物,这些物品可以用于合成武器、防具以及工具用于增加Agent完成各种生存任务的成功率。对应的合成表在4_item.csv中定义,具体设计如下表中所示:

物品 合成表 掉落/采集目标 主要作用
Torch Branch/Cutgrass Tree/Grass 增加视野
Spear Branch/Cutgrass/Stone Tree/Grass/Rock 攻击Pig
Bow Branch/Cutgrass/Tendon Tree/Grass/Pig 攻击Ox、Pig
LeatherArmor Leather/Cutgrass Grass/Pig 防御Ox、Goat
WoodArmor Wood/Cutgrass Tree/AppleTree 防御Ox
WarmStone Stone/Cutgrass/Torch Tree/Grass/Rock 增加体温
ColdStone Stone/Cutgrass/Ice Tree/Grass/Embacle 减少体温

季节天气分布设计

修改7_weather.csv文件,主要通过天气的分布来影响Agent的属性值来改变其生存难度。天气对Agent的影响如下表所示:

天气 季节分布 主要作用
Hot Summer/ 体温增加
Sunny Spring/Summer/Autumn/Winter 增加视野
Rainy Spring/Summer 减少视野、减少体温
Snowy Spring/Autumn/Winter 减少视野、减少体温

可视化运行Demo

四季Demo

算法运行Demo