《游戏AI开发指南(基于Lua的人工智能在游戏中的应用)》 |
版本 |
作者 |
参与者 |
完成日期 |
备注 |
YanlzAI_LuaForGames_V01_1.0 |
严立钻 |
|
2019.08.31 |
|
|
|
|
|
|
++++“游戏AI开发指南(基于Lua的人工智能在游戏中的应用)”:是对“AI+Lua+游戏”的综合探索;===>“Unity+SteamVR+5G+AI:VR云游戏”,作为VR云游戏的重要组成,AI将赋予VR新的高度;人工智能是国际竞争的新焦点,是人类社会发展的加速器;
++++“游戏AI开发指南(基于Lua的人工智能在游戏中的应用)”:定位在一个科普类知识,让大家熟悉“人工智能AI”相关技术,嗯嗯,这个“游戏AI”和通常所说的“人工智能概念”可能有些区别,这次仅仅是探索一下“游戏中的AI”!
#第一篇:钻哥百科
#第二篇:游戏开发中的Lua篇
#第三篇:基于Lua的游戏AI开发篇
#第四篇:立钻哥哥带您AI人工智能
#第一篇:钻哥百科 |
++++A.1、人工智能AI百科
++++A.2、Lua百科
++++A.3、立钻哥哥带您了解AI人工智能
++A.1、人工智能AI百科 |
++++人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一个新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语音识别、图像识别、自然语言处理和专家系统等;
++++人工智能是一门极富挑战性的科学,从事这项工作的人必须懂得计算机知识,心理学和哲学;人工智能是包括十分广泛的科学,它由不同的领域组成,如机器学习,计算机视觉等等,总的说来,人工智能研究的一个主要目的是使机器能够胜任一些通常需要人类智能才能完成的复杂工作;
++++[实际应用]:机器视觉,指纹识别,人脸识别,视网膜识别,虹膜识别,掌纹识别,专家系统,自动规划,智能搜索,定理证明,博弈,自动程序设计,智能控制,机器人学,语言和图像理解,遗传编程等;
++++[涉及学科]:哲学和认知科学,数学,神经生理学,心理学,计算机科学,信息论,控制论,不定性论;等等;
++++[研究范畴]:自然语言处理,知识表现,智能搜索,推理,规划,机器学习,知识获取,组合调度问题,感知问题,模式识别,逻辑程序设计软计算,不精确和不确定的管理,人工生命,神经网络,复杂系统,遗传算法;等等;
++++[机器学习]:机械学习的主要目的是为了从使用者和输入数据等处获得知识,从而可以帮助解决更多问题,减少错误,提高解决问题的效率;
++++[机器学习(Machine Learning)]:是一门设计统计学、系统辨识、逼近理论、神经网络、优化理论、计算机科学、脑科学等诸多领域的交叉学科,研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,是人工智能技术的核心;
++++[知识图谱]:本质上是结构化的语义知识库,是一种由节点和边组成的图数据结构,以符号形式描述物理世界中的概念及其相互关系,其基本组成单位是“实体-关系-实体”三元组,以及实体及其相关“属性-值”对;
++++[自然语言处理]:是计算机科学领域与人工智能领域中的一个重要方向,研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法,涉及的领域较多,主要包括机器翻译、机器阅读理解和问答系统等;
++++[人机交互]:主要研究人和计算机之间的信息交换,主要包括人到计算机和计算机到人的两部分信息交换,是人工智能领域的重要的外围技术;人机交互是与认知心理学、人机工程学、多媒体技术、虚拟现实技术等密切相关的综合学科;
++++[计算机视觉]:是使用计算机模拟人类视觉系统的科学,让计算机拥有类似人类提取、处理、理解和分析图像以及图像序列的能力;自动驾驶、机器人、智能医疗等领域均需要通过计算机视觉技术从视觉信号中提取并处理信息;
++++[生物特征识别]:是指通过个体生理特征或行为特征对个体身份进行识别认证的技术;内容包括指纹、掌纹、人脸、虹膜、指脉冲、声纹、步态等多种生物特征,其识别过程涉及到图像处理、计算机视觉、语音识别、机器学习等多项技术;
++++[虚拟现实(VR)/增强现实(AR)]:是以计算机为核心的新型视听技术;
++A.2、Lua百科 |
++++[脚本语言]:又被称为扩建的语言,或者动态语言,是一种编程语言,用来控制软件应用程序,脚本通常以文本保存,只在被调用时进行解释或编译;脚本语言是为了缩短传统的编写-编译-链接-运行(Edit-Compile-Link-Run)过程而创建的计算机编程语言;(典型的脚本语言:Lua、Python、Shell、PHP、Perl、Ruby、HTML、CSS、PLC编程等等)
++++Lua脚本可以很容易的被C/C++代码调用,也可以反过来来调用C/C++的函数,这使得Lua在应用程序中可被广泛应用;不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML,ini等文件格式,并且更容易理解和维护;
function create_a_counter() local count = 0 return function() count = count + 1 return count end end |
++++Lua借助C/C++等底层语言可以无限扩张,而脚本语言的特性又让它十分适合快速原型开发和迭代;近年来,许多大型游戏都采用了Lua作为自己的嵌入式脚本语言,以此来实现可配置性和可扩展性;
++++[人工智能(AI)]:在如今的游戏中非常关键:玩家需要精明的、有挑战性的对手,感觉就像真人一样;就开发AI判定来说,Lua是一种非常高效的工具;
++++Lua提供函数级别的可以调用C标准库的数学运算函数(math.floor();math.random();math.min());
++++[类型转换]:在游戏开发中,字符和数字之间常常需要转换;myNumber = tonumber(myString);
++++[string.len(myString)]:知道字符串的长度是非常有用的,返回传入参数的字符数;
++++[string.sub(myString, start, end)]:返回指定字符串的子串;
++++[string.format()]:格式化输出指定字符串;
++++Lua通常作为最上层接口直接和程序使用者或者游戏玩家打交道,在核心程序处理之前接受并响应输入;因为Lua处在底层代码和用户之间的位置,所以在设计时会更加注重与C/C++的通信和集成;
++++所有的游戏都和数据相关,在脚本层处理数据,意味着游戏设计师和脚本程序员可以独立于底层的核心代码,访问所有的游戏数据并且设计符合游戏需要的数据存储方式;
++++Lua还可以被用于保存游戏进度、游戏开始时的数据载入,以及玩家载入游戏进度;
++++创建动画状态机以便在Lua代码中驱动AI动画;
++++构建导航网格并在其中寻路;
++++使用行为树、状态机和决策树开发决策逻辑,构建模块化、可重用的AI;
++++基于影响力地图开发多个AI的高级战术;
++++利用Lua编程开发专注于动作、动画和战术的游戏AI;
++++“游戏人工智能(游戏AI)”是游戏开发的一个重要方面,在很大程度上决定了游戏产品的逼真程度和对玩家的吸引力,由此也得到游戏开发工程师越来越多的重视;
#第二篇:游戏开发中的Lua篇 |
++++B.1、立钻哥哥带您了解Lua
++++B.2、Lua从入门到放弃
++++B.3、Lua和C/C++/C#的整合和交互
++++B.4、Lua游戏编程
++++B.5、调试Lua脚本
++B.1、立钻哥哥带您了解Lua |
++++[Roberto Ierusalimschy(Lua语言创始人之一)]:Lua所有的优点对于游戏开发都是很重要的:简单性、可移植性以及运行效率高,从此以后,我们开始关注游戏开发者,陆续为Lua增加了许多新的特性,如为游戏开发提供了协同例程(coroutine)的功能;尽管Lua的功能不会局限在游戏开发上,但是在Lua未来的发展中,必着重考虑游戏开发;
++++尽管游戏开发的规模不断增大,但始终有一个不变的追求:测试、更新、调整,以及快速验证游戏性的能力,通常这个部分是设计和开发过程的核心;采用一种像Lua这样的脚本语言以及内核级别的语言(如C++)可以帮助用户开发专业的游戏,并且还能让开发者和设计师快速实现设计想法、测试游戏功能;
++++[游戏程序员]:程序员在开发团队中负责实现Lua和C++之间的接口,并且通常还要编写部分或全部的游戏脚本;程序员需要了解如何将Lua和LuaGlue的功能集成到游戏开发项目中;对于程序员来说,最重要的是,使用Lua可以在游戏开发的过程中节省很多时间和精力,因为许多游戏的功能可以由设计师和脚本程序员来实现;
++++[游戏设计师]:游戏设计师会采用像Lua这样的脚本语言在运行环境中来实现部分设计;使用Lua开发可以帮助他们使用工具快速开发原型,快速实现并且进行创意的验证;
++++在游戏开发中,Phython和Lua是非常适合的,因为它们可以直接调用C++的功能;许多商业游戏已经成功地使用了Phython和Lua,因为它们都有很强的兼容性,所以可以与编译后且基于C++技术的模块协同工作,而且还能扩展;
++++Lua免费、小巧、快速且易移植;Lua采用了非常灵活的发布协议,它有极少的源代码,运行轨迹十分紧凑,在编译时间和运行时内存占用上都有很好的性能优势;
++++Lua非常适合作为更强大的底层编程语言的搭档,如C++;Lua能让游戏开发者快速建立游戏原型甚至是完整的游戏;游戏开发者可以在没有程序员帮忙的情况下构建整个图形界面;它还可以用来管理游戏进度文件的保存和载入,而且很容易阅读和调试;在游戏开发领域,Lua能帮助开发者构建一个高效并且方便验证游戏想法的环境;
++++Lua是免费的开源软件,可以免费用于科研及商业应用;
++++“渲染系统”完全由C++开发,但Lua可以调用C++来创建一个特定模型的实体对象,并且设置其在场景中的位置,然后Lua还可以为这个3D模型指定动画;Lua并不处理任何实时的复杂运算来改变该模型,而只是告诉底层渲染系统什么时候该做什么;
++++立钻哥哥:Lua是非常强大的工具,可以用来完成很多工作;
【XR游戏开发QQ群:784477094】
++立钻哥哥推荐的拓展学习链接(Link_Url):
立钻哥哥推荐的拓展学习链接(Link_Url) |
++++立钻哥哥Unity 学习空间: http://blog.csdn.net/VRunSoftYanlz/
++++虚拟现实VR资讯: https://blog.csdn.net/VRunSoftYanlz/article/details/89165846
++++HTC_VIVE开发基础:https://blog.csdn.net/VRunSoftYanlz/article/details/81989970
++++Oculus杂谈:https://blog.csdn.net/VRunSoftYanlz/article/details/82469850
++++Oculus安装使用:https://blog.csdn.net/VRunSoftYanlz/article/details/82718982
++++Unity+SteamVR=>VR:https://blog.csdn.net/VRunSoftYanlz/article/details/88809370
++++Unity减少VR晕眩症:https://blog.csdn.net/VRunSoftYanlz/article/details/89115518
++++SteamVR简介:https://blog.csdn.net/VRunSoftYanlz/article/details/86484254
++++SteamVR脚本功能分析:https://blog.csdn.net/VRunSoftYanlz/article/details/86531480
++++SteamVR2.0开发指南:https://blog.csdn.net/VRunSoftYanlz/article/details/86618187
++++SteamVR2.2.0开发指南:https://blog.csdn.net/VRunSoftYanlz/article/details/88784527
++++SteamVR2.2.0快速入门:https://blog.csdn.net/VRunSoftYanlz/article/details/88833579
++++SteamVR2.2.0交互系统:https://blog.csdn.net/VRunSoftYanlz/article/details/89199778
++++SteamVR2.2.0传送机制:https://blog.csdn.net/VRunSoftYanlz/article/details/89390866
++++SteamVR2.2.0教程(一):https://blog.csdn.net/VRunSoftYanlz/article/details/89324067
++++SteamVR2.2.0教程(二):https://blog.csdn.net/VRunSoftYanlz/article/details/89894097
++++SteamVR_Skeleton_Poser:https://blog.csdn.net/VRunSoftYanlz/article/details/89931725
++++SteamVR实战之PMCore:https://blog.csdn.net/VRunSoftYanlz/article/details/89463658
++++SteamVR/Extras:https://blog.csdn.net/VRunSoftYanlz/article/details/86584108
++++SteamVR/Input:https://blog.csdn.net/VRunSoftYanlz/article/details/86601950
++++OpenXR简介:https://blog.csdn.net/VRunSoftYanlz/article/details/85726365
++++VRTK杂谈:https://blog.csdn.net/VRunSoftYanlz/article/details/82562993
++++VRTK快速入门(杂谈):https://blog.csdn.net/VRunSoftYanlz/article/details/82955267
++++VRTK官方示例(目录):https://blog.csdn.net/VRunSoftYanlz/article/details/82955410
++++VRTK代码结构(目录):https://blog.csdn.net/VRunSoftYanlz/article/details/82780085
++++VRTK(SceneResources):https://blog.csdn.net/VRunSoftYanlz/article/details/82795400
++++VRTK_ControllerEvents:https://blog.csdn.net/VRunSoftYanlz/article/details/83099512
++++VRTK_InteractTouch:https://blog.csdn.net/VRunSoftYanlz/article/details/83120220
++++虚拟现实行业应用:https://blog.csdn.net/VRunSoftYanlz/article/details/88360157
++++Steam平台上的VR:https://blog.csdn.net/VRunSoftYanlz/article/details/88960085
++++Steam平台热销VR:https://blog.csdn.net/VRunSoftYanlz/article/details/89007741
++++VR实验:以太网帧的构成:https://blog.csdn.net/VRunSoftYanlz/article/details/82598140
++++实验四:存储器扩展实验:https://blog.csdn.net/VRunSoftYanlz/article/details/87834434
++++FrameVR示例V0913:https://blog.csdn.net/VRunSoftYanlz/article/details/82808498
++++FrameVR示例V1003:https://blog.csdn.net/VRunSoftYanlz/article/details/83066516
++++SwitchMachineV1022:https://blog.csdn.net/VRunSoftYanlz/article/details/83280886
++++PlaySceneManagerV1022:https://blog.csdn.net/VRunSoftYanlz/article/details/83280886
++++Unity5.x用户手册:https://blog.csdn.net/VRunSoftYanlz/article/details/81712741
++++Unity面试题ABC:https://blog.csdn.net/vrunsoftyanlz/article/details/78630687
++++Unity面试题D:https://blog.csdn.net/VRunSoftYanlz/article/details/78630838
++++Unity面试题E:https://blog.csdn.net/vrunsoftyanlz/article/details/78630913
++++Unity面试题F:https://blog.csdn.net/VRunSoftYanlz/article/details/78630945
++++Cocos2dx面试题:https://blog.csdn.net/VRunSoftYanlz/article/details/78630967
++++禅道[zentao]:https://blog.csdn.net/VRunSoftYanlz/article/details/83964057
++++Lua快速入门篇(Xlua拓展):https://blog.csdn.net/VRunSoftYanlz/article/details/81173818
++++Lua快速入门篇(XLua教程):https://blog.csdn.net/VRunSoftYanlz/article/details/81141502
++++Lua快速入门篇(基础概述):https://blog.csdn.net/VRunSoftYanlz/article/details/81041359
++++框架知识点:https://blog.csdn.net/VRunSoftYanlz/article/details/80862879
++++游戏框架(UI框架夯实篇):https://blog.csdn.net/vrunsoftyanlz/article/details/80781140
++++游戏框架(初探篇):https://blog.csdn.net/VRunSoftYanlz/article/details/80630325
++++.Net框架设计:https://blog.csdn.net/VRunSoftYanlz/article/details/87401225
++++从零开始学架构:https://blog.csdn.net/VRunSoftYanlz/article/details/88095895
++++设计模式简单整理:https://blog.csdn.net/vrunsoftyanlz/article/details/79839641
++++专题:设计模式(精华篇):https://blog.csdn.net/VRunSoftYanlz/article/details/81322678
++++U3D小项目参考:https://blog.csdn.net/vrunsoftyanlz/article/details/80141811
++++Unity小游戏算法分析:https://blog.csdn.net/VRunSoftYanlz/article/details/87908365
++++Unity案例(Vehicle):https://blog.csdn.net/VRunSoftYanlz/article/details/82355876
++++UML类图:https://blog.csdn.net/vrunsoftyanlz/article/details/80289461
++++PowerDesigner简介:https://blog.csdn.net/VRunSoftYanlz/article/details/86500084
++++Unity知识点0001:https://blog.csdn.net/vrunsoftyanlz/article/details/80302012
++++Unity知识点0008:https://blog.csdn.net/VRunSoftYanlz/article/details/81153606
++++U3D_Shader编程(第一篇:快速入门篇):https://blog.csdn.net/vrunsoftyanlz/article/details/80372071
++++U3D_Shader编程(第二篇:基础夯实篇):https://blog.csdn.net/vrunsoftyanlz/article/details/80372628
++++Unity引擎基础:https://blog.csdn.net/vrunsoftyanlz/article/details/78881685
++++Unity面向组件开发:https://blog.csdn.net/vrunsoftyanlz/article/details/78881752
++++Unity物理系统:https://blog.csdn.net/vrunsoftyanlz/article/details/78881879
++++Unity2D平台开发:https://blog.csdn.net/vrunsoftyanlz/article/details/78882034
++++UGUI基础:https://blog.csdn.net/vrunsoftyanlz/article/details/78884693
++++UGUI进阶:https://blog.csdn.net/vrunsoftyanlz/article/details/78884882
++++UGUI综合:https://blog.csdn.net/vrunsoftyanlz/article/details/78885013
++++Unity动画系统基础:https://blog.csdn.net/vrunsoftyanlz/article/details/78886068
++++Unity动画系统进阶:https://blog.csdn.net/vrunsoftyanlz/article/details/78886198
++++Navigation导航系统:https://blog.csdn.net/vrunsoftyanlz/article/details/78886281
++++Unity特效渲染:https://blog.csdn.net/vrunsoftyanlz/article/details/78886403
++++Unity数据存储:https://blog.csdn.net/vrunsoftyanlz/article/details/79251273
++++Unity中Sqlite数据库:https://blog.csdn.net/vrunsoftyanlz/article/details/79254162
++++WWW类和协程:https://blog.csdn.net/vrunsoftyanlz/article/details/79254559
++++Unity网络:https://blog.csdn.net/vrunsoftyanlz/article/details/79254902
++++Unity资源加密:https://blog.csdn.net/VRunSoftYanlz/article/details/87644514
++++PhotonServer简介:https://blog.csdn.net/VRunSoftYanlz/article/details/86652770
++++编写Photon游戏服务器:https://blog.csdn.net/VRunSoftYanlz/article/details/86682935
++++C#事件:https://blog.csdn.net/vrunsoftyanlz/article/details/78631267
++++C#委托:https://blog.csdn.net/vrunsoftyanlz/article/details/78631183
++++C#集合:https://blog.csdn.net/vrunsoftyanlz/article/details/78631175
++++C#泛型:https://blog.csdn.net/vrunsoftyanlz/article/details/78631141
++++C#接口:https://blog.csdn.net/vrunsoftyanlz/article/details/78631122
++++C#静态类:https://blog.csdn.net/vrunsoftyanlz/article/details/78630979
++++C#中System.String类:https://blog.csdn.net/vrunsoftyanlz/article/details/78630945
++++C#数据类型:https://blog.csdn.net/vrunsoftyanlz/article/details/78630913
++++Unity3D默认的快捷键:https://blog.csdn.net/vrunsoftyanlz/article/details/78630838
++++游戏相关缩写:https://blog.csdn.net/vrunsoftyanlz/article/details/78630687
++++UnityAPI.Rigidbody刚体:https://blog.csdn.net/VRunSoftYanlz/article/details/81784053
++++UnityAPI.Material材质:https://blog.csdn.net/VRunSoftYanlz/article/details/81814303
++++UnityAPI.Android安卓:https://blog.csdn.net/VRunSoftYanlz/article/details/81843193
++++UnityAPI.AndroidJNI安卓JNI:https://blog.csdn.net/VRunSoftYanlz/article/details/81879345
++++UnityAPI.Transform变换:https://blog.csdn.net/VRunSoftYanlz/article/details/81916293
++++UnityAPI.WheelCollider轮碰撞器:https://blog.csdn.net/VRunSoftYanlz/article/details/82356217
++++UnityAPI.Resources资源:https://blog.csdn.net/VRunSoftYanlz/article/details/83155518
++++JSON数据结构:https://blog.csdn.net/VRunSoftYanlz/article/details/82026644
++++CocosStudio快速入门:https://blog.csdn.net/VRunSoftYanlz/article/details/82356839
++++Unity企业内训(目录):https://blog.csdn.net/VRunSoftYanlz/article/details/82634668
++++Unity企业内训(第1讲):https://blog.csdn.net/VRunSoftYanlz/article/details/82634733
++++Unity企业内训(第2讲):https://blog.csdn.net/VRunSoftYanlz/article/details/82861180
++++Unity企业内训(第3讲):https://blog.csdn.net/VRunSoftYanlz/article/details/82927699
++++Unity企业内训(第4讲):https://blog.csdn.net/VRunSoftYanlz/article/details/83479776
++++Unity企业内训(第5讲):https://blog.csdn.net/VRunSoftYanlz/article/details/83963811
++++Unity企业内训(第6讲):https://blog.csdn.net/VRunSoftYanlz/article/details/84207696
++++钻哥带您了解产品原型:https://blog.csdn.net/VRunSoftYanlz/article/details/87303828
++++插件
++++计算机组成原理(教材篇):https://blog.csdn.net/VRunSoftYanlz/article/details/82719129
++++5G接入:云计算和雾计算:https://blog.csdn.net/VRunSoftYanlz/article/details/88372718
++++云计算通俗讲义:https://blog.csdn.net/VRunSoftYanlz/article/details/88652803
++++立钻哥哥Unity 学习空间: http://blog.csdn.net/VRunSoftYanlz/
--_--VRunSoft:lovezuanzuan--_--