『壹』 如何在游戏机制中使用AI/剧情脚本

首先要说的是,并不是说AI,剧情逻辑必须非脚本语言不可,用C++也可以写,甚至更习惯一些。但是脚本语言有脚本语言的长处,动态类型以及相当人性化的数据构造方式,特别是LUA中的表类型,似乎比较擅长描述这种复杂的AI/剧情结构。当然,为了验证自己的想法,我也写了4K的LUA代码,结果觉得该脚本语言相当不容易构造简洁的内容。AI从高自低的分别是计划,状态机,模式。我不知道这种划分是基于何种角度,但是我个人的理解是状态机最高,模式作为某个状态下的某个决策所预定义的动作序列,而计划,是为了实现某个目标的一组步骤的组合。那么硬编码的游戏循环何时调用脚本?答案是,游戏循环执行到调度NPC的AI函数的时候,该AI函数就不再做任何硬编码,而只是简单的dostring("gameEntitys[npc](/"update/")")。就是这么简单,将所有的AI/剧情放置到脚本中。那么,LUA中gameEntitys[npc]("update")是什么意思?简单的说,gameEntitys是一个存储所有NPC的注册表,gameEntitys[npc]将取得该npc的FMS函数,然后给该函数发送update消息告知npc当前的状态进行例行更新。FMS函数对于每一个对象是唯一的,那么比如某一类对象有共同的AI/剧情,那么该类的每一个对象同用同样的FMS函数的话,成员变量如何维持?要知道在LUA中模拟类还是比较麻烦的。答案是upvalue,也就是所有的对象使用同样的函数来生成自身的FMS,该函数就是FMS_Creator(all_state,init_state)。在C++编码中,NPC对象完成构造之后,就调用LUA载入对应的状态机/剧情脚本,然后调用FMS_Creator为自己创建FMS函数:dofile("npc_ai.lua")--引入all_state,init_stategameEntitys[npc]=FMS_Creator(all_state,init_state)当然,NPC析构之后,你也要释放LUA为你分配的资源gameEntitys[npc]=nil已经大概说明了如何在C++中启动NPC的LUA逻辑代码了,那么如何在LUA中编写状态机呢?答案是表。每个表代表一个状态,该表下的key表示该状态接受的消息,key对应的值表示该状态接受到key所表示的消息后要执行的决策,包括相应的动作和可能的状态变迁。看代码吧,最直观的表述:state={name="attack",--状态名enter={--进入该状态要执行,属于状态的消息--func是函数,param是参数,sucess,unsucess是func执行结果所对应的状态转移{func=print,param="openfire"},{func=IsEnemyDie,sucess="cure"},}update={}--同enter,不过用于状态在每一帧的更新exit={}--同enter,不过用于状态在每一帧的更新other_msg={}--同enter,用于表示该状态所接受的其他消息,可以有多个}在LUA中就是可以如此直观的表示每一个状态,其响应的消息以及函数。然后构造该npc接受的状态集合:all_state={}all_state[state.name]=stateinit_state=state这样子,就能传递到FMS_Creator中创建出自己独一无二的状态机函数了。那么剧情脚本呢?其实描述了状态机,剧情脚本是否已经有点眉头了呢?剧情,即为计划,每一个计划由一系列步骤所组成。类似的,对应每个计划的执行会有一个plan()函数,且为了达到独立效果,该函数将会由plan_creator(all_step,first_step)生成。看参数,显然计划的步骤step就是类似于状态的表,不过key方面略有不同,看代码就明白:step={name="findbill",cond={--执行该步骤的前提条件--func是判断条件的函数,param是判断参数{func=IsXXX,param="xxx"},{func=IsStepFinished,param=some_step},},finish={--条件判断成功要执行的动作{func

『贰』 游戏脚本

游戏脚本script是使用一种特定的描述性语言,依据一定的格式编写的可执行文件,又称作宏或批处理文件。脚本通常可以由应用程序临时调用并执行。各类脚本目前被广泛地应用于网页设计中,因为脚本不仅可以减小网页的规模和提高网页浏览速度,而且...

『叁』 游戏脚本策划主要要会哪些

游戏脚本策划,顾名思义就是负责游戏内一些脚本的设计。是一些流程和逻辑上的问题,不需要转化为代码,更需要的是你对整个脚本逻辑的把控能力,代码由程序“猿”负责即可。
比如很多手游现在都加入了自动挂机的功能,你需要做的就是挂机时主角应该砍身边哪只怪兽,血低于多少时自动吃大红这些。当然我举得这个例子只是脚本策划中比较皮毛的东西。

『肆』 一款RPG游戏中的剧情脚本应该怎么实现

对于脚本系统工程师,需要实现若干工具,包括不限于:
脚本编辑器……记事本磕碜了点
脚本编译器……生成脚本二进制文件
脚本加载器……将脚本文件加载入内存,并完成解析,准备后序执行
脚本解释器……这部分是最复杂的,维护所有脚本指令到实际程序函数的映射,维护全局脚本变量(一个最重要的变量是当前脚本行标),根据当前脚本所在行,调用对应函数,并打入参数,最好还有一定的错误追踪功能,便于脚本策划使用

脚本工程师需要提供给脚本策划,一套工具,包括不限于:
脚本编辑器……记事本磕碜了点
脚本编译器
脚本指令列表
脚本参数列表
场景编辑器最好支持触发器编辑,没有太磕碜

最好还有,带有上下文的脚本调用范例
因为很多指令是需要按顺序调用,以及需要一定的上下文

脚本指令是核心
大概分成如下几类:
抓取类指令:抓取游戏各种状态,抓取游戏对象,抓取游戏对象状态,这些是脚本执行对象和判断条件
判断类指令:判断对象状态,数值,触发器等
“动作”类指令:执行动画,切换游戏状态,执行对象位移,删东西加东西等
变量类指令:设置变量,清除变量,便于进行任务管理

原则上讲,游戏开发的所有代码都有可能转化为脚本指令,这取决于策划有多大脑洞

一些有趣的东西:
脚本触发战斗切换及返回
战斗中执行脚本再返回战斗
脚本指令包装,生成复合指令
AI脚本
脚本嵌套调用
……

有一套书叫《游戏脚本高级编程》
但是玩的太复杂了,不是大厂,单一项目很难有那么多资源搞
简单就好

『伍』 脚本是什么脚本怎么用我是说在游戏里。

游戏脚本就是俗称:"外挂" 都是利用编程类软件编写的。需要有些编程基础。现在基本都用按键精灵。

脚本简单地说就是一条条的文字命令,这些文字命令是可以看到的(如可以用记事本打开查看、编辑),脚本程序在执行时,是由系统的一个解释器,将其一条条的翻译成机器可识别的指令,并按程序顺序执行。

因为脚本在执行时多了一道翻译的过程,所以它比二进制程序执行效率要稍低一些。

脚本通常可以由应用程序临时调用并执行。

各类脚本被广泛地应用于网页设计中,因为脚本不仅可以减小网页的规模和提高网页浏览速度,而且可以丰富网页的表现,如动画、声音等。举个最常见的例子,当点击网页上的Email地址时能自动调用Outlook Express或Foxmail这类邮箱软件,就是通过脚本功能来实现的。

也正因为脚本的这些特点,往往被一些别有用心的人所利用。

例如在脚本中加入一些破坏计算机系统的命令,这样当用户浏览网页时,一旦调用这类脚本,便会使用户的系统受到攻击。

所以用户应根据对所访问网页的信任程度选择安全等级,特别是对于那些本身内容就非法的网页,更不要轻易允许使用脚本。

通过"安全设置"对话框,选择"脚本"选项下的各种设置就可以轻松实现对脚本的禁用和启用。

『陆』 求RPG游戏剧情脚本格式写法

何为剧情脚本?不明白。

『柒』 游戏中常说的用脚本是什么意思

脚本简单地说就是一条条的文字命令,这些文字命令是可以看到的,脚本程序在执行时,是由系统的一个解释器,将其一条条的翻译成机器可识别的指令,并按程序顺序执行。

因为脚本在执行时多了一道翻译的过程,所以它比二进制程序执行效率要稍低一些。

游戏脚本的意思,就是一个模拟鼠标、键盘的程序。

比如玩家要按一下A键, 移动鼠标点击一下。这个动作,用脚本可以直接帮玩家执行,省了手动操作。但使用游戏脚本在游戏中是作弊行为,会严重影响其他玩家的体验,因此需要严厉抵制。

(7)游戏剧情脚本扩展阅读:

脚本的编写都是采用某一种编程语言。

如 LoadRunnert 测试工具用的 C 语言;WebLoadt 测试工具用 JavaScript 或者是接近编程语言的方式;Robot 测试工具用SQABasic, 一种类似于VB的语言;

QTPt 测试工具所用到的是VBScript;WinRunnert 测试工具所用到的是类 C 的语言。这些测试脚本的易读性相对较低,编写相对复杂, 当设备的功能需求发生变化时,测试脚本不易被维护。

常见的脚本语言有:Scala、JavaScript,VBScript,ActionScript,MAX Script,ASP,JSP,PHP,SQL,Perl,Shell,Python,Ruby,JavaFX,Lua,AutoIt等。

『捌』 全游戏脚本

脚本(script)是使用一种特定的描述性语言,依据一定的格式编写的可执行文件,又称作宏或批处理文件。 每个游戏的脚本位置会有不同。 你说的要改编单机模式,那个是游戏源代码, 有了代码才可以把你玩的游戏改编,所以游戏代码很值钱的! 游戏整个就是靠语言代码编译来完成的。

『玖』 怎么自己写单机游戏脚本,比如制作新的mod,dlc人物剧情互动等需要什么基础

写脚本这东西特别是游戏脚本这种你不需要太好的文笔,只需要学出来的剧情别人能看懂就行,MOD的话就写一些背景、环境再根据人物来写。而DLC的话就需要你把整个“世界”创造出来后重新读一遍,抓一些细节或是自己埋下的伏笔(没有埋伏笔的话,可以找那些像是伏笔的段句)来写。人物剧情互动需要的是人物的设定完善,强大的脑洞(不强大也行,总之有就行了)没有基本错误的剧本。
做单机游戏的造物主?当你在脑中天马行空的时候你就已经是这个世界的造物主了,希望这个回答能帮到你,加油!

『拾』 什么是游戏脚本

游戏脚本的意思,就是一个模拟鼠标、键盘的程序,修改需要模拟器。

比如玩家要按一下A键, 移动鼠标点击一下。这个动作,用脚本可以直接帮玩家执行,省了手动操作。但使用游戏脚本在游戏中是作弊行为,会严重影响其他玩家的体验,因此需要严厉抵制。

游戏脚本原理

一个游戏的任务,需要在不同的手机屏幕上进行一系列点击,滑动,甚至输入文本,发送语音等动作后才能完成,而这一切操作其实就是手机中会记录这些动作的文件,文件存储的是一个又一个的信号量。

这些信号然后根据不同厂商的设定反馈给上层,而上层会根据反馈的信息转换成统一识别的事件,事件最后响应给应用,并对信息进行相应的处理,最后呈现给用户并实现它,这一些列的动作都是可以通过一些现有的工具或者说解决方案来帮实现自动游戏的功能。