《游戏脚本的设计与开发》-目录&序

原创 2013年05月06日 09:01:03

本系列文章目录

章节标题连接
游戏脚本简介http://blog.csdn.net/lufy_legend/article/details/8888787
第一章 基本功能
1.1读取和解析一个脚本文件http://blog.csdn.net/lufy_legend/article/details/8919823
1.2文字显示[Hello world]http://blog.csdn.net/lufy_legend/article/details/8948585
1.3基础语法(注释,变量,函数,条件语句)http://blog.csdn.net/lufy_legend/article/details/8978154
1.4图片的读取显示http://blog.csdn.net/lufy_legend/article/details/9019695
1.5显示层,绘图http://blog.csdn.net/lufy_legend/article/details/9069425
1.6按钮,脚本的暂停和标签http://blog.csdn.net/lufy_legend/article/details/9110513
第一章总结文字脚本的功能扩展和一个游戏测试http://blog.csdn.net/lufy_legend/article/details/9160841
第二章 战棋类游戏
2.1快速显示一张战场地图http://blog.csdn.net/lufy_legend/article/details/9210753
2.2军队降临战场http://blog.csdn.net/lufy_legend/article/details/9267599
2.3战场上的寻路和移动http://blog.csdn.net/lufy_legend/article/details/9404147
2.4物理攻击http://blog.csdn.net/lufy_legend/article/details/9918169
第三章 RPG类游戏
3.1RPG地图到底怎么做?http://blog.csdn.net/lufy_legend/article/details/17417085
3.2地图遮挡和人物行走http://blog.csdn.net/lufy_legend/article/details/17748629
3.3加入多个人物以及对话实现http://blog.csdn.net/lufy_legend/article/details/18184629
3.4地图跳转http://blog.csdn.net/lufy_legend/article/details/21322783
3.5游戏背包和任务系统http://blog.csdn.net/lufy_legend/article/details/21942227
3.6队员列表和人物属性http://blog.csdn.net/lufy_legend/article/details/22661047
3.7战斗系统之自动战斗(一)http://blog.csdn.net/lufy_legend/article/details/23744323
3.8通过脚本来自由控制游戏(一)http://blog.csdn.net/lufy_legend/article/details/39011709
第四章 待定


该项目github地址如下:

https://github.com/lufylegend/lsharp



从现在开始,我将通过一系列的文章,来讲解一下游戏脚本的设计和开发,这是一个比较大的话题,并不是一两篇就能讲完的,所以这可能是一个大坑,如果你不小心掉了进来,那就跟着我一点点的来了解一下吧。

一,什么是游戏脚本

    简单说,游戏脚本就是依据一定的格式编写的可执行文件,游戏可以通过脚本中自定义的语句来执行相应的逻辑。
    举个例子,舞蹈演员随着音乐翩翩起舞,其实音乐在这里就担当了脚本的角色,音乐里记录了每一个舞蹈动作,舞蹈演员根据自己的专业知识,将这些音乐转换为优美的舞姿。
    游戏也一样,游戏脚本里记录了游戏的控制语句,游戏引擎将这些控制语句进行解析,转换为生动的游戏画面。

二,为什么要将游戏脚本化

    游戏脚本,可以令我们的游戏动态化,比如当我们开发了一款rpg游戏,里面的剧情,事件以及地图等,我们如果将这些全部写进程序里,当然是可以的,但是一旦出现问题,哪怕几个错别字,我们需要先将这几个错别字改正,并且将整个程序重新编译发布一遍,这个过程是相当令人反感的,因为如果游戏的程序跟着游戏的内容不断进行修改的话,那只会使你的程序越来越复杂。但是如果我们将这些可重复的数据,都定义到游戏程序之外的文件里面,当游戏引擎开发完毕,我们的游戏通过读取这些外部文件,来执行相应的剧情和事件,那么,像上述当我们的游戏出现了问题,我们只需要改动这些外部文件就可以了,并不需要重新编译整个程序,这样便使得我们的游戏开发,变得便利简洁。(熟悉我博客的朋友们是不是看着这段话眼熟?我直接拷贝了《html5游戏开发-零基础开发RPG游戏-开源讲座》系列文章中的解释)
    游戏脚本化的另一个好处,就是将游戏引擎和游戏内容分离。游戏的脚本语言,最大的有点就是简单易懂,如果再为这个脚本语言提供了编辑器的话,就算是不会编程的人也能很容易上手使用。

三,游戏脚本能够实现哪些功能

    一个优秀的游戏脚本,通常能控制游戏中的一切。游戏中所有可变的数据,都应该通过脚本来控制,例如RPG游戏中的剧情任务,人物对话,不同角色的成长,道具的属性,甚至游戏中的按钮等等。

四,我要设计一款什么样的游戏脚本

    既然是自定义脚本,你可以任意绝对脚本的格式,比如我曾看到过下面一种脚本。

@@message 你好,欢迎来到脚本测试
@@drawgraph 50 100 human.png
上面的脚本第一行是一个打字机效果的对话内容的显示,第二行是在坐标50,100的位置上显示了一张图片,脚本中利用空格将每一行的脚本语句进行分割,然后通过分割后的第一个字符串作为命令的种类,不同的命令再进行不同的解析,最后通过画面显示出来。

    我在开发flash游戏引擎的时候,设计了一款脚本引擎,叫做L#,并成功使用这个脚本开发了《三国记》系列游戏,《三国记-乱世群雄》《三国记-经典战役版》。下面是游戏中的两个画面


    L#除了预计提供的RPG,SLG两大功能外,开发一些小应用也是很方便的,例如在L#中显示一行文字只需要下面一行脚本

Text.label(-,txt,Hello World !,280,230,30,#000000);

    为了提高flash端引擎的效率,最近打算使用Starling将flash端的L#脚本进行优化重构,顺便打算在HTML5中实现一下L#脚本的开发。于是接下来我会把这一过程中的HTML5部分记录下来,来说明一下如何具体来开发一款游戏脚本,大家可以从中了解到如何开发一款大型的SLG游戏和RPG游戏

五,准备工作

    1,lufylegend.js引擎下载

    我在下面的开发过程是建立在HTML5游戏引擎lufylegend.js的基础上的,当然你用其他语言,如C,C#,java等也是一样的,只要了解了原理,实现过程都不是问题。

    下面是lufylegend.js引擎的官方网址

    http://lufylegend.com/lufylegend

    2,一个本地的服务器

    因为涉及到脚本文件的读取,所以如果你也是跟着我用HTML5来实现这一过程的话,为了实现ajax读取文件,你需要在自己的电脑上安装一个本地服务器。我推荐你安装xmapp,这个工具非常方便,安装这个工具很简单,你可以百度一下,或者到我的这个帖子里,下载《HTML5 Canvas游戏开发实战》一书中的试读章节,里面第一章里面有xmapp的安装介绍。

http://blog.csdn.net/lufy_legend/article/details/8813053


这样准备就绪之后,就可以开始脚本开发之旅了,下一篇中,我将介绍如何来读取和解析一个脚本文件,敬请期待。


转载请注明:转自lufy_legend的博客

欢迎继续关注我的博客

http://blog.csdn.net/lufy_legend


游戏架构脚本该如何来写

这篇文章MOMO主要想大家说明一下我在Unity3D游戏开发中是如何写游戏脚本的,对于Unity3D这套游戏引擎来说入门极快,可是要想做好却非常的难。这篇文章的目的是让哪些已经上手Unity3D游戏引...
  • zhaoguanghui2012
  • zhaoguanghui2012
  • 2015年07月29日 18:00
  • 1099

《游戏脚本的设计与开发》-第一章总结 文字脚本的功能扩展和一个游戏测试

脚本系列文章写了好几篇了,大家可能都不清楚这些脚本有什么用,游戏中如何能应用到这些东西。当然,目前所介绍的内容还只是个简单的开头,说到做游戏还远远不够。不过,本次就使用前几章所介绍的内容,先来尝试一下...
  • lufy_Legend
  • lufy_Legend
  • 2013年06月24日 12:14
  • 8414

教你如何编写游戏外挂

1、熟练的编程知识 目前的外挂大部分都是用BC或者是Delphi或者是vc写的.2、具有很强的汇编基础 一般游戏都不可能有原代码的,必须靠反汇编或者跟踪的办法来探索其中的机理 ,所以有强的汇编基础也是...
  • Conquer20
  • Conquer20
  • 2006年07月18日 20:47
  • 3303

如何编写游戏外挂教程

  • 2010年10月09日 12:29
  • 4.67MB
  • 下载

2014年-如何编写游戏辅助工具

  • u012662688
  • u012662688
  • 2017年01月23日 15:28
  • 423

游戏中为什么使用脚本游戏为什么会有脚本这个东西

游戏脚本策划主要干什么? 脚本策划近几年逐渐被重视。越来越多的引擎,越来越多的游戏,对游戏脚本的定义和开发的支持,让脚本的功能越来越强大,也成为游戏策划开发游戏的利器之一。 在介绍脚本策划之前,我...
  • mydriverc2
  • mydriverc2
  • 2015年10月28日 14:49
  • 765

《游戏脚本的设计与开发》-(RPG部分)3.5 游戏背包和任务系统

背包系统在游戏中是必不可少的,在游戏中,所有获得的物品都会储存在背包里面。背包的种类,我一般将它分成两大类,一种是类似于《吞食天地》的“个人背包”,在游戏中每个人物都有一个背包,每个人的背包都互不影响...
  • lufy_Legend
  • lufy_Legend
  • 2014年03月24日 11:29
  • 31097

《游戏脚本的设计与开发》-(RPG部分)3.8 通过脚本来自由控制游戏(一)

一个RPG游戏中会触发各种各样的剧情,让某个人物的动作改变,或者让某个人移动到另一处,或者让某个人物从战场上消失,或者会播放一段动画,或者会切换游戏场景,等等吧,这些都要通过脚本来动态的控制。 我在序...
  • lufy_Legend
  • lufy_Legend
  • 2014年09月02日 21:31
  • 10927

游戏脚本语言比较

Game脚本语言比较 这些东西是平时遇到的, 觉得有一定的价值, 所以记录下来, 以后遇到类似的问题可以查阅, 同时分享出来也能方便需要的人, 转载请注明来自RingOfTheC...
  • qq_23225317
  • qq_23225317
  • 2016年10月20日 11:21
  • 440

游戏开发中常用的设计模式

使用设计模式来提高程序库的重复利用性是大型程序项目开发必须的。但是在“四人帮”的设计模式概述中提到了23种标准设计模式,不但难以记住,而且有些设计模式更多的适用于应用程序开发,对游戏项目引擎设计并没有...
  • duzhi5368
  • duzhi5368
  • 2008年04月22日 11:33
  • 9462
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:《游戏脚本的设计与开发》-目录&序
举报原因:
原因补充:

(最多只允许输入30个字)