脚本模块是游戏设计中争论比较多的话题,那是因为作为脚本本身所带来的利弊.其实这都无关紧要,取舍是人必须学会的一项技能,如果你不会取舍那么就让趋势给你一个满意的答复.自从魔兽世界以及传奇(世界)问世以来,它们都伴随着脚本(LUA)配置,想一想为什么会用到脚本,其根本的原因在于脚本比较方便,改动的时候也无需考虑过多.个人一直坚持使用脚本就在此,另一方面是因其他高级语言,特别是C/C++与它的基本上是无缝的耦合所带来的便利,也成为我选择它的重要原因. CODE 文件environment.h /**…
1.定义 MMORPG,是英文Massive(或Massively)Multiplayer Online Role-PlayingGame的缩写,即大型多人在线角色扮演游戏. 2.技术与知识 在这系列的文章中,所提及的技术与知识为游戏设计中的基本知识与常用问题.文章中存在的问题,是不可避免的,希望读者能够见谅与理解. 3.开发环境 服务器选择linux和windows环境,客户端选择在windows上. 4.开发语言 在游戏开发中,有着许许多多的开发语言,如服务器开发语言有c++.lua.pyt…
接下来一段时间,这些文件可能不再更新,期间我会学习和掌握一些前端知识.虽然我非常欣赏剑侠网络版叁和九阴真经的画面,但是那是一个庞大的游戏引擎,一般人是无法窥伺的,除非你是天才而且要拥有机器毫无中断的毅力.我也很羡慕国外诸如刺客信条系列.古墓丽影系列,因为在画面和操作方面都做到了世界级水平,这也正是我想研究其实现原理的原因之一.况且那些大型游戏,在中端机器上运行的都比较流畅,也是我很想弄明白的.至于虚幻引擎,这是给那些大型公司,诸如腾讯拿去折腾的,个人根本用不起,那么只能选择开源了.UI我选择了C…
核心这个词来的是多么的高深,可能我们也因为这个字眼望而却步,也就很难去掌握这部分的知识.之所以将核心放在最前面讲解,也可以看出它真的很重要,希望朋友们不会错过这个一直以来让大家不熟悉的知识,同我一起进步.同时在讲解这方面的知识时候,博主也在学习好算法相关的知识,每天进行两个实例的讲解,有兴趣的朋友们不妨了解一下,大家千万不好死记硬背. 一张截图 描述 核心作为重要的地位,就是因为它掌握了最核心的东西:数据,也就是说核心就是数据的处理中心. 析构方法(construct) 主要是创建核心对象.基础…
我们在玩游戏的时候,我们进入游戏后第一眼往往都是看到游戏世界中的场景,当然除了个别例外,因为那些游戏将游戏场景隐藏了起来,如文字游戏中的地点一样.既然我们接触了游戏世界的核心,那么作为核心的场景又包括哪些内容呢? 一张截图 场景组成 这里以天龙八部/武侠世界作为参考,其组成主要为核心.事件.区域.聊天管道.搜索机.寻路器.副本.掉落. 核心 每个系统都有自己的核心部分,核心一般作为整体的控制的作用,在场景中数据逻辑的处理便放在核心部分,比如场景中的所有对象以及每个对象的数据,网络的同步等等. 事…
在游戏中的交互过程中输入是一个必不可少的过程,比如登陆的时候需要用户输入用户名与密码,就算是单机游戏很多时候也要求用户输入一个用户名作为存档的依据.网络游戏中没有了输入,只用鼠标来交互是不切实际的,因为用户总会为单一的操作而觉得厌烦.资源提供系统,是将游戏中各种的资源加载到内存中以供使用,比如说一张图片,一张数据表等等.在cegui和ogre中都自己封装了输入与资源管理的类,本次设计中自然是在它基础上扩展封装.那么,就让我们看看这两块提供了哪些方法吧. CODE 模块resource 文件pro…
这一节我将讲解vgui的基础系统部分,也是该库提供给外部使用的一些重要接口.作为UI部分比较重要的部分,该节有着至关重要的部分,如果没有看到上一节内容,请留意下面的连接.我们现在可以猜想一下在客户端UI部分,要设计到哪些东西呢?首先UI的大部分操作便是窗口的显示,那么窗口中又有哪些元素呢?链接.文字…… CODE /** * PAP Engine ( -- ) * $Id system.h * @link -- for the canonical source repository * @cop…
由于近来比较忙碌和有些困倦的原因,所以关于这部分的文章没有及时更新,一句话:让朋友们久等了!今天所讲的是客户端vengine(微引擎)中最后一个部分,就像上节所说,这一部分的内容比较多.可能有些朋友看了代码以及注释后,仍有不少疑惑的地方,欢迎评论留言相互讨论,如果有不好的地方,也希望大家勇于批评与指正.游戏模块,是提供给客户端最核心的部分,它将直接影响到游戏内容,如数据.渲染等. 构架 CODE 模块game下模块action 文件item.h /** * PAP Engine ( -- ) *…
时间在人们的生活中是多么重要的东西,如果打乱了时间,不知道这个时间会成什么样子.在客户端中,自然也有时间模块,因为不同的时间可能会处理不同的事情,特别是在追求高度自由化的同时,时间也成为了一个很重要的核心.没有时间,游戏世界将失去平衡,没有时间的游戏,会让人觉得乏味而单调.好了,我不用再强调时间多重要,想必大家已经明白了.比如游戏中的时辰变化,天气变化,这个是有时间的吗,答案是肯定的.在此次设计中,时间的接口中又提供了哪些方法呢? CODE 模块time 文件system.h /** * PAP…
首先为所有等待的朋友说一声歉意,实在让大家等的太久.客户端的设计本来就是一个大的工程,而且工作的关系,也没有太多时间在这方面做研究.不过在私下有空的时间,我还是继续着这方面的研究,很遗憾没有用期望的ogre+cegui最新的版本作为开发,这方面原因是新的版本资料实在不多,对于没有什么经验的人来说实在是一大难事,所以最终选择了同天龙八部/武侠世界版本接近的源码作为开发.好了,废话不多说,今天好介绍的是客户端的基本构架,天龙八部/武侠世界的设计模式. CLIENT 功能实现 本次功能实现了vengi…