热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

游戏AI的设计

对于大部分网络游戏来说,AI都是很简单的,因为仅仅需要搜索敌人和战斗,对于BOSS来说,更注重数值、技能,战斗时,有一些对敌策略(如:仇恨值),以及一些由脚本控制的战斗逻辑如果
对于大部分网络游戏来说,AI都是很简单的,因为仅仅需要搜索敌人和战斗,

对于BOSS来说,更注重数值、技能,

战斗时,有一些对敌策略(如:仇恨值),以及一些由脚本控制的战斗逻辑

如果能否在下述几个方面做加强,也许会更加有意思一点:

1、增加怪物的记忆(对NPC有效的声望,就是这类设计)

2、增加怪物的性格:胆小、冒失、懒惰、勇敢、狂暴等等

3、增加策略层:生存策略集合、仇恨策略集合、合作策略集合、诡计策略集合等等

4、可以给怪物增加一个职业层:流浪者、采集者、临时工、罪犯、商人等等

5、增加团体AI:假设游戏世界有一个亡灵族,则它们会有一个团体AI,来指导它们的行为,并且这个AI会保存整个团体遭遇的一些事件,以便未来能做出正确的反应

6、给团体AI增加战略层:交往、合作、联盟、对抗、分化、孤立等等

以上只是简单的描述

-------------------------------------------------------------------------------------------------------

备注:

1、之所以来这里写博客,其实是想招人:)

2、公司目前有2.5D,3D项目正在开发中

3、我的联系方式:yangdiwen04@yahoo.com.cn

 

 高级程序员:
  1、游戏行业2 - 5年工作经验,对软件开发、游戏设计有自己独特的见解
  2、有自己独立开发多款小游戏,虽未加入游戏公司,但对游戏设计很有经验者
  3、软件行业3 - 5年工作经验,对软件开发有自己独特的见解,对加入游戏行业有兴趣者

  中级程序员:
  1、游戏行业1 - 2年工作经验,对游戏开发比较有经验者
  2、软件行业1 - 3年工作经验,对软件开发比较有经验者,有自己独立开发小游戏者优先

-------------------------------------------------------------------------------------------------------


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yangdiwen/archive/2010/07/01/5707700.aspx

20 个解决方案

#1


楼主所说的AI设计,确实不错。但是现在好像没有哪个网游会用这么复杂的AI吧 
我相信大家都希望自己的AI系统完善些,但是为什么没人这么做呢?是不是实现起来很困难?游戏开发要考虑开发周期,经费等,这个系统复杂度是否超出预算呢?

#2


嗯,上述的原因都有,

另外,就是:
1、也许很多人并不认为这么设计会带来多大的好处,因为现在的游戏,主要还是在乎战斗的过程,
   战斗之外,给玩家做做任务就好了:)
2、还有,程序的AI如果不是独立的话,也不想给AI分配太多的资源;没有资源,自然做不了这么复杂的设计

#3


AI逻辑肯定是在服务端计算的,太过复杂也对服务器不利

请问楼主是哪个游戏公司的?能发个网址吗

#4


我对AI十分感兴趣,游戏行业没有经历,但是数学物理基础好,有AI设计经验

#5


博客也被封了,懒得在这里发帖了:)

#6


本来还想写写我这几年在游戏行业的经历和经验的。。。

#7


- - 您博客进不去....悲剧

#8


制作怪物AI是很复杂的工作,光凭描述是很难制作,比如
1、增加怪物的记忆(对NPC有效的声望,就是这类设计)
首先记忆是要增加临时的,还是做存储的,存储历史内容是多少
是否时间来清除记忆,记忆会随时间衰减吗,如何衰减
是否需要记忆排序,如何分清记忆的重要性等

#9


楼主在什么公司招人?

#10


探讨下看法,仅供参考,呵呵。

1、增加怪物的记忆(对NPC有效的声望,就是这类设计):如果不是要求针对某些怪物的记忆,而是类似声望系统,那么只需要规划好游戏内的几个阵营势力即可,玩家信息内记录下这几个阵营所对应的阵营声望,通过判断不同的声望值对应不同的行为,这个是比较简单。如果是要求对某些怪物具有记忆,则随着这些特殊型性怪物的数量增加,玩家所需要记录的信息种类将会不断增加,举个例子:比如某个boss,我杀他10次后,第十一次他会学会新的技能而变得更强;杀100此后又会再次变强等等,如果要求游戏中有多个这样的boss,则每次增加,玩家信息内就需要增加信息的字段,来对应这个怪和击杀的次数,并通过这两个值来触发boss的行为。不知是否有更简单更好的方式?此方法制作上没有特别的难点,但是玩家信息的数据库内容将会不断增加,因此使用需要较为谨慎,不可多用。

2、增加怪物的性格:胆小、冒失、懒惰、勇敢、狂暴等等:规划性格是由策划进行的,体现性格也应该由策划来制作出,这些性格的体现主要是由怪物的技能、行为之类所体现的,比如胆小的怪物在战斗到一半时,就会逃跑,狂暴的怪物会在最后阶段变得威力无比等,这些行为应该由最基本的触发条件和行为模块来拼合而成。这就需要策划首先系统的规划分析出一些最基本的触发条件和行为,并通过脚本语言编写一个怪物的ai行为。
最简单的如胆小的怪物逃跑,我们可以让其在损失50%生命的情况下逃跑,触发条件就是生命百分比,而逃跑的属性包括逃跑的持续时间、逃跑的过程中将停止普通攻击和技能等其他ai行为,逃跑的寻路等等更小的细节处理。如果把这些基本的触发条件和行为都整理,那么可以组合出相当多的变化。同样的,技能的效果也是通过组合来完成的。


3、增加策略层:生存策略集合、仇恨策略集合、合作策略集合、诡计策略集合等等:我认为这点最关键的是仇恨共享方面的计算,如果多个怪物之间仇恨进行交互,那么就能衍生出许多集体性的战术。相对的这个制作的复杂度也高很多,出错几率大。

4、可以给怪物增加一个职业层:流浪者、采集者、临时工、罪犯、商人等等:我觉得这个到不需要ai来考虑,仍然是策划,以及美术的事情,他们该做些什么还是通过行为组合吧。

5、增加团体AI:假设游戏世界有一个亡灵族,则它们会有一个团体AI,来指导它们的行为,并且这个AI会保存整个团体遭遇的一些事件,以便未来能做出正确的反应:无论是事项方案和时间本省,都需要在前期详细规划准备,为这个种族编写两套不同情况下的ai,服务器也许记录下触发事件的状态以供使用。当然这个方法应该可行,但是灵活度欠佳,设计要求也很高,我觉得可以通过机关来控制小范围的群落,进行ai的变化,相对来说会更灵活一些,看看是否能尝试。

6、给团体AI增加战略层:交往、合作、联盟、对抗、分化、孤立等等:npc之间也可以有阵营划分,每个阵营之间可以有相对应的逻辑关系,并控制基本的ai,应该是比较可行的方案,问题仍然在于实现的复杂度和逻辑上的漏洞,如果考虑不周可能导致很多bug的产生,当然我是针对mmorpg来说的。

我觉得对于小团体的策略性ai能够大大增加游戏在战斗时的乐趣,是可以花比较多的心思来制作的,因为他能给玩家带来的感官也较直接,现有的游戏也有很多可参考的例子。

#11


没有从业经验的你要不?

#12


对软件开发、游戏设计有自己独特的见解

目前是做自动化测试的,对游戏设计一直情有独钟,也一直在往这方面努力。

楼主给个公司地址,等我有足够游戏设计经验了可以试试

#13


看所述, 似乎是出自策划之手

#14


“看所述, 似乎是出自策划之手”

哦,我是程序员,
不过,确实有自己写过一个游戏的设计文档,
也许哪天我工作不忙了,退下来,就可以慢慢做自己想做的游戏了:)

#15


我现在正过着楼上所说的美好时光

#16


哈哈,那就好好享受吧,

另外,根据我自己的经验,还有一个美好时光:
就是刚毕业,一直到做到主管之前,你可以安安心心写代码,每天很累,也很充实,
如果过两年一切都很好了,我也申请不做管理者了,实现自己想做的软件和功能:)

#17


自己安排自己的时间,想做什么就做什么,薪水少点没有关系:)

#18


最大限度的模拟现实世界。

#19


很不错的思考,而且实现起来可能不像你之前想的那么困难,是完全可行的。
目前只是网络游戏的模式还不流行太过智能的boss吧。相信今后慢慢会出现的。
早走一步很有优势。

#20


唉 团体AI不好把握啊,其实都不要团体AI,就一个AI 每次攻击都随机攻击一个队员,搞去吧。哈哈

#21


  • 游戏AI设计经验分享——行为树研究

推荐阅读
  • 随着网络安全威胁的不断演变,电子邮件系统成为攻击者频繁利用的目标。本文详细探讨了电子邮件系统中的常见漏洞及其潜在风险,并提供了专业的防护建议。 ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • TechStride 网站
    TechStride 成立于2014年初,致力于互联网前沿技术、产品创意及创业内容的聚合、搜索、学习与展示。我们旨在为互联网从业者提供更高效的新技术搜索、学习、分享和产品推广平台。 ... [详细]
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
  • 本文详细探讨了HTML表单中GET和POST请求的区别,包括它们的工作原理、数据传输方式、安全性及适用场景。同时,通过实例展示了如何在Servlet中处理这两种请求。 ... [详细]
  • 本题通过将每个矩形视为一个节点,根据其相对位置构建拓扑图,并利用深度优先搜索(DFS)或状态压缩动态规划(DP)求解最小涂色次数。本文详细解析了该问题的建模思路与算法实现。 ... [详细]
  • 本文探讨了如何在 PHP 的 Eloquent ORM 中实现数据表之间的关联查询,并通过具体示例详细解释了如何将关联数据嵌入到查询结果中。这不仅提高了数据查询的效率,还简化了代码逻辑。 ... [详细]
  • 本题探讨如何通过最大流算法解决农场排水系统的设计问题。题目要求计算从水源点到汇合点的最大水流速率,使用经典的EK(Edmonds-Karp)和Dinic算法进行求解。 ... [详细]
  • 本文探讨了 Spring Boot 应用程序在不同配置下支持的最大并发连接数,重点分析了内置服务器(如 Tomcat、Jetty 和 Undertow)的默认设置及其对性能的影响。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 深入探讨智能布线管理系统的电子配线架应用
    本文详细介绍了电子配线架智能布线系统的核心优势,包括实时监测网络连接、提高操作准确性、图形化显示连接架构、自动识别网络拓扑、增强安全性等功能。该系统不仅提升了网络管理的效率和准确性,还为资产管理、报告生成以及与其他智能系统的集成提供了强大的支持。 ... [详细]
  • 本文将介绍网易NEC CSS框架的规范及其在实际项目中的应用。通过详细解析其分类和命名规则,探讨如何编写高效、可维护的CSS代码,并分享一些实用的学习心得。 ... [详细]
  • 本文探讨了2012年4月期间,淘宝在技术架构上的关键数据和发展历程。涵盖了从早期PHP到Java的转型,以及在分布式计算、存储和网络流量管理方面的创新。 ... [详细]
  • 本文详细介绍如何通过修改配置文件来隐藏Apache、Nginx和PHP的版本号,从而增强网站的安全性。我们将提供具体的配置步骤,并解释这些设置的重要性。 ... [详细]
  • 本文深入探讨了HTTP请求和响应对象的使用,详细介绍了如何通过响应对象向客户端发送数据、处理中文乱码问题以及常见的HTTP状态码。此外,还涵盖了文件下载、请求重定向、请求转发等高级功能。 ... [详细]
author-avatar
逍遥子2502897751
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有