在游戏中学习:游戏中的 学习



作者:Geoff Howland prefix = o />

出处:http://www.lupinegames.com/articles/rolearn.htm



译者:张戴维

译者Blog:http://www.5DBlog.com/user1/Davidz

译者E-mail:[email protected]



为了创建款有趣、成功游戏你需要是能够挑战你玩家玩家要通过过关斩将来感受到他们在不断地战胜困难达到此目个思路方法就是游戏要有从玩家操作中学习能力它能够分析玩家正在做事情并尝试提供具有挑战性反击和创造更聪明对手这样假象



模式匹配



无论是搜索数据模式还是搜索对玩家反应模式都有许多合理人工智能算法它们均以区别人或事件需求为依据然而仅为了游戏设计这些算法通常显得过多更重要这些算法并未使问题得以解决

你感兴趣是给玩家提供种挑战而不是为游戏中某个敌人创建台完美反抗机器作为游戏设计师游戏是你自己创造所以个非常有利条件就是你清楚每款游戏局限性因此你可以创建自己预备模式并通过检查玩家游戏时输入或是区别反应来测试这些模式

例如在像街头霸王II(Street Fighter 2) 这样格斗游戏中玩家有 6个可供选择通过捕捉玩家何时按下键、和对手距离、对手是否跳起等这些信息你会找到某种特定操作模式当和对手距离很近时玩家通常可能会出重拳再逼进去摔对手;当对手跳起来时玩家可能总是向上出拳通过记录玩家区别输入和当时游戏信息你可以为游戏人工智能(AI)创建个能够使用可能动作表通过做这些工作你可以“学习”玩家移动的后尝试着反击他们



即时战略游戏(RTS)有个更为复杂攻击系统鼠标点击各次输入是不相关RTS游戏中想要学习玩家企图做什么你需要提取玩家活动数据来寻找个通用模式这完全是个依赖于游戏过程让我们用命令和征服(Command & Conquer)为例加以介绍说明

C & C任务是建立基地和组建部队来保护自己然后摧毁敌人及他们基地这里有两个学习要点:是玩家怎样对付敌人 2是玩家如何建造基地为了使这个例子足够清晰我们只研究第个学习要点尽管第 2个学习要点对反击是至关重要

C & C作战单位间接触是非常有限当他们离得足够近时他们便开始互相攻击对方你要搜索类数据就是玩家偏爱作战单位类型玩家可能更喜欢用坦克冲锋在这种情况下你需要建造专门对付坦克防御工事;如果玩家喜欢机枪兵你就需要调整你防御工事来应对这种攻击

比起直接进攻你基地玩家可能会更喜欢攻击你采矿车这种行为可以被记录下来并被加以利用以便你能派出军队去保护采矿车或在主基地周围建造更多防卫设施想要创建个成功学习系统你需要找出最通用攻击思路方法然后在攻击出现时想出如何去做决定



储存和搜索



如同任何种数据库系统个学习系统好坏取决于它搜索有用信息能力学习系统实际内容都是依赖于游戏但对于小型通用数据库存在些基本原则

当你搜索某种模式时你要搜寻个或多个特征为了做到这点你应当用种易于访问方式储存数据这就需要你在储存数据同时还得考虑数据访问方式如果你想要将每个数据产生都作为相互独立要素来保存你就需要用易于搜索顺序将它们保存起来比如在C & C你可以用单位类型来储存通过为每个单位类型创建个表格你可以搜索全部记录快速地找到你所需要信息并收集到包含合适单位类型记录



种思路方法是将所有数据储存在张比率表格中例如攻击采矿车对攻击基地比率使用种单位对另种单位比率这会是个很好游戏中搜索思路方法没有任何记录需要回收、分析你可以在游戏外对单个记录进行储存和分析你还可以加权最新行动以显示在这些行动比先前行动更重要时你为战术上任何改变所作积极尝试



整理总结



像任何种其他类型游戏AI创建“学习”思路方法不但需要花费很多时间而且还需考虑区别情形还需经过很多测试玩家会发现许多你预先想不到游戏方式所以需要建立你自己具有足够拓展性“学习”数据库来扩充更多情形

学习玩家游戏风格和偏好并不是创建个不可战胜对手或是最棒AI关键它仅仅是给你玩家提供挑战思路方法永远别让你玩家找出个长期对付电脑战术思路方法这样最终可以使你游戏延长生命并使它保持新鲜感和有挑战性







译者:张戴维

译者E-mail:[email protected]

GameRes游戏开发资源网 http://www.gameres.com



Tags:  学习小游戏 学习游戏 游戏中学习 在游戏中学习

延伸阅读

最新评论

发表评论