作者zxcmoney (lol)
看板GameDesign
标题Re: [请益] 民国无双 v22
时间Tue Feb 16 20:06:42 2010
※ 引述《chenglap (无想流流星拳)》之铭言:
: ※ 引述《zxcmoney (lol)》之铭言:
: : 嗯 我先从结论说起
: : 我现在有兴趣制作此游戏的
: : 战略AI编辑器 与 战术AI编辑器
: : 不过我不打算将目前的AI修改到完善
: : 除了会避免AI作一般人类可以直接观察到的脑残行为外
: : 其他皆遵照原始的AI设定放入对应的判断位子 等有心人士去设定
: : 基本上编辑器会将AI行动的判断集中并分成各阶段
: : 应该是能很快就找到AI判断的位子
: : 总之 在收到原始码後就会开始写
: : 如果不满意当时的成果与影响或着
: : 相信这游戏直到被世人遗忘也不会有人用这编辑器产生有用的AI
: : 无视这个编辑器即可
: 或者这样说吧.
: 第一是你需要 source code 时找我我会寄给你. 无论作任何
: 用途都是可以的.
: 重点是, 如果你实现了的话, 其实我不可能反对你的做法,
: 我之前的文章, 主要是将所有最大的困难都说出来, 让你在
: 做之前先意识到这些困难都是存在的. 而如果你理解了这些
: 困难, 那你就可以开始做了.
: 我举出困难并不是说这件事做不到, 或者我不想做这件事,
: 或者我觉得这件事没价值, 而是我在给你正确的开发资讯,
: 那是你在设计前一定要先知道的各种资讯.
或许是我的表达能力不好
我再用我认为比较容易理解方式再说明一次好了
我做出承诺 在收到原始码(source code)後
就会开始写「战略AI编辑器」与「战术AI编辑器」的系统
负起完成此系统的责任 包含 规划.实作.除错
其中初步规划已经完成了 之後的实作及除错在取得原始码後开始
完成之後 在经过各种评估後 你只要决定是否要采用此ai编辑系统
注:此ai编辑系统 基本上没有附上详尽ai范例的打算
我并不是要完成ai 只是完成这套系统
说起来目前只是将ai判断整理起来 并提供函式库
除了编辑比较方便外 大致上还是写程式
要完成比较简易的介面必须要等能实用的ai完成後
依照ai的常用判定项提供成方便修改的简易介面
: 第二点是, 这样, 如果你有兴趣建立人工智能的话, 比起其
: 他已说过的话, 我有想过一个比较理想的做法. 根据我看过
: 你的文章, 我想到一个系统间沟通的方式.
: 那就是建立「内挂」. 如果你有玩过 online game, 会大概
: 明白这是甚麽. 内挂本身就是一种人工智能, 而且是一种十
: 分重要的人工智能.
这个部分基本上 我了解
女神onlie的遥控器(内挂)算是人工ai的编辑器了
不过那编辑器仅能设定 ai作战的最高指导原则而已
不幸的是此战略游戏的ai并不能只是说
1.没钱>去投资 2.治安不佳>内政 3.兵力不足>整备...
而是要能够依照设定的目标 找出可实行的方案并实行
我想在
#1BULOGmv中应该就有说明 不过还是重新说明一次好了
在决策後产生或是直接设定目标1.建立装甲兵大军(1部队) 2.装甲兵大军补给(每回1台)
建立装甲兵大军─骑兵升级┬三等骑兵─训练二等骑兵…
└$150─建设
建立装甲兵大军─装甲兵学校生产┬建设装甲兵学校─$800─建设
└SP150─建设
在经过方案寻找的过程完成两的方案堆叠
/*这结构好像也不算堆叠了 此外也不一定会产生两个方案
设计者如果认为训练的时间成本不论如何都比$800的建设成本高
使得产生的决策树没有这种可能性 结果就只会有方案b*/
但是ai并不能单以这两者作判断 所需的时间和资源还需要到建设程序决策
同时对最高 预定目标02也有影响
实际上这部分用流程图表达可能会比较好 不过用bbs绘图并不方便
目前的系统是依照预定目标会决定其中的行动 当预定目标无法完成时就会产生前置目标
此例中军事ai前置性最高的目标 除了训练外都是属於建设目标处理的决策范围
所以会送往建设ai的程序阶段才会决策
假设经过军事ai.建设ai.改革ai...等数个阶段的决策计算
可以计算出各种组合方案可能的时间.行动与资源及现在的改革方向
建立装甲兵大军─骑兵升级┬三等骑兵─训练二等骑兵(已有)
└$150─建设鸦片田
建立装甲兵大军─装甲兵学校生产┬建设装甲兵学校─$800─建设鸦片田
└SP150─建设鸦片田
并且计算出 两个方案的成本
方案a 的可能成本为 a1日(10TP/日) a2TP = a1*10+a2
方案b 的可能成本为 b1日(10TP/日) b2TP = b1*10+b2
因为a<b 所以最後选择方案a 并从前置性最高的目标"建设鸦片田"开始实行
觉得这样很麻烦ai也可以这样设计
军事ai
训练! 训练! 训练! 训练! 训练!
「产生了5个训练目标」
建设ai
投资! 投资! 投资! 投资! 投资!
「产生了5个投资目标」
外交ai
宣战! 宣战! 宣战! 宣战! 宣战!
「产生了5个宣战目标」
改革ai
(...)
「没有产生任何目标」
行动ai
执骰子决定...
/*因为各ai 送来的目标无法一次全实行
同时优先权也都一样 所以执骰子决定*/
「随机选择目标放入行动阵列」
当敌人攻进来时
战术ai
兵力怎麽全都是0阿!
「自动转进」
最後...一个国家就消失於历史的洪流之中...
这系统可以设定的很详尽 也可以随便设定就好
每个系统每部分都是独立的 不过也可以利用阶层关系设计阶层式的线性思考ai
以上说明有不懂的地方请发问 我可以试着加强我的表达能力
而如果有此设计架构上可能的缺点请提出来
一个人想再久还是会有盲点
: 虽然说那麽多, 做游戏最重要的是觉悟而已, 你觉悟足够,
: 甚麽都是有可能完成的, 也值得完成的.
: 这是我看完你的想法之後, 订下的工作时间表,
: 1. 在游戏里建立「外部资讯取得基制」
: 也就是先建立一个 function, 那用途是专门取得游戏里
: 的资料, 这个 function 大概是 in str, out str, 像
: 是这样.
: GetData('Country=国民政府;SP_Plus;TP_plus;');
: 回应
: 42;45;
: 而你要写这个基制, 必先要看完我 source code 里各种
: 资料架构.
: 你必须先有了这些资料, 然後才能够测试你的系统.
: 2. 第二是「命令传达基制」
: 比方说, 徵兵的命令在玩者操控时是按徵兵, 而电脑的内
: 挂操作时, 是向游戏输入 command line 「conscription
: 重庆;民兵;随机将领」
: 自然该命令的成功和失败都要 feedback
: 3. 以上两个基制需要建立相关的 lexical analysis engine
: , 即是语法分析器. 这点应该在人工智能上相当重要.
: 简单来说, 就是比方说, 输入「(A+B)*C」给电脑, 电脑
: 懂得将这条式计出来.
: if else 里面的重点在於「if (condition) else」, 就
: 是条件判定, 条件判定等於算式判定. 算式判定就需要有
: 这东西, 因此这一部份是一定要先完成的.
: 4. 基本上有了这两个输出和输入的基制, 外面的东西你才可
: 以依照你的计划去实行.
嗯 看来你有你理想中的架构了
而且还包含了 语法分析器 这设计让编辑者方便很多
不过作起来很麻烦(特别是除错时 所以我设计的话不打算做出来)
不过如果你有兴趣亲自完成编辑器那是再好不过的事了(个人单方面的希望)
有需要的话可以参考 我提出的架构
要是能从其中找到有用的的设计那是再好不过的
如果觉得这设计实在很糟 用这种架构不可能写出实用的AI
这个架构完全没有参考的价值
那也只要无视这个架构的存在就好
总之 决定权在你手上就是了
自己写的话我想应该是会符合你理想中的系统
由我来写的话则是依照我的架构去实作
: 然後人工智能的逻辑方面, 以及怎样高度化方面, 有一些专书
: , 如果你有兴趣可以去看的.
: 这些是我能给你的参考资讯, 当然不仅如此, 但站在「分析」
: 的角度去看, 工作必然是将一件复杂的工作先拆细, 然後再拆
: 细的部份一个个地去完成. 现在是「分析」的阶段, 也就是说
: 我们要先找出, 有甚麽工作是需要完成的.
: 如果我们在处理的是「建造一个系统」的问题, 我相信我们应
: 该用到工程的做事方式, 也就是「Issue -> Objective ->
: User Requirement -> Analysis -> Design -> Implementation
: -> Testing」, 应该是先有了分析然後再设计.
嗯 了解
不过呢 我想分析 其实还要先有目标
以完成「目标」开始「分析」 由「分析」成果进行「设计」
完成「设计」再开始「实作」 完成「实作」後开始「除错」
「除错」完成产生出「成果」 再由「成果」中寻找「目标」
「我们比起前一分钟的我们更为进化
每旋转一回就能稍加前进一步
那就是钻头啊!!」 by西蒙
所以说螺旋力的应用是很广的
总之 我只是想表达「我了解了」
: 我暂时能给你的资讯是这些, 我建议由 1 开始想你的设计. 先
: 分析「人工智能需要些甚麽资讯」.
嗯...这部分 我想过了 应该在
#1BUGyAzA有提出来过
或许是我的表达能力不好 现在还是重新提出来一次好了
>可能用到的属性
资料分析的内容.各国情报.部队资料…
目前大概只有人物的野望与技能等不会直接引用
人物的野望值我还是不知道那是作什麽用的 所以不会引用到
而人物的技能则是在部队中就计算过了所以也不会引用
不过现在再想想有特殊技能者或许有优先养成的价值 能作为养成的方向的决策判断
而函式的部分
也有提出两项 不过实际上会用到的部分非常多
如果你有兴趣自行制作
只要有资料结构 我可以帮忙制作函式并附上说明
如果想等我制作的编辑器
我会在完成系统後开始制作函式库
总之 我认为决定权在你那
有需要讨论 以帮助你做决定的话可以继续讨论
来信或在板上都可以 你可以视希望讨论的内容作决定
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.33.52.221