当前位置:文档之家› 2D多人在线手机游戏中回合制战斗系统的设计与实现

2D多人在线手机游戏中回合制战斗系统的设计与实现

2D多人在线手机游戏中回合制战斗系统的设计与实现
2D多人在线手机游戏中回合制战斗系统的设计与实现

摘要

随着4G技术的广泛应用、智能手机的普及和网民使用习惯的改变,移动互联网已经迎来一个全新的时代,这也给多人在线手机游戏带来了新的契机。本文设计和实现的是一款名为西游圣徒的多人在线手机游戏中的2D回合制战斗系统,与市面上普通的回合制战斗系统相比该系统具有可手动可自动操作、画面精致、特效华丽、可操作性强并且适用于ios和Android系统的特点。

在XXX项目组中,本人主要负责战斗系统的UI表现和客户端逻辑实现以及设计,此外还完成了仆从、登陆、活动等系统的UI设计和实现以及部分逻辑。其中战斗系统投入的精力最多,也经过了各种各样的需求变更。该战斗系统包括了3种不同类型的战斗触发,主角、仆从、敌人组成的战斗角色,各种各样的角色技能,可调整角色位置的战斗阵型,以及可手动可自动切换的战斗模式等内容。本人参与完成了战斗系统的需求分析、架构设计、各部分详细设计以及客户端战斗系统的代码实现和测试。具体工作可概括如下,完成了战斗系统的需求分析,划分了战斗系统的整体结构,对战斗系统的功能需求和非功能需求进行了分析;完成了战斗系统的概要设计,按照功能可分为战斗触发、战斗角色、战斗阵型、战斗技能、战斗模式等五个模块。完成了战斗系统的详细设计以及相关模块的代码实现,对概要设计中的五个模块进行详细说明。进行了相关测试,使用了等价类划分、边界值分析等测试方法设计测试用例,重点进行了功能测试、性能测试、兼容性测试和回归测试。

本文中实现的战斗系统已经跟随XXX手机游戏投入市场,截止到2015年2月10号用户最高峰可达3万人,最高日流水可达10万欧元。

关键词:移动互联网;手机游戏;战斗系统;

ABSTRACT

With the extensive application of 4G technology, smart phones and the popularity of Internet users use to change the habits of mobile Internet has ushered in a new era, it also gives multiplayer online mobile game brings a new opportunity. In this paper, design and implementation is a saint named Journey multiplayer online mobile game 2D turn-based battle system, compared to the system with the market average of turn-based combat system having a manually automatic operation, the screen fine, gorgeous special effects, operability and adapted to the characteristics of ios and Android systems.

Saints in West project group, they are mainly responsible for UI performance and client logic combat system implementation and design, in addition to the completion of the servants, landing, UI activity systems design and implementation as well as some logic. Where combat system into the most energy, but also through a variety of needs to change. The combat system includes three different types of fighting triggered fighting role protagonist, servants, enemies composed of a variety of roles skills, adjust the position of fighting character formation, and the battle mode can be manually switched automatically, etc. . I participated in the combat system requirement analysis, architecture design, detailed design of each part of the combat system and client code and test. Concrete work can be summarized as follows, complete combat system demand analysis, divide the overall structure of the combat system, to battle the system functional requirements and non-functional requirements are analyzed; the completion of the outline design of the combat system, according to the function can be divided into battle Trigger, fighting role, fighting formation, fighting skills, battle mode five modules. He completed the code detailed combat system design and related modules to achieve, on the outline design in the five modules described in detail. Carried out relevant tests, the use of equivalence partitioning, boundary value analysis test methods such as design test cases, focusing on functional testing, performance testing, compatibility testing, and regression testing.

In this paper, the fighting system has been implemented to follow Saint mobile game Journey into the market, as of February 10, 2015 peak of up to 30,000 users, the maximum daily flow of up to 100,000 euros.

KEYWORDS:Mobile Internet;Mobile game;combat system;

目录

致谢............................................. 错误!未定义书签。摘要.............................................................. I ABSTRACT .......................................................... II 目录.. (1)

1绪论 (1)

1.1 课题来源 (1)

1.2 系统简介 (1)

1.2.1 课题研究背景 (1)

1.2.2 同类型手游战斗系统现状 (3)

1.3 个人主要工作 (3)

1.4 论文的组织结构 (3)

1.5 本章小结 (4)

2相关技术介绍 (5)

2.1 A URORA (5)

2.2 F LASH (5)

2.3 ASIHTTPR EQUEST类库 (5)

2.4 JSONK IT类库 (6)

2.5 本章小结 (7)

3需求分析 (8)

3.1 需求综合描述 (8)

3.2 功能需求 (8)

3.3 本章小结 (14)

4系统概要设计 (15)

4.1 系统架构的设计与实现 (15)

4.1.1 分层架构的设计与实现 (15)

4.1.2 数据流程的设计与实现 (17)

4.1.3 功能模块的设计与实现 (18)

4.2 系统重点与难点 (20)

4.3 技术难点分析 (21)

4.3.1 图片缓存需求分析 (21)

4.3.2 图文解析需求分析 (22)

4.4 系统接口的设计与实现 (22)

4.4.1 内部接口的设计与实现 (22)

4.4.2 外部接口的设计与实现 (23)

4.5 用户交互的设计与实现 (23)

4.6 本章小结 (24)

5系统详细设计与实现 (25)

5.1 各模块详细设计 (25)

5.1.1 数据交互模块的设计与实现 (25)

5.1.2 战斗触发模块的设计与实现 (29)

5.1.3 战斗模式模块的设计与实现 (32)

5.1.4 战斗角色模块的设计与实现 (34)

5.1.5 战斗技能模块的设计与实现 (36)

5.1.6 图文解析的设计与实现 (38)

5.2 设计模式的应用 (41)

5.2.1 命令模式、中介者模式的设计与实现 (41)

5.2.2 解释器模式的设计与实现 (42)

5.3 系统实现 (42)

5.3.1 软硬件环境 (43)

5.3.2 实现效果展示 (43)

5.4 本章小结 (48)

6系统测试 (50)

6.1 测试目的 (50)

6.2 测试方面 (50)

6.3 测试结果 (50)

6.3.1 功能测试结果 (51)

6.3.2 性能测试结果 (51)

6.4 本章小结 (52)

7系统总结与展望 (53)

7.1 总结全文 (53)

7.2 展望未来 (53)

参考文献 (55)

作者简历及攻读硕士/博士学位期间取得的研究成果 (57)

独创性声明 (58)

学位论文数据集 (59)

1绪论

本章主要介绍了战斗系统的来源、相关背景、前景和目标。以及本人的主要工作和论文的组织结构。

1.1课题来源

本人在XXX公司工作期间参与了一项名为XXX的2D多人在线手机游戏项目的设计与实现。XXX是一款源自中国古代神话的2D多人在线手机RPG游戏。本课题的战斗系统正是XXX中的战斗系统。

1.2系统简介

系统介绍从课题研究背景和同类型手游战斗系统现状2个方面来介绍战斗系统的意义、价值和其在一款游戏中的重要作用,以及目前大多数战斗系统中存在的问题。

1.2.1课题研究背景

近几近几年来,伴随着移动网络和移动终端性能的不断提高与完善,手机游戏业务呈现快速增长的势头,成为一座名副其实的“金矿”。手机游戏市场的巨大诱惑,让网游巨头们不再淡定。随着2013年Q1财报的公布,我们不难发现,腾讯、网易、巨人、完美等传统端游大企业的移动游戏战略已经浮现水面,并有全力挥师手游之势。与移动设备领域一样,中国手机游戏运营商也呈现多元化格局,游戏巨头腾讯掌握了22%的中国市场份额。这种分层结构为开发者呈现了许多合作机遇,中国移动控制了17%的手机游戏市场份额,与全球600多家手机游戏开发商达成了合作。而第三大游戏运营商中国电信,市场份额则是8%[1]。

随着4G时代的普及,中国手游市场也日益繁荣。对于手机单机游戏,不需要太多的时间和精力,打开游戏即可游玩,获得了大部分用户的青睐。另一方面,中国通信产业向4G升级促进了手机网游的增长,网络、多媒体表现、平台融合等促成了手机网游的崛起。2013上半年中国手机游戏市场规模达到27.6亿元,同比增长63.3%,环比增长21.1%。2013上半年中国手机游戏用户累计规模已达3.22

亿,同比增长51.2%,环比增长3.2%。2013Q2中国手机游戏用户单机游戏类型爱好方面,43.3%的用户喜欢角色扮演类游戏,42.7%的用户喜欢益智休闲类游戏,用户比例领先于其它游戏类型。赛车类游戏也有较多用户喜欢,占比31.4%[2]。

未来几年,手机游戏市场受到资本的强烈关注和追逐,手机游戏的新陈代谢速度增快,同质化日趋严重,用户的选择范围更大,市场的竞争状况变得空前严峻。随着越来越高的平台渠道成本,不少手机开发商的利润空间受到挤压,纷纷寻求有效的盈利模式。在目前常用的盈利模式中,移动广告和用户付费的两个大环境均需要时间成熟,用户接受度仍有待提升。4G时代的到来,国内手机游戏产业将真正步入快速增长期。面对手机游戏巨大的市场商机,近几年来,一些CP和SP纷纷涉足手机游戏领域,全面加大了手机游戏的产品开发和市场推广力度,整个手机游戏市场将有保持快速增长,2015年市场规模将超过270亿[3]。

正是这样的市场环境下,《西游圣徒》应运而生,西游圣徒项目开始于2013年7月,历经一年半的开发、测试、封测终于在2015年2月5日上线。

一款手机游戏能否成功与游戏性密不可分,而手机游戏的游戏性又主要在于战斗系统,所以战斗系统的设计与实现在手机游戏中至关重要。

目前,手机游戏是一种非常普遍的娱乐方式,回合制多人在线手机游戏更是深受广大游戏爱好者和上班族的青睐。游戏中战斗系统的主要任务是在游戏世界中呈现出玩家操控的角色与游戏中出现的其他角色如小怪物、其他玩家等的打斗、以及打斗结果画面,并且让玩家实现控制角色打斗如释放技能、选择打斗目标等。战斗系统设计质量的优劣直接影响到玩家与NPC、玩家与其他玩家之间的打斗效果,是体现游戏可玩性的最直观表现,因此如何设计并实现一个令玩家满意,甚至是“沉迷”的战斗系统则成为游戏公司关注的热点技术问题[4]。

现在市面上游戏中的战斗系统主要分为两种:回合制战斗系统和即时制战斗系统。即时制战斗系统中角色的所有动作行为均为玩家操控,单位时间最优出招数比回合制要多得多,可操作性更强,更适合操作好的资深老玩家。而回合制战斗由于不是时时的操作,对服务器端的压力也要小一些,同时战斗节奏更慢,更适合休闲类、不喜欢太多操作的玩家。如此可见,回合制恰好迎合了手机类游戏的休闲性,也因此我们的手机游戏选择回合制。目前,已出现的回合制手机游戏战斗系统大多画面粗糙、操作单一,严重影响了游戏的可玩性。鉴于以上背景,我们将设计并实现操作性强、画面精致、可玩性高的2D多人在线手机游戏回合制战斗系统。

1.2.2同类型手游战斗系统现状

目前,市面上已经有了很多形似的游戏,其中较有名的有完美世界的《神雕侠侣》,心动网络的《神仙道》移动版等,这些游戏中的战斗系统在同时期手机游戏中算比较出色的,但或多或少都存在以下问题:

(1) 操作过于复杂,影响了正常的游戏节奏,摒弃了回合制战斗系统一贯休闲游戏的风格。

(2) 游戏模型过小,看不清模型人物各种施法动作。

(3) 某些技能动画、特效过于简单,没有亮点。

(4) 战斗中存在小bug,有因为网络问题引起的卡死,也有直接程序中断的bug。

(5) 战斗缺乏适应玩家喜爱的可游戏性。

1.3个人主要工作

在XXX项目组中,本人主要负责战斗系统的UI表现和客户端逻辑实现以及设计,此外还完成了仆从、登陆、活动等系统的UI设计和实现以及部分逻辑。

其中战斗系统投入的精力最多,也经过了各种各样的需求变更。最终设计实现了可手动可自动、画面精致、特效华丽、可操作性强并且适用于ios和Android 系统的2D回合制战斗系统。

1.4论文的组织结构

本文根据本人的工作,论述了战斗系统的设计和实现。

本文一共分为七章,具体内容安排如下:

第一章主要介绍项目的背景、目标以及本人的工作概述。

第二章主要介绍实现系统时用到的2种工具Aurora和Flash以及2种开源库技术ASIHTTPRequest类库和JSONKit类库。

第三章主要是需求分析部分,从功能需求这个方面进行介绍,并且对所用到的技术难点进行了分析。

第四章主要介绍了战斗系统的设计目标和体系结构以及系统的重点与难点,确定了系统的功能模块以及各模块之间的关系,定义了各模块之间的接口和与服务器端交互的接口,明确了系统交互设计的规范。

第五章主要介绍了战斗触发、战斗角色、战斗阵型、战斗技能、战斗模式等五个模块的详细设计。并且介绍了设计模式的应用和软件的实现截图。

第六章主要介绍了测试方面的相关问题,从测试目的到测试结果。

第七章主要介绍项目的总结和对未来的展望。

1.5本章小结

本章主要介绍了本人将要设计实现的战斗系统的来源、目前在国内的相关背景、前景和本人设计实现的战斗系统即将达成的目标。以及本人在西游圣徒项目组中的的主要工作,最后介绍了论文的组织结构。

2相关技术介绍

本章主要对实现系统中的工具和相关技术进行了介绍,其中Aurora用于实现战斗的触发和战斗中的角色动画;Flash用于实现战斗中的UI界面显示;ASIHTTPRequest类库主要用于数据访问层,即与服务器端的数据交互;JSONKit 类库主要用于解析服务器返回的JSON数据。

2.1Aurora

Aurora编辑器是目前世界上手机游戏开发领域较为先进的编辑器软件包。包含了动画编辑、地图编辑、关卡编辑功能。由Aurora编辑成的文件即游戏中动态的图片,它由两部分组成.png文件和.sprite文件,其中.png文件为索引处理的png格式的图片,.sprite文件为对应的动画文件[5]。

2.2Flash

这里本人用到的主要是FlashDeveloper + Adobe Flash Professional CS的工具组合。FlashDeveloper是轻便的第三方免费IDE;Adobe Flash Professional CS是Adobe官方出品用来制作动画、元件元素的IDE。使用Adobe Flash Professional CS来制作个性化UI元件,然后生成.swf文件提供给ActionScript 调用,FlashDeveloper中实现ui显示的各种逻辑[6]。

2.3ASIHTTPRequest类库

ASIHTTPRequest是一个对苹果提供的CFNetwork API(Application Programming Interface,应用程序编程接口)进行了封装的开源类库,可以应用于iOS和Mac OS X应用程序。iOS SDK中的HTTP网络请求API使用起来很繁杂,而ASIHTTPRequest简单易用,极大地简化了客户端与服务器的交互流程[7]。它适用于基本的HTTP请求以及与基于REST服务的交互,ASIHTTPRequest的类图如图2-1所示,具体来说ASIHTTPRequest有以下几个特性:

(1)提供简单的接口向服务器提交数据或从服务器请求数据

(2)可以直接将数据下载到内存或以文件的形式存到磁盘中

(3)可以将本地文件作为POST方法的附件上传到服务器端

(4)在本地磁盘与服务器之间建立流的传输,节省设备的内存

(5)支持断点续传,支持在上传和下载中获取进度

(6)支持访问请求或者响应的HTTP头部信息

(7)支持Cookie和GZIP压缩数据

(8)支持客户端证书和通过代理访问服务器

(9)支持同步、异步请求以及长链接

(10)可以根据当前网络环境判断是否限制带宽,如当使用WWAN(GPRS/3G)网

络时限制,当使用Wi-Fi时不做限制

图2-1 ASIHTTPRequest类库类图

Figure 2-1 ASIHTTPRequest class diagram

2.4JSONKit类库

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,非常适合于服务器与JavaScript的交互。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯。这些特性使JSON成为理想的数据交换语言。易

于人阅读和编写,同时也易于机器解析和生成[8]。

JSONKit是一个高性能的JSON解析和生成库。与iOS上其他的JSON库相比,它具有以下优势:

(1)只有两个文件(JSONKit.h和JSONKit.m),使用简单

(2)解析和生成效率在iOS上所有JSON库中是最高的,因此在本文中使用JSONKit库来解析服务器返回的JSON数据。具体的效率对比如图2-2和2-3所示,在解析效率方面JSONKit胜过Binary、gzip JSONKit等,在生成效率方面JSONKit 更是远远优于其他类库。

图2-2 解析JSON效率对比

Figure 2-2 Comparison efficient parsing JSON

图2-3生成JSON效率对比

Figure 2-3 Generate JSON efficiency comparison

2.5本章小结

本章主要对战斗系统中的工具Aurora和Flash,以及相关技术ASIHTTPRequest和JSONKit类库进行了介绍,其中Aurora用于实现战斗的触发和战斗中的角色动画;Flash用于实现战斗中的UI界面显示;ASIHTTPRequest类库主要用于数据访问层,即与服务器端的数据交互;JSONKit类库主要用于解析服务器返回的JSON数据。

3需求分析

本章主要从功能需求方面对战斗系统的需求进行了分析,其中包含了各个功能模块的结构图和用例图[9]。

3.1需求综合描述

战斗系统的功能主要分为战斗触发、战斗角色、战斗阵型、战斗技能、战斗模式等五个模块。

战斗的触发分为三种情况,分别是主角与敌人正面碰撞,即正常触发;主角正面与敌人背面碰撞,即偷袭触发;主角背面与敌人正面碰撞触发,即被偷袭。不同的触发情况影响到主角方与敌人方谁先攻击。战斗角色主要分为两部分:我方和敌方。我方角色由主角和主角的仆从组成;敌方的角色由敌人组成,一般是2-3个敌方怪物,boss关一般会有3-6个怪物。战斗阵型方面,我方最多可以上阵5个角色,敌方角色1-6个配置在数据库中,阵型表现方面我方阵型图如图3-1,我方阵型1-6个位置可以选择5个位置放置我方角色,敌方阵型与我方阵型镜像。我方的每个角色都有属于自己的技能,0-3个技能视角色而定。触发进入战斗后,我方阵型在左,敌方阵型在右与我方镜像,在1-6位置上显示的是角色的sprite 动画,在屏幕底部利用flash显示当前攻击回合角色的头像、怒气值、技能按钮等,如果怒气值到达技能使用怒气值则按钮变为发光色,此时按钮可以点击,点击按钮则当前角色释放技能攻击,如果不想释放技能或者怒气值不够,可以点击想要攻击的目标,当前角色进行普通攻击。刚刚介绍的技能是在手动战斗的模式下的,下面介绍战斗的两种模式:手动战斗和自动战斗。手动战斗时玩家控制我方角色释放技能或对想要攻击的目标进行普通攻击,攻击回合之间等待玩家控制操作;而自动战斗则是我方角色自动释放技能或普通攻击,攻击回合之间没有等待,角色随机释放技能。

3.2功能需求

功能需求主要包含战斗触发、战斗角色、战斗阵型、战斗技能以及战斗模式5个部分,下面本人将从这5个方面分别介绍战斗系统中的功能需求,并附上结构图和用例图加以分析。

3.2.1战斗触发

目前国内的回合制手机游戏的战斗触发比较单一,大多都只有场景切换到战斗场景的功能,缺乏可玩性。于是本人设计了具有三种不同情况的战斗触发,即正常触发(主角与敌人正面碰撞)、偷袭触发(主角正面与敌人背面碰撞)和被偷袭触发(主角背面与敌人正面碰撞)。战斗触发的用例图如图3-3所示,正常触发先攻由各个角色的速度属性决定先攻;偷袭触发第一回合由我方先攻而敌方不攻,第二回合再视各个角色速度属性决定先攻;被偷袭触发第一回合由地方先攻而我方不攻,第二回合同样视各个角色速度属性决定先攻。

图3-1 我方阵型草图

Figure 3-1 Sketch of our formation

图3-3 战斗触发用例图

Figure 3-3 Use Case Diagram trigger fighting

3.2.2战斗模式

为了满足高端玩家的可操作性手游需求和休闲玩家的娱乐性休闲游戏需求,本人设计了两种战斗模式:手动战斗和自动战斗。具体的战斗模式用例图如图3-4所示。触发战斗后进入战斗场景,战斗场景中右下角有一个可切换战斗模式的按钮,默认的战斗模式为手动战斗。在手动战斗模式下我方角色每回合先进入等待状态,等待玩家操作该回合该角色的行动,包括使用技能和攻击目标的操作;自动战斗模式下角色每回合没有等待状态,直接进入攻击状态,并且随机使用技能和攻击目标。

图3-4 战斗模式用例图

Figure 3-4 Use Case Diagram battle mode

3.2.3战斗角色

战斗角色按角色类型和角色职业两种类型分类。下面分别介绍这种类型分类的角色。

(1)按角色类型为了丰富战斗系统的游戏性,本人设计了3种角色即主角、仆从和

敌人。按类型的角色结构图如图3-5所示。主角就是我方控制的最重要的角色,也是在战斗系统外玩家直接控制行走、接领任务等操作的角色。我方队伍中除了主角以外就是仆从,仆从就是主角的帮手,在战斗系统中仆从的作用跟主角同样重要,他们主要是通过花费金币抽取和副本的掉落来获得,得到的仆从可以加入到自己的队伍中参与战斗,但是每次战斗所带的仆从数量有限。最后就是敌人角色,不同的副本中有不同的敌人角色如森林中有蓝野

猪、狐妖,天宫中有嫦娥、天将等。

图3-5 角色类型结构图

Figure 3-5 Role Type Chart

(2)按角色职业为迎合玩家不同的喜好,游戏设计了四种职业,即刺客、剑客、力

士、法师。按职业的角色结构图如图3-6所示,刺客和法师属于远程攻击职业,剑客和力士属于近战型职业。

图3-6 角色职业结构图

Figure 3-6 The role of the occupational structure diagram

3.2.4战斗阵型

战斗阵型主要分为前排和后排,我方阵型草图如图3-1草图所示,敌方阵型与我方镜像,前排和后排各有3个位置。具体的战斗阵型结构图如图3-7所示,我方包括主角在内最多可以放置5个角色,敌方角色最多可以放置6个角色,1-6位置中的角色由数据库中相应参数控制,修改不同队伍中敌人的数量、等级、类型等属性只需要直接在数据库中修改而不需要修改代码,这样的设计有利于后期维护。如果都是在自动战斗模式下,那么阵型的摆放就至关重要,因为普通攻击会随机攻击前排的一个目标。

3.2.5战斗技能

战斗技能共分为主动与被动技能,远程与近程技能以及技能表现三个模块。下面本人将从这3个方面分别介绍战斗系统中的战斗技能。

(1)主动与被动技能主动技能是可以通过点击战斗场景中屏幕底部的技能按钮来释放的技能,一般情况下要比普通攻击更有利于获得战斗的胜利;被动技能就是不能手动操作进行主动释放的技能,它只能是在满足一定条件或者概率的情况下才会出现的技能,当然这个条件可能是“所有情况下都满足”,这个概率也可能是100%。屏幕底部的技能按钮都是主动技能的,因为被动技能不能受操作控制,只有当当前回合的角色怒气值到达了该技能释放所需要的怒气值并且当前角色处于等待状态时,底部的技能按钮才会高亮显示,按钮才可以被点击,否则按钮颜色一直为灰色,无法点击。

(2)远程与近程技能每个角色攻击时都会有5个状态,专业术语叫做有限状态机。本人的战斗系统这里设计的状态分别为准备攻击、前冲、攻击、后退和攻击结束5个状态。角色释放远程技能时只有准备攻击、攻击、和攻击结束3个状态,角色释放技能的用例图如图3-8所示,整个攻击过程中角色的位置几乎没有位移,而释放近程技能时就会有5个状态,并且角色会从原来阵型中的位置移动到目标在阵型中的位置处附近进行近战攻击后按原路退回来。只有当一个角色完成自己的回合后,下一个角色才能开始行动。

(3)技能表现为了吸引玩家的眼球,释放技能时要有绚丽的技能特效,角色在不同的状态下要有不同的特效。为了游戏性设计了多种类的技能如伤害类、治疗类、控制类等,技能表现类型的结构图如图3-9所示,类的技能在释放的同时目标角色会受到相应的伤害反之治疗类技能释放时目标会增加相应的血量等。

图3-7 战斗阵型结构图Figure 3-7 Battle formation diagram

图3-9 技能表现类型的结构图

Figure 3-9 Show the type of skills chart

图3-8 角色释放技能的用例图

Figure 3-8 Roles release skills use case diagram

3.3本章小结

本章主要从功能需求方面对战斗系统的需求进行分析,首先进行了需求的综合描述,描述了中个战斗系统的大概战斗过程,给读者在脑海中大致呈现出一个战斗轮廓。再将整个战斗过程细分为5个模块,即战斗触发、战斗模式、战斗角色、战斗阵型和战斗技能,分别对5个模块中的内容进行介绍。

4系统概要设计

本章主要根据上一章中分析的需求将战斗系统的整体设计架构分为表现层、逻辑层、中间层、数据访问层四个层次,按照功能分为战斗触发、战斗模式、战斗角色、战斗阵型、战斗技能5个模块以及一个非功能模块数据流程。另外,分析了系统的重点和难点,还定义了系统内部和外部的接口,并制定了系统交互设计的规范。

4.1系统架构的设计与实现

本人主要从分层设计[13]、数据流程和功能模块划分3个方面对系统架构进行设计。将战斗系统分为了4层,战斗表现层、战斗逻辑层、战斗数据交换和图片获取层以及数据访问层。

4.1.1分层架构的设计与实现

本人将战斗系统分为了4层,主要包括数据访问层、中间层(战斗数据交换和图片获取层)、业务逻辑层(战斗逻辑层)和表现层(战斗表现层)。每一层都是封装好了的,层与层之间的交互都是通过层的接口进行的,所以这样设计的好处如下,具体的分层结构图如图4-1所示。

(1)由于需求变更中大部分是对表现层和逻辑层进行修改,这就不会影响到

中间层和数据访问层。

(2)当服务器的接口发生变更时,只需要修改中间层中的数据交互部分来适

应服务器的新接口。

(3)当需要开发下一个带有网络交互的手机游戏时,可以直接对该系统中的

中间层和数据访问层进行少量的修改来实现复用。

(1)表现层

表现层是由Flash来完成的,包括战斗阵型调整界面以及战斗中的技能按钮、角色血条、角色怒气槽、角色的状态图标等UI界面显示

(2)逻辑层

逻辑层位于表现层与中间层之间,主要负责根据表现层传来的用户输入数据安排战斗过程、调用中间层向服务器传递数据或者从服务器获取数据等,同时接

相关主题
文本预览
相关文档 最新文档