电脑游戏中的难易程度是咋设定的
首先根据游戏的类型不同,玩法不同,游戏难易度的编程方式是不一样的。即使是对抗型游戏,那么根据游戏规则不一致,AI的算法也不一样。你提到的例子是 玩乒乓球。现实规则很简单:判断好球的线路,用合适力度打到对方台面上让对方无法接球。这个规则其实可以用一个简单的物理公式计算,按照公式来行动就永远不会输。如果双方都不作弊的话,那么人类是永远无法对抗游戏AI的。原因在于人类的反应是十分之一秒,但是CPU的反应远远超过人类的极限。那么你能够赢游戏AI,其实是游戏设计者故意让AI输给玩家。专业,普通、简单…等等其实就是电脑AI的放水程度而已。专业,普通、简单…等等。请问这在计算机上是如何实现的?他们的区别其实就在于让AI计算结果到什么步骤,精确到到何种程度。根据计算结果采取策略。是否采用最优策略,或者随机选择一种策略。游戏设计者可以故意让电脑不做任何反应或者减少计算时间和结果精度,游戏设计者也可以采用随机数来故意让电脑AI计算失误,或者选择差的策略。是启用丰富程度不同的数据库吗?如果是小量计算,AI计算时间不影响画面按照正常帧数显示,直接CPU内存计算就可以了。如果影响的话,分多步或者舍弃一部分计算或者画面帧。是故意增减电脑玩家的失误几率吗?肯定是故意的。要么是为了游戏可玩性让玩家觉得有对抗性选择合适AI,要么是为了性能考虑让游戏能够正常进行舍弃部分计算等。对于某些规则复杂或者计算量庞大的游戏,计算量远远超过计算机的能力时,就需要提前计算好各种数据,然后AI按照计算好的策略做选择和计算。例子就是围棋,赛车等等。具体介绍可以看下面推荐的书籍。还是什么原理?AI游戏引擎程序设计 (豆瓣)可以看这本书,讲解了大量AI设计知识,不是程序员也看得懂个大概。如果是程序员的话可以看第三部分的有限状态机,模糊状态机,消息系统,脚本系统,遗传算法,神经网络,分层AI等
■网友
额,题主 你的标题是 电脑游戏的难度怎么设定的?但是问题描述是电脑游戏的难度怎么实现的?这是两个不同的问题。我看了看觉得你是问第二种。我就按第二种来答吧。游戏的难度设定实现 按照游戏的机制实现,有非常多种。总的来说,游戏设计师在设定中可以发挥的空间很大。简单来说有以下一种:改数字而改数字的体现的结果 有分多种。1.玩家对抗的是概率,如果把赢钱作为目标的话,其实老虎机这样的slots 也是有难度的。虽然操作上没有什么差别都是拉一下。但是1/10 的概率 中奖和 1/10000 概率中奖 对玩家来说等待出现的Win的时间是差很多的。这是不考虑玩家操作技术的,纯粹的系统随机。2.我们来说说考验玩家操作的-考反应,比如说太鼓达人 一个在游戏机制上没有系统随机因子的。这里的难易程度就是击打提示符的移动速度,换言之,正确击中的时间窗口大小。人的反应有极限,从识别到做出判断 到正确的姿势击打触发器。这个时间窗口可以小到人力所不能及 那么难。类似考验的游戏很多 节奏天国(这个其实考验的是节奏感,虽然实现机制是一样的),Cubic(好像是这名字),打地鼠,各种跳舞机和变体。3.另一个考验玩家操作的,在考反应的基础上,还有考执行,比如说格斗游戏的各种搓连招,在紧张状态下,短时间内做出正确顺序的连续输入~你看说起来都很累。执行起来也是需要大量练习。4.考验策略,在格斗游戏中 你不可能靠搓一招吃遍天下,除了反应要快,出招要快,出对招也很重要。这里的实现是通过AI模拟玩家操作。其实AI模拟玩家操作有不足但是也有简单的地方 AI不会有搓招失败的问题。另外一种 静态策略问题,比如说 下棋类 这类的AI可以单分开来说 每种棋的AI都可以算是门学问了,尤其是 围棋和 国际象棋。在其他策略类游戏中的策略考虑,通常是混合了 记忆,识别,演算,决策 的,这个相关于游戏机制 不一一展开,从 Civ 系列到 消除游戏都是一类只是 系统复杂度和深度不同。5.大家来找茬或者是在一堆乱放的东西里找到目标物,图像识别游戏,考眼力。难度来自 你把10个东西放在玩家面前,还是 1000个 堆在一起。其实这个表真心可以无限长,因为只要运算力足够,Matrix也可以实现。剩下的大家自己发掘吧。但是难度的设定主要的观察对象不应该是电脑 而是玩家
推荐阅读
- 鄂温克冬季马赛-30℃极寒开赛:寒冬中的火热派对
- 大雪@大雪腌肉 适当进补 今日大雪
- |电商事业中的“闪光少年”
- hadoop中的mapreduce链接(mapreduce chaining)怎样避免中间文件的产生
- 经观汽车|日系车企中的“异类”?东风日产将导入e-POWER技术大干增程式混动 | 经观汽车
- 中年|这些东西,比你想象中的还要大得多!
- 请问杨毅微博中的这两人是谁
- 某些公司招聘要求中的精通mysql是啥程度
- 宝宝|婴幼儿游泳——宝宝人生中的第一健身运动
- 汽车|你眼中的未来出行世界——YiMagazine x 道达尔