收藏 分享(赏)

手游《十万个冷笑话》精炼系统开发.doc

上传人:wo7103235 文档编号:6571110 上传时间:2019-04-17 格式:DOC 页数:44 大小:10.03MB
下载 相关 举报
手游《十万个冷笑话》精炼系统开发.doc_第1页
第1页 / 共44页
手游《十万个冷笑话》精炼系统开发.doc_第2页
第2页 / 共44页
手游《十万个冷笑话》精炼系统开发.doc_第3页
第3页 / 共44页
手游《十万个冷笑话》精炼系统开发.doc_第4页
第4页 / 共44页
手游《十万个冷笑话》精炼系统开发.doc_第5页
第5页 / 共44页
点击查看更多>>
资源描述

1、 JIANGXI AGRICULTURAL UNIVERSITY本 科 毕 业 论 文(设 计)题目: 手游十万个冷笑话精炼系统开发 学 院: 软件学院 姓 名: 学 号: 专 业: 软件工程 班 级: 指导教师: 职 称: 二 0XX 年 四 月目录摘要 .IABSTRACT.II1 绪论.11.1 概述 .11.2 游戏精炼系统介绍 .11.3 课题研究背景 .11.4 系统开发目的 .21.5 开发平台的选择 .21.6 系统开发方法 .22 相关技术介绍.32.1 CEGUI 介绍 32.1.1 CEGUI 简介 32.1.2 CEGUI 的工作方式 32.2 LUA 介绍 .52.2

2、.1 Lua 简介 52.2.2 Lua 的特性 52.2.3 Lua 在游戏的作用 62.3 DIRECTX 介绍 .62.3.1 DirectX 简介 62.3.2 DirectX 功能 63 需求分析.83.1 可行性分析 .83.1.1 技术可行性分析83.1.2 经济可行性分析83.1.3 法律可行性分析83.2 系统需求分析 .83.2.1 目标需求83.2.2 系统性能需求93.2.3 系统功能需求104 数据库设计.124.1 数据库设计 .124.2 概念模型设计(E-R 图) .124.3 详细数据库设计 .134.3.1 数据库表结构135 系统概要设计.165.1 概述

3、 .165.2 系统菜单功能描述 .165.2.1 招财系统模块165.2.2 选择系统模块165.2.3 背包系统模块175.2.4 伙伴系统模块175.2.5 装备系统模块176 精炼系统详细设计.186.1 招财系统模块 .186.2 选择系统模块 .206.3 背包系统模块 .266.4 伙伴系统模块.286.5 装备系统模块 .297 测试与维护.337.1 系统测试 .337.2 系统维护 .36项目总结.37参考文献.38致谢.39I摘要在竞争日益激烈的手机游戏行业,一味的模仿并不能让游戏开发者在这个浪潮中站稳脚跟,只有迎合玩家的口味的同时,不断地推陈出新,构思新鲜的玩法,才能打

4、动玩家,并为之支付相应的金钱。本文分析了当前手机卡牌游戏的发展和现状,通过 Lua 等技术在 Saturn 游戏引擎的基础上开发了一套完整的游戏精炼系统。本文着重描述了从需求分析、总体设计,到详细设计,再到系统实现的一个游戏新功能系统开发的全过程。在需求分析部分,根据具体需要,对需求进行了细化的分析,并用流程图的方式为开发流程进行表示。在总体设计部分,根据系统设计的一般原理,和系统需求分析的结果,得到本系统技术、功能、逻辑、数据等方面的架构设计,为具体的系统开发提供了强有力的开发依据。在详细设计部分,本文对该系统做了详细说明,并规划出了系统的具体模块和模块之间的关系,得到了一个大致的游戏精炼系

5、统开发原型。在系统实现部分,本文对系统中各种模块要求的具体实现做了详细介绍,并辅以代码和效果图说明,同时还简单介绍测试的方案。关键词:Lua+CEGUI;手机游戏;十万个冷笑话IIAbstractIn the increasingly fierce competition in the industry of mobile phone games, imitate and not allow game developers to gain a foothold in this wave, only to cater to the taste of the game player at the

6、same time, constantly bring forth the new through the old, the idea of fresh slighting the law, to move the game player, and pay the appropriate money for it.This paper analyzes the current development status of mobile phone card and card game, through the Lua technology based on Saturn game engine

7、developed a complete game refining system. This paper describes the analysis, the overall design from the demand, to the detail design, then to the whole process of developing a new game system function realization of the system.In the demand analysis part, according to the specific needs of the dem

8、and of the refinement analysis, and chart the way for the development of process representation. In the overall design part, according to the general principles of system design, and system requirements analysis results, this system technology, functional, logic, data and other aspects of the archit

9、ecture design, provides a strong basis for the development of specific system development.In the detailed design part, the paper makes a detailed description of the system, and designed the relationship between specific classes and class system, to get a rough game refining the prototype system deve

10、lopment.In the part of system implementation, this paper on the various modules in the system to achieve the specific requirements in detail, supplemented by code and effect diagram shows, it also introduces the test scheme.Keywords: Lua+CEGUI; Mobile phone games; One hundred thousand cold joke绪论11

11、绪论1.1 概述自从我叫 MT持续火爆以来,卡牌类手游如雨后春笋般涌现,特别是刀塔传奇这款月流水达到 2.7 亿的业界奇迹的诞生,更加刺激了还没有稳定下来的手游市场。 “IP+RPG 卡牌”成了所有手游公司的宠儿,大家争相参与到抢夺手游市场这一不算大的奶酪的漩涡中。那么如何在卡牌游戏泛滥的今天,从众多同类型的游戏中脱颖而出成了所有游戏公司思考的第一要素。十万个冷笑话就是众多寻求突破的卡牌类游戏中的一个,在拥有着大量 IP粉丝的基础上, 十万个冷笑话秉承着继承原著的冷笑话的特色外,积极进行了大量的创新,比如提升装备性能的精炼系统,将伙伴还原初始状态的重生系统,玩家PVP 的武道会系统,玩家组队

12、PVE 的工会猎场系统等等。花样层出的新玩法让玩家不会有腻烦感,在为玩家打造一个二次元的世界观的同时,也让广大玩家自主参与进来,打造一个属于自己的游戏团队。1.2 游戏精炼系统介绍精炼系统作为帮助玩家提升伙伴装备性能的模块,属于一个独立的分支。所谓精炼,就是去除杂质提取精华,将装备性能提升,除了帮助玩家提升伙伴能力,增加PVE 闯关几率外,还是同等级玩家 PVP 之间胜负的关键。所以,一个平滑而稳定的精炼系统是让玩家认可游戏并且不会失去游戏兴趣的一个要素。精炼系统贯穿了装备系统,伙伴系统,背包系统等游戏的几大主要框架,精炼完之后立刻同步刷新几大系统,让游戏实时性得到了完整的体现。游戏的精炼系统

13、主要是从玩家的背包中获得需要精炼的装备,再从背包中找到为装备提供进阶的材料或者装备,并且玩家的金币数量能供给需要消耗的数量,以上条件都满足时,装备可以开始精炼。当装备达到顶级时,装备不可再被精炼,此时可以更换伙伴身上其他装备,继续提升装备等级,打造一个“神装” 伙伴是竞技游戏的乐趣所在。1.3 课题研究背景十万个冷笑话是一款面向所有玩家的 3D 横版 RPG 游戏,不同类型的玩家有着不一样的游戏需求体验,高级人民币玩家,为了体会唯我独尊的感觉,需要将伙伴提升到他人不可企及的地步,才能体会藐视天下的自豪感。而普通大众玩家,为了绪论2在朋友之中拔得头筹,也会选择各种各样的方式去增加自己的战斗力。而

14、在伙伴等级都达到顶峰之后,最直接也是大家都能想到的是通过提升道具来使自己的伙伴得到提高。为了达到这一目的,精炼系统也就随之诞生了。1.4 系统开发目的十万个冷笑话的精炼系统是一个针对高级用户追求独孤求败的感觉的一个捷径,也是普通玩家之间打开突破口的一个方式。所以要做到适应所有用户需求,整个团队在策划,执行,效果上花了大量的时间。最终在策划设计好数据,服务器提供精炼接口之后,为了玩家能够一目了然的理解,并且喜欢这一功能,这是我作为客户端界面编程的主要目的。1.5 开发平台的选择开发系统:windows7程序语言:C+,Lua开发环境:Vs2010,游戏引擎 Saturn 的逻辑编辑器和 UI 编

15、辑器1.6 系统开发方法 本文按照游戏开发流程方法,结合精炼系统的特点,自顶向下地对系统进行分析与设计,开发一个面向所有玩家的精炼系统。该项目以 lua 为主要开发语言,辅以美术提供的效果图进行界面 UI 框架搭建。由于程序涉及大量数据的调用和存储,因此数据库方面使用配置表来处理这些涉及装备的数据。在 UI 编辑器中,依据需求文档和效果图来摆放窗口控件,设置他们的层级,对应属性和背景图。在逻辑编辑器中,将 UI 搭建好的框架导入到代码,将一个个需要用到的的窗口初始化,并且依据需求给窗口绑定相关的事件,达到跟玩家互动。从策划填写的配置表中获取相关数据,通过向服务器发送请求和接受回调来对界面进行设

16、置。相关技术介绍32 相关技术介绍2.1 CEGUI 介绍2.1.1 CEGUI 简介CEGUI(Crazy Eddies GUI )是一个自由免费的 GUI 库,是一个完全面向对象设计,由 C+来实现。CEGUI 开发者希望能够让游戏开发人员化繁为简,有更多的开发时间放在游戏性提升上。CEGUI 需要 3D 图形 API 的支持来渲染,如使用OpenGL 或 Direct3D 或者使用更高级的图形库,比如 OGRE、Irrlicht 和 RenderWare等。CEGUI 支持各种主流系统,比如 windows, linux 和 MacOS。截止目前,CEGUI 的版本开发到了 0.8。CE

17、GUI 提供了一款便捷的官方界面编辑器 CEED(该编辑器集成了之前 LayoutEditor 和 ImageSet 编辑器的功能),方便 UI和图像集的开发。作为一款界面编辑器,它需要系统界面用以提供编辑器操作,在最初的 0.3.0 版,它是基于 MFC 实现的;而在 0.4.0 版本以后,改为基于 wxWidgets 实现。目前将 CEGUI 作为游戏界面库开发的游戏有很多,比如天龙八部,巨人等游戏。CEGUI 的功能非常强大,使用也非常的灵活,并且可以和配合脚本。可以通过修改配置文件来自定义窗口外观。通过布局文件去实现窗口布局等等,这些特性使得游戏的界面开发更加高效。我们制作的十万个冷笑

18、话所用的游戏引擎 Saturn 的 UI 编辑器就是封装了 CEGUI 作为界面库开发的方式。2.1.2 CEGUI 的工作方式根据美术部门提供的 UI 资源图,生成一个.XML 格式的. imageset 文件,这个文件包含了所有供.looknfeel 使用的小图案。同时这个文件提供给后面的 .scheme 和.looknfeel 文件来使用。接着手动生成一个.looknfeel 文件。通过这个文件去创建各种类型的控件 (widget)。这些 widget 在 .scheme 文件中进行了装载,以及注册。手动生成一个.scheme 文件,这个文件的内容包括要用到的 imageset 文件、它

19、所对应的 looknfeel 文件,以及将要在 looknfeel 里定义的控件类型、工厂、渲染器和在looknfeel 中的用的名字,以及对 widgets 进行注册。然后通过使用 CELayoutEditor 来生成.layout 类型文件。启动CELayoutEditor,.scheme 类型文件会自动加载。我们可以使用 Widgets 树下的相关技术介绍4Widget 方法来布局我们的游戏 UI,布局完成后将自动生成一个.layout 文件。上面所述的流程完成后,我们手上就具备了使用 CEGUI 来制作界面的所需数据文件了。最后我们使用 CEGUI 来制作游戏界面 , 不论在什么平台下

20、 ,都有以下基本步骤要做 :在使用 CEGUI 之前,需要加载一些数据文件,和完成初始化。这些数据文件就是前面所介绍的.scheme 、 . Imageset、.looknfeel 几种类型文件。(1) 装载 imageset 文件,经过这一步,程序的后面就能使用 Vanilla 的 widgets 了。1. Imageset* taharezImages = ImagesetManager:getSingleton().createImageset(“Vanilla.imageset”);(2) 初始化鼠标指针的图像。他的名称为 MouseArrow,包含在 Vanilla.imageset

21、中,所以我们须先执行第一步。 (不过这一步不是必须的)1. System:getSingleton().setDefaultMouseCursor( (3) 通过 FontManager getSingleton 来自动装载字体。1. FontManager:getSingleton().createFont(“Commonwealth-10.font“);(4) 通过 WidgetLookManager getSingleton 来自动装载 looknfeel。然后Vanilla.looknfeel 中的 Widgets 就可以在程序被使用。1. WidgetLookManager:getS

22、ingleton().parseLookNFeelSpecification(“Vanilla.looknfeel“); (5) 使用 SchemeManager getSingleton( )函数来装载 VanillaSkin.scheme 类型文件用来注册 Vanilla Widgets 组件。1. SchemeManager:getSingleton().loadScheme(“VanillaSkin.scheme“); 在此,系统的初始化操作已经基本完成了。我们可以在 CEGUI 中创建 UI 元素了。而在 CEGUI 中,所有的 window 都是由 WindowManager si

23、ngleton object 来创建的。所以我们首先得到这个对象: using namespace CEGUI; WindowManager一般来说,我们总是创建一个 名为 DefaultWindow 的控件来做为我们将使用的窗口的 Root 窗口, 因为用这种方式我们将会有比较好的灵活性。 相关技术介绍5Window* myRoot = wmgr.createWindow(“DefaultWindow”, “root”); System:getSingleton().setGUISheet(myRoot); /安装 myRoot 作为 GUI 的底层元素。createwindows( ) 函

24、数的第一个参数,指明了将要创建窗口的类型,它一般是在我们使用的 .scheme 文件中所注册的,还有一些系统定义的有效的窗口类型,如上面所提到的 DefaultWindow.DefualtWindow 是不可见的,只是做为所有窗口的 root 来使用。一般来说我们总是要创建一个 Framewindow, 它包括其他窗口与 widget ,本身也是可视的。 FrameWindow* fWnd = (FrameWindow*)wmgr.createWindow(“TaharezLook/FrameWindow”, “testWindow”); 之后,我们将创建的窗口挂载到 root 上,形成一个层

25、级关系。 myRoot-addChildWindow(fWnd);myRoot-addChildWindow(winMgr.loadWindowLayout(“VanillaWindows.layout“);这种方法直接装载 celayouteditor 生成的.layout 文件,把 .layout 生成的图像直接挂载到 root 上。2.2 Lua 介绍2.2.1 Lua 简介Lua 是一个精致的脚本语言。是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)由 Roberto Ierusalimschy、Waldem

26、ar Celes 和 Luiz Henrique de Figueiredo 所组成的一个研究小组于 1993 年开发。Lua 的设计目的是为了应用程序中嵌入脚本,从而为程序提供灵活的扩展功能和定制功能。它由标准 C 编写而成,在所有操作系统和平台上几乎都可以编译,运行。它并没有提供强大的库文件,这是由 Lua 的定位决定的。Lua 不适合作为开发独立应用程序的语言。Lua 脚本很容易的被 C/C+ 代码调用,当然也可以反过来调用 C/C+的函数,这使得 Lua 在应用程序中能被广泛应用。Lua 不仅仅作为扩展脚本,同时也可以代替xml,ini 等文件格式作为一个普通的配置文件,并且 Lua

27、更容易理解和维护。一个完整的 Lua 解释器不超过 200KB,Lua 在目前已知的脚本引擎中,运行速度是最快的。这一切都说明了 Lua 是作为嵌入式脚本的最优选择。2.2.2 Lua 的特性(1) 轻量级Lua 语言的官方版本只包括一个简洁的核心和最基本的库。这让 Lua 体积小、启动速度快,适合嵌入在别的程序里。5.0.2 版本的 Lua 的内核小于 120KB,相比之下相关技术介绍6Python 的内核大约 860KB,而 Perl 的内核大约 1.1MB。(2) 可扩展Lua 并不象其它许多“大而全“的语言一样包括很多功能,如网络通讯、图形界面等。不过 Lua 提供了非常易于使用的扩展

28、接口机制:由宿主语言(通常是 C 或 C+)提供这些功能,Lua 可以调用它们,就像是内置的功能一样。(3) 其它特性Lua 还具有别的一些特性:比如同时支持面向过程(procedure-oriented)编程和函数式编程(functional programming);内存自动管理;提供了一种强大的表(table) ,用它可以实现数组,队列,集合,对象等等;函数也可作为一个值;提供了多线程(协同进程,并非操作系统所支持的线程)支持;通过闭包和 table 可以支持面向对象编程所需要的一些关键机制,比如数据抽象,虚函数,继承等。2.2.3 Lua 在游戏的作用Lua 作为一种脚本语言相当受游戏

29、公司的欢迎,不管是它自身轻量级的设计还是自身适合在线热修复都是让众多拥趸爱不释手的原因。 十万个冷笑话项目也是用了 Lua 作为主要开发语言,在 C+搭建好底层的基础上,Lua 为逻辑编译器提供支持,负责客户端的搭建,和服务器之间进行通信,但是 Lua 也不是万能的,在用于操作系统底层时他的效率较低,所以对系统底层的操作实现还是要使用 c/c+。2.3 DirectX 介绍2.3.1 DirectX 简介DirectX 是由微软公司创建的一种多媒体编程接口。它由 C+编程语言实现,遵循 COM 机制。它被广泛使用于 Microsoft Windows、Microsoft XBOX 360 和M

30、icrosoft XBOX ONE 等等电子游戏开发,并且只支持这些平台。最新版本为 DirectX 12,创建在最新的 Windows10 操作系统下。2.3.2 DirectX 功能DirectX 加强了 3D 图形和声音效果,并给设计人员一个共同的硬件驱动标准,让开发者不必在为了不同品牌的硬件写不同的驱动程序,降低了用户安装及设置硬件的复杂度。举例来说,以前在 DOS 下,玩家玩游戏时,并不是安装后就可以玩了,他们往往需要要设置声卡的品牌和型号,还要设置 IRQ(中断) 、I/O(输入与输出) 、DMA(存取模式) ,而哪项设置的不对,游戏声音就发不出来。这部分不仅让玩家伤透脑筋,对游戏

31、开发者来说更为头痛。为了让游戏能够在众多电脑中方便的运行,开相关技术介绍7发者必须在游戏制作伊始,就把市面上所有声卡硬件数据都收集过来,然后根据不同的 API(应用编程接口)来写不同的声音驱动程序。对于游戏制作公司来说,这是很难实现的,所以在当时多媒体游戏很难普及。微软公司正是看到了这个问题,为厂商推出了一个共同的应用程序接口DirectX。只要开发者是依照 Directx 来开发的,不管显卡、声卡型号如何,玩家统统都能玩,而且还能发挥更佳的效果。当然,前提是使用的显卡、声卡的驱动程序还得支持 DirectX 才行。需求分析83 需求分析3.1 可行性分析3.1.1 技术可行性分析游戏的精炼系

32、统是用 lua 语言写的,本人对于 lua 语言比较熟悉。而这个项目的框架使用 UI 编辑器编写。开发工具用的是脚本编辑器。出于本人对于这些知识都比较了解。之前也学习过 LUA、CEGUI、DirectX 方面的知识,对编辑器使用方式很熟悉,以及对项目开发流程有一定的理解和项目组长精心的指导,所有在项目进展方面技术问题可以很好的解决。3.1.2 经济可行性分析经济可行性分析研究目的,是希望以最小的开发成本,取得具有最佳经济效益的软件产品,经济可行性研究主要包括估计投资和效益分析。对于经济可行性,我们要分三部分来考虑。首先,我们要考虑的是“玩家使用精炼系统的频率” 。本系统在游戏中有着举足轻重的

33、地位,除了链接伙伴,装备和背包三大基础系统,还是玩家提升自身伙伴价值的最好途径,所以愿意使用本系统的频率绝对频繁,花费的经济收入也就随之提高。其次,我们要考虑“ 精炼系统使用费用 ”。本系统由于对待不同的装备需要不同的材料和数量,因此每一件物品的提升所需要的花费都是不一样的,如何定义这些花费是需要在游戏之前就进行详细的调查和计划,这样才能满足玩家的想法,合理的定价是重中之重,这样玩家才肯在精炼系统上投入经济层次。最后我们要考虑的是精炼系统的维护。在前面我们已经把系统的“使用” 和“花费”包含在内,因此,我们主要强调“维护” 的重要性。系统的维护是指纠正精炼系统出现的错误或缺陷,为满足用户新的要

34、求进行扩充,升级。任何程序都是需要维护的,由于本系统使用环境的性能较为稳定,可扩展性强。所以,本系统在维护方面所需要的费用也是很低的,只需要策划花费时间对不合理的数据进行调整即可。3.1.3 法律可行性分析此项目是在项目组授权下为了开发之用,所以具有法律可行性。3.2 系统需求分析3.2.1 目标需求随着手机游戏性能的日益强大,与之相伴的游戏体验也日益复杂,功能设计团队需求分析9要设计一款符合用户需求的功能系统变得越来越困难。原因是玩家的需求变化大,如果设计者没有对玩家的想法有很好的调查,那么设计出的功能将变得无用。精炼系统作为一种面向大众化的功能系统,在开发之前就对玩家进行了大量的数据挖掘,

35、使得应用在系统的开发中,极大的降低了游戏功能反复重做的概率。作为项目头脑的策划组成员也通过反复地协商设计,讨论完善系统功能,更好的做出相应的决策。3.2.2 系统性能需求精炼系统产品的性能需求是指游戏系统为了满足玩家业务需求而必须具备的功能性需求以外属性或者品质,如可靠性、响应时间、容错性、扩展性等。精炼系统是基于背包系统、装备系统和伙伴系统开发的功能系统。为了使策划组组及玩家都能准确实时的了解到精炼系统开发的具体信息,精炼系统设计必须满足以下的要求:具有友好、吸引人的界面,安全性要高,稳定性要强。(1) 可靠性可靠性是指系统使用的游戏可靠程度,是精炼在游戏运行中不发生或极少发生故障,在偶然事

36、故及操作失误时,系统应具有较强的适应能力,而不应造成游戏崩溃或玩家体验丢失。由于本系统是一个会长期运行的对玩家开发使用的游戏功能,所以其故障出现率应该控制在 0 次以内。(2) 安全性由于精炼系统使用的数据都是玩家数据库内存的数据,每个玩家的财产信息具有安全性,保密性。在开发时,应该在获取玩家信息的同时具有保密措施。(3) 数据准确性精炼系统在获取数据和保存数据都是通过客户端与服务器进行对比之后再进行数据传输,所以数据的准确性是具有很明确的保证。(4) 友好的玩家界面界面一直以来都是一款游戏的重中之重,特别是与玩家交互这一块更是玩家是否愿意滞留在游戏中并且为之花费金钱的主要原因,系统要让玩家简

37、明地了解操作步骤,同时又要比其他同款游戏有新意,就必须在交互界面上下文章。精炼系统要让玩家一眼就能明白如何使用,并且对界面大加好评,要人性化的去考虑如何实现功能。(5) 可扩展性游戏需求是在不断的发展变化的,精炼系统有可能会随着游戏剧情的扩展变化而不断的加入新功能,所以在不影响现有功能的同时能够容易地对系统进行扩充,接口的复用至关重要。需求分析103.2.3 系统功能需求(1) 精炼系统的参与者如下表 3.1表 3.1 精炼系统参与者表参与者 相关人员 功能描述玩家 玩这款游戏的用户 对游戏精炼进行亲身体验,并且提出有建设意义的反馈游戏管理者 运行游戏的代理商 要对玩家的反馈进行分类,适当的向

38、策划人员提出需要改进的要求策划开发者 游戏的策划师 自己思考或者接受他人建议来对系统进行完善修改,写出文档提供给开发人员程序开发者 参与游戏编程的开发人员 通过策划的需求文档来改进系统(2) 精炼系统功能列表根据游戏的需求分析该系统可以分为两部分:一是后台管理功能,二是前台与客户交互功能。前台功能需要由多个窗口来构成,各个窗口功能列表如下 3.2:表 3.2 系统功能介绍表窗口 功能细化关闭按钮 玩家退出精炼回到主界面功能选择栏 除了默认精炼,玩家还能自由选择其他功能选择需要精炼装备 打开背包的入口,开始选择装备伙伴装备列表 将已经穿上的装备和没有穿的装备区分开来精炼消耗材料列表 将背包中用于

39、精炼的材料显示出来精炼消耗金币数量 将精炼需要的金钱显示出来兑换金币按钮 金币不足时,自行选择是否用现金去兑换游戏金币启动精炼按钮 开始精炼的入口精炼动画 开始启动后播放动画精炼成功提示 精炼完成后,进行提示根据系统的参与者和功能列表,可以确定参与者和系统功能之间的关系,从而画出需求的用例图。用例图是对系统功能的勾画,显示了系统的相关功能,以及如何使用系统。精炼系统详细用例图如图 3-1,图 3-2 所示:编程改需求提建议玩家游戏管理者策划开发者程序开发者反馈 游戏需求分析11图 3-1 游戏参与者之间的关系图进入精炼关闭按钮 选择装备 功能选择栏伙伴装备列表精炼消耗材料列表 精炼消耗金币数量

40、 兑换金币按钮启动精炼播放精炼动画精炼成功图 3-2 窗口功能用例图数据库设计124 数据库设计4.1 数据库设计数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种应用需求(适时修改,玩家查看)。(1) 数据库是存储一款游戏的核心和基础,把每一个玩家全部的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使服务器可以方便、及时、准确地从数据库中获得所需的信息。(2) 数据库是游戏内所有系统各个部分能否紧密地结合在一起以及如何结合的关键。(3) 数据库设计是游戏开发和建设的重要组成部分。4.2 概念模型设计(E-R 图)E

41、-R 模型的概念:E-R 图概念化地构建实体间关系的模型,这是它们区别于数据库图的方式。ER 图的理念是:让项目所有的参与者都能理解 E-R 图。ER 图由不同实体类型、关系、特性和类型构成。实体是用户的实际对象,有时更加抽象,但必须有业务意义。特性用于描述实体,关系用于实体之间(1) 实体:现实世界中的事物;(2) 属性:事物的特性;(3) 联系:现实世界中事物间的关系。实体集的关系有一对一、一对多、多对多的联系。(4) 本系统的 E-R 图如图 4-1:数据库设计13图 4-1 系统 E-R 图4.3 详细数据库设计4.3.1 数据库表结构(1) 伙伴表伙伴表是十万个冷笑话游戏记录游戏中玩

42、家可以使用的 AI 的数据。 (这里截取部分展示)表 4.1 伙伴表字段名 字段名 类型 Not null 索引伙伴 ID creature_attr_id Integer Not null伙伴名称 creature_attr_name Varchar(10)伙伴性质 creature_attr_desc Varchar(10)伙伴描述 creature_attr_intro Varchar(100)数据库设计14伙伴定位 creature_attr_position_intro Varchar(10)伙伴图标 creature_attr_square_icon Varchar(10)伙伴特殊

43、图标 creature_attr_special_icon Varchar(10)伙伴特效 creature_attr_effect Varchar(10)作为 NPC 的IDcreature_attr_npc_tmp_id Integer伙伴模型 creature_attr_model_view_yaw Integer(2) 装备合成表装备合成表是记录合成装备的方式表 4.2 装备合成表字段名 字段名 类型 Not null 索引编号 item_compound_id Integer Not null装备描述 item_compound_desc Varchar(10)装备序列号 item_

44、compound_target Varchar(10)合成卷轴序列号item_compound_material_0 Varchar(10)卷轴需要数量 item_compound_number_0 Integer合成材料 1 序列号item_compound_material_1 Varchar(10)材料 1 数量 item_compound_number_1 Integer合成材料 2 序列号item_compound_material_2 Varchar(10)材料 2 数量 item_compound_number_2 Integer(3) 上衣类装备表上衣类装备表是记录装备中上衣类

45、型的表表 4.3 上衣类装备表字段名 字段名 类型 Not null 索引装备名 item_attr_name Varchar(10) Not null装备描述 item_attr_design_desc Varchar(10)是否发布 item_attr_ispublish Boolean Not null序列号 1 item_attr_general Integer序列号 2 item_attr_detail Integer序列号 3 item_attr_particualr Integer序列号 4 item_attr_level Integer装备用途 item_attr_intro

46、Varchar(10)(4) 武器类装备表武器类装备表是记录装备中武器类型的表表 4.4 武器类装备表字段名 字段名 类型 Not null 索引数据库设计15装备名 item_attr_name Varchar(10) Not null装备描述 item_attr_design_desc Varchar(10)是否发布 item_attr_ispublish Boolean Not null序列号 1 item_attr_general Integer序列号 2 item_attr_detail Integer序列号 3 item_attr_particualr Integer序列号 4 i

47、tem_attr_level Integer装备用途 item_attr_intro Varchar(10)(5) 饰品类装备表饰品类装备表是记录装备中饰品类型的表表 4.5 饰品类装备表字段名 字段名 类型 Not null 索引装备名 item_attr_name Varchar(10) Not null装备描述 item_attr_design_desc Varchar(10)是否发布 item_attr_ispublish Boolean Not null序列号 1 item_attr_general Integer序列号 2 item_attr_detail Integer序列号 3

48、 item_attr_particualr Integer序列号 4 item_attr_level Integer装备用途 item_attr_intro Varchar(10)(6) 鞋子类装备表鞋子类装备表是记录装备中鞋子类型的表表 4.6 鞋子类装备表字段名 字段名 类型 Not null 索引装备名 item_attr_name Varchar(10) Not null装备描述 item_attr_design_desc Varchar(10)是否发布 item_attr_ispublish Boolean Not null序列号 1 item_attr_general Intege

49、r序列号 2 item_attr_detail Integer序列号 3 item_attr_particualr Integer序列号 4 item_attr_level Integer装备用途 item_attr_intro Varchar(10)系统详细设计165 系统概要设计5.1 概述精炼系统的详细设计,就是在总体设计的基础上,对功能进一步分类,通过构建适合的模型来将功能一一展现。精炼系统作为一个单一功能的系统,细分模块不是很多,但是为了保证不出现任何 bug,每一步都要详细考虑。以下是系统模块结构图:精炼系统招财系统获得金币选择系统选择精炼选择重铸背包系统查找材料查找物品伙伴系统装备列表空闲装备装备系统可精炼装备不可精炼装备图 5-1 系统模块结构图5.2 系统菜单功能描述5.2.1 招财系统模块招财系统是精炼中额外添加的系统,这个系统是在玩家察觉到金币不足以提供一次精炼时,主动使用的功能,当然玩家未察觉时,系统自动会提示玩家是否执行该功能。(1) 获得金币:获得游戏币,用于

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报