前言
通过Cesium对模型的加载和时间抽的实现,已经有许多的公司,实现的军事推演的功能,我在做这个项目的时候,也在构思这个推演,就像游戏一样,可以展开红蓝对抗,但是,项目的主要需求,是可以直观的看到,环境对兵力运行或对航线的影响,所以侧重点不是推演了,而是以预演的形式来进行展示,如今,可以进行重新设计和构思。
一、环境影响
以监听者和职责链模式实现
环境对兵力运行的影响,会有不同的算法,这些算法需要一定的环境参试,以一个场景为例,在航海时,行驶到有旋涡的区域,就会对航速和航迹产生影响,而大雾天气,也是可以产生能见度的影响,从而影响航速,所以,影响的算法也能是叠加的,是范围形式的,所以,可以设定影响体,此影响体包含影响因素(天气、湿度等)、影响范围(不可能全球一起下雨!哈哈),具体的影响体对象有不同影响体实现,如天气影响、海啸影响等具体对象,以兵力航行到影响范围内来触发影响算法计算,环境影响范围是可以叠加的,所以,影响的最终 形式,应以链式结构,对兵力进行共同作用的影响,所以,针对影响的展现形式,要针对每种影响体,定义影响因子(影响到的兵力属性),最终以弹窗和推演变化(如果需要)来展示环境影响结果。
二、想定推演
1.想定基本情况
想定的背景和兵力的基本部署情况,根据兵力的基本部署情况,指定兵力航行轨迹等。
要想实现推演,航迹,只能是预设的航迹,而不是必然的航迹,推演,就需要有变化,而不是以兵力按照固定的航迹航行,所以,不同的兵力在遇到不同的情况时,是需要进行判断,从而改变航迹或速度等情况的,就好像每个兵力,都需要一个使用它的人一样,来指挥兵力进行应对,所以,可以设想对不同兵力,实现不同的决策者,决策设定触发条件、决策、决策行为,比如,轮船航行进入旋涡的影响范围,此时,决策者的某项决策(逃离)的触发条件满足,便可以进行决策判断了,当决策判断满足,则可以执行决策行为(轮船改变航向和速度),一个决策者,可以有多个决策,决策和决策间也可能有联系,所以,决策间可以形成链式,甚至树状结构,所以,在演习之前,创建好决策体,并对应不同兵力,因为不同兵力的决策行为可能也不同。
2.推演引擎
推演引擎主要的能力,就是要个位演员(兵力、效果等)都进入准备状态,并对不同的兵力进行事件的绑定,毕竟,是要通过Cesium的时间轴来进行实现的,所以,推演引擎的主要能力,就是具体实现兵力以时间轴进行推演的能力,各种事件的绑定等。
总结
如果继续深入,对兵力的决策和行为进行归纳,之后可以通过GOJS来实现决策树或决策链的编辑,在将系统拆分红蓝席位登录,就可以实现各自的决策者,并以导调方来综合红蓝的决策者,似乎可以实现红蓝对抗推演。如果结合AI,让AI知晓决策编辑规则,是不是可以实现AI指定红蓝对抗剧本呢?
不过这里我也没有深思可行性,就只尝试实现环境的影响或逃离影响的决策者算了。