开源战棋 SLG 游戏框架设计思考(二)规则系统要考虑的因素
游戏对象
1. 地块方格
- 地形:山脉、丘陵、乔木林、灌木林、平原、河流、湖泊、海洋、雪原、沼泽、沙漠、暗礁、滩涂、岛屿等等(需完善)
- 设施:铁路、公路、桥梁、机场、城市、村庄、岸防炮、要塞、废墟等等(需完善)
- 移动力需求
- 工事等级(影响防御效率)
- 隐匿性(影响防御效率)
- 天气(如果地图比例尺太大可能不同区域的天气不一样,因此天气与每个地块方格相关联)
- 海拔、气温、风向、风速(影响细菌武器、化学武器、核武器破坏力)
- 各方空中遮断度(影响补给效率、部队转移效率等)
- 各方侦查度:占据方格的势力及友军侦查度100%,临近方格有一定的侦查度,侦查度达到一定值可以发现稍大编制的部队,侦查度逐渐提高依次可见部队番号、部队属性等等,侦查度下降后保留最后一次可见的信息(也就是说有可能会因为侦查度太低而看到虚影)。
- 胜利点数(VP)如果此地是战略要地,可设胜利点数,占领势力可获得胜利点数。
- 归属方
- 拥堵惩罚
- 其他
2. 游戏环境
- 气候
- 地图比例尺
- 回合时间跨度
- 总回合数限制
- 各方胜利条件
3. 游戏势力
- 势力名
- 胜利点数
4. 算子(部队)
- 名称(部队番号)
- 算子类型(步兵、摩步、装甲兵、坦克、炮兵、火箭炮兵、远程导弹、防空部队、工程兵、特种部队、游击队、宪兵队、指挥部、直升机、预警机、攻击机、空优飞机、轰炸机、导弹艇、护卫舰、驱逐舰、巡洋舰、战列舰、航母、运输单位等等需要完善)
- 补给度
- 备用补给
- 士气
- 移动力
- 攻击力(软目标、轻装甲、重装甲、低空、高空)
- 防御力(软目标、轻装甲、重装甲、低空、高空)
- 人员装备表
- 防御等级(对防御作战加成)
- 战斗策略(最小损失、普通、最大损失)
5. 人员装备
- 类型
- 战斗力
- 装甲/易损度
- 补给消耗力
- 移动力
决策时机
1. 回合开始
- 更新补给度
- 计算空优、遮断度等
- 天气变化
2. 回合结束
- 更新补给度
- 计算胜利
3. 特定回合
- 触发历史事件
4. 算子动作
- 移动前:根据地形、空中遮断度、移动力需求等计算移动成功率
- 移动后:触发事件
- 攻击:根据地形、隐蔽度、工事等级、防御等级、补给度、士气、攻击力等等计算战斗结果
- 防御:进入防御状态,或是更高成都的防御状态
- 其他
辅助功能
1. 随机骰子
2. 可持久化存储的自定义字段
开源战棋 SLG 游戏框架设计思考(二)规则系统要考虑的因素的更多相关文章
- 开源战棋 SLG 游戏框架设计思考(一)简介和游戏引擎
战棋 SLG 游戏 SLG(Simulation Game)游戏是模拟游戏的简称.战棋类的SLG有两种:一种是 War Game 中的兵棋推演分支,常见的游戏有战争艺术3(TOAW3 — The Op ...
- 基于cocos2d-x的游戏框架设计——李成
视频:http://v.youku.com/v_show/id_XMzc5ODUyMTI4.html?f=17330006 网易科技讯 3月31日,第四届CocoaChina开发者大会暨Cocos2d ...
- 游戏框架设计中的。绑定binding。。。命令 command 和消息message 以及MVVM
游戏框架设计中的.绑定binding...命令 command 和消息message
- 基于python的接口测试框架设计(二)配置一些参数及文件
基于python的接口测试框架设计(二)配置一些参数及文件 我这里需要基于我的项目配置的主要是登陆参数.以及baseURL ,把这些放在单独的文件里 毕竟导入的时候方便了一些 首先是url 图略 建 ...
- Unity《ATD》塔防RPG类3D游戏架构设计(二)
目录 <ATD> 游戏模型 <ATD> 游戏逻辑 <ATD> UI/HUD/特效/音乐 结语 前篇:Unity<ATD>塔防RPG类3D游戏架构设计(一 ...
- Phaser开源2d引擎 html5游戏框架中文简介
功能特点(Features) 易维护代码(Easy Asset Loading) Phaser可以加载图片,音频文件,数据文件,文本文件和自动解析精灵图和纹理地图集数据(出口纹理封隔器或Flash C ...
- 01 Taro_Mall 开源多端小程序框架设计
项目介绍 Taro_Mall是一款多端开源在线商城应用程序,后台是基于litemall基础上进行开发,前端采用Taro框架编写,现已全部完成小程序和h5移动端,后续会对APP,淘宝,头条,百度小程序进 ...
- Unity 游戏框架搭建 2018 (二) 单例的模板与最佳实践
Unity 游戏框架搭建 2018 (二) 单例的模板与最佳实践 背景 很多开发者或者有经验的老手都会建议尽量不要用单例模式,这是有原因的. 单例模式是设计模式中最简单的也是大家通常最先接触的一种设计 ...
- Unity 游戏框架搭建 2019 (二十三) 备份与版本号&危险的操作
先列出上一篇的总结: 要做的事情: 备份:导出文件,并取一个合理的名字. 遗留问题: 第八个示例与之前的示例代码重复,功能重复. 约定和规则: 每个示例在 QFramework 目录下创建一个文件夹, ...
随机推荐
- 利用iis虚拟目录实现文件服务器功能(分布式存储)
要求说明: 通过网站上传文件保存到统一的文件服务器上. 服务器说明: 1.文件服务器以下称为FilesServer,IP地址为:192.168.1.213 2.Web服务器为以下称为WebServer ...
- Mac中安装Vim7.4
Mac上的Vim Mac本身其实是预装了Vim的,但是目前的系统中都是Vim7.3版本的,而最新的Vim已经是7.4版了,因此为了能够使用最新版的vim,必须要对Mac中的vim要么升级,要么重装.在 ...
- angular自己最近学的一种筛选方法
投资状态vm.statusList = [ {name:"项目状态",value:-1}, {name:"上线",value:0}, {name:"投 ...
- python 小试题
有个同事要帮一个朋友做一个小试题,题目如图: 由于个人在学习python路上,所以想用python 写出来这道题,来练练手,苦思冥想,再加上受同事的一些启发,加以扩展,写出代码如下: #!/usr/b ...
- win7无法保存打印机设置(错误0x000006d9)解决方法
解决win7打印机共享出现‘无法保存打印机设置’操作无法完成(错误0x000006d9),接下来与大家分享下解决方法, 找到windows firewall服务,启用即可 ============== ...
- 2.EasyUI学习总结(二)——easyloader分析与使用(转载)
本文转载自:http://www.cnblogs.com/haogj/archive/2013/04/22/3036685.html 使用脚本库总要加载一大堆的样式表和脚本文件,在easyui 中,除 ...
- C Primer Plus_第6章_循环_编程练习
1.题略 #include int main(void) { int i; char ch[26]; for (i = 97; i <= (97+25); i++) { ch[i-97] = i ...
- JavaScript高级程序设计学习笔记--DOM
DOM(文档对象模型)是针对HTML和XML文档的一个API(应用程序接口). Document类型 文档的子节点 虽然DOM标准规定Document节点的子节点可以是DocumentType,Ele ...
- android 图片缓存
一.Picasso https://github.com/square/picasso Picasso是Square公司开源的一个Android平台上的图片加载框架,简单易用,一句话搞定项目中的图片加 ...
- Linux与Windows xp操作系统启动过程
Linux启动过程: 第一步,加载BIOS,当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它.这是因为BIOS中包含了CPU的相关信息.设备 ...