支持双人联网对战的俄罗斯方块手机游戏设计与实现

 2021-12-06 05:12

论文总字数:27264字

摘 要

近年来,手机游戏发展势头迅猛。它有着不受时间地点约束、目标群体广泛、操作简单易上手的特点,深受广大玩家的喜爱。

本文将介绍一款支持双人联网对战的俄罗斯方块手机游戏的设计与实现。游戏将基于Android平台开发。文章将遵循软件开发的一般过程,从项目开发背景、需求分析、架构设计、功能实现等方面阐述游戏诞生的过程。

项目从功能出发分为了三个模块,分别为显示交互模块、游戏逻辑模块和网络通讯模块。显示交互模块借助SexyApp Framework游戏引擎管理游戏资源并绘制渲染界面。游戏逻辑模块使用了面向对象思想将俄罗斯方块的矩阵容器和方块抽象为两个类,并创新性的用位运算存储方块形状。网络通讯模块运用ZeroMQ实现稳定的端对端连接,并使用protocol buffer技术压缩组织信息。

游戏通过标准的软件开发过程,完成了预期的目标。相较于传统的俄罗斯方块,本作的联机对战是一大创新点。同时也从侧面论证了ZeroMQ对于端对端通讯的稳定支持。

关键词:俄罗斯方块,手机游戏,Android,SexyApp Framework,ZeroMQ,protocol buffer

THE DESIGN AND IMPLEMENTATION OF A MOBILE PHONE GAME

ABOUT TETRIS FOR TWO PLAYER'S BATTLE THROUGH WLAN

Abstract

In recent years, the mobile game developed rapidly. It is not bound by time and place. It has a lot of target players and is easy to get started. It is becoming more and more popular.

This thesis will introduce the design and implementation of a mobile phone game about tetris for two player's battle through WLAN. This game is based on Android. The thesis will follow the general process of software development. By introducing project background analysis, requirements analysis, architecture design and implementation, it will describes how a game is produced.

Project is divided into three modules which are display and interactive module, game logic module and network module. Display and interactive module manages game resources and draws game interfaces by using SexyApp Framework game engine. In game logic module, we convert matrix and tetromino to two classes with the thought of object-oriented. And we creatively save tetromino's shape by bit operation. Network module implements stable connection of end-to-end by using ZeroMQ and compressing messages by using protocol buffer.

This project follows the standard process of software development and achieves its goals. The major innovation in this project is multiplayer mode through WLAN. It also proves that ZeroMQ is suit for end-to-end communications.

KEY WORDS: tetris, mobile phone game, Android, SexyApp Framework, ZeroMQ, protocol buffer

目 录

摘 要 I

Abstract II

第一章 绪论 1

1.1 引言 1

1.2 项目开发背景 1

1.2.1 政策环境 1

1.2.2 经济环境 2

1.2.3 社会环境 2

1.2.4 技术环境 2

1.2.5 移动游戏开发引擎比较 2

1.3 本文的主要内容和总体结构 3

第二章 相关技术和开发工具介绍 4

引言 4

2.1 ZeroMQ 4

2.2 protocol buffer 4

2.3 SexyApp Framework 4

2.4 Git 4

2.5 SCons 5

2.6 小结 5

第三章 需求分析 6

引言 6

3.1 系统性能需求 6

3.2 系统功能需求 6

3.2.1 显示交互功能 6

3.2.2 游戏逻辑功能 7

3.2.3 网络通讯功能 8

3.3 小结 9

第四章 系统设计 10

引言 10

4.1 系统总体设计 10

4.2 系统详细设计 11

4.2.1 传输数据格式设计 11

4.2.2 显示交互模块设计 13

4.2.3 游戏逻辑模块设计 16

4.2.4 网络通讯模块设计 19

4.3 小结 20

第五章 系统实现 21

引言 21

5.1 显示交互模块的实现 21

5.1.1 资源加载 21

5.1.2 界面管理的实现 22

5.1.3 动画的实现 24

5.2 游戏逻辑的实现 25

5.2.1 核心玩法的实现 25

5.2.2 方块形状的实现 26

5.3 网络通讯的实现 27

5.3.1 ZeroMQ端口的实现 27

5.3.2 传输数据压缩的实现 28

5.4 小结 28

第六章 系统展示 29

引言 29

6.1 系统部署环境 29

6.2 单人模式展示 29

6.3 双人模式展示 31

6.4 小结 33

第七章 总结 34

致谢 35

参考文献 36

  1. 绪论
    1. 引言

随着智能手机的迅速普及,与手机网络的快速发展,移动端游戏作为一种新型的休闲娱乐模式,被越来越多的玩家所追捧。移动端游戏指的是在移动终端运行的所有联网或单机的游戏产品,其中移动终端包括:手机、平板电脑、小型便携式多媒体终端,而掌机终端、掌上电脑等未纳入移动终端范畴。[1][1] 移动端游戏之所以这么受欢迎是有一定原因的,它主要具有以下几个方面的优势:

  1. 平台可随身携带,不受地域限制

这可能是移动端游戏最大的优势。相较于传统平台上的游戏,移动端游戏更加灵活。由于其平台的便携性,移动端游戏几乎可以在任何时间和地点发挥作用。这使得玩家能够更有效的利用碎片化的时间,从某种意义上讲提高了人们日常娱乐消遣的效率。而传统平台上的游戏,玩家必须依赖相对笨重的机器,不能随时随地的享受游戏带来的快乐。

  1. 平台普及率高,受众广泛

不考虑平板电脑、智能手表这些移动多媒体终端,仅仅智能手机这一项的使用率就已十分惊人。不仅如此,移动端游戏的目标人群也十分广泛。据艾瑞咨询集团调查,在2013年移动端游戏中26-35岁的用户占比最大;为49.8%,其次为19-25岁用户,为25.5%;而36-45岁用户也占了16.6%。[1] 从19岁到45岁,相差26年的跨度足以说明移动端游戏对于不同年龄层的用户都具有足够的吸引力。

  1. 操作简单易上手。

移动端游戏不同于传统平台游戏,它没有冗杂的输入系统,一般来说操作更简单。在今天,大部分的移动多媒体平台都应用了多点触控技术。它令用户可以通过点击、滑动、双击屏幕来实现与游戏的互动。相比较于传统平台的控制,这种触控技术显然更自然舒适,有着天生的优势。

综上所述,移动端游戏有着非常良好的市场前景,开发移动端的游戏无论是对于企业还是个人都有着至关重要的意义。

    1. 项目开发背景
      1. 政策环境

游戏产业近年来一直受国家产业政策支持发展。国务院在2014年的常务会议上确立了包括鼓励创新、扶持人才、开放市场准入、绿色导向、完善政策服务五大方向的措施,以及推进文化创意和设计服务与相关产业融合发展的政策。

移动端游戏作为一种新兴的游戏模式,在市场上一直呈现上涨的趋势,也引起了政府的关注。国家新闻出版广电总局在其官网上发布的《国家新闻出版广电总局贯彻落实国务院全面督查整改落实进展情况》更是指出,将改进移动游戏审批工作,对不涉及民族、宗教、历史、政治、疆域等内容,无故事情节或者故事情节简单的休闲益智国产移动网络游戏,采用简易审批程序;对其他类别移动网络游戏,也将进一步压缩内容审查时间,提高效率。[2]这对于移动游戏的发展无疑是一个利好的消息,也会进一步刺激移动游戏市场的发展。

      1. 经济环境

据中国音数协游戏工委所发布的报告来看,2014年1-6月中国移动游戏(包括移动网络游戏与移动单机游戏)用户数量约3.3亿人,同比增长89.5%;市场实际销售收入125.2亿元,同比增长394.9%;中国移动游戏市场占有率达到25.2%,比去年同期上升17.7个百分点。[3]3] 从这一系列的数据可以看出,中国移动游戏市场正处于一个蓬勃的上升期。不论是从用户数量、实际收入,还是从市场占有率上看,移动游戏在市场上都有着良好的前景。

从另一个角度讲,此时的移动游戏市场正处于崛起的阶段,尚属于一片蓝海,还没有哪家公司形成霸主的地位。结合移动端游戏开发周期短、开发成本低的特点,对于一些中小型开发公司来说,是一个难得的发展空间。可以说,未来的移动游戏市场一定是兵家必争之地。

      1. 社会环境

随着时代的发展,社会在悄然变化,人们工作生活的节奏也越来越快。上班族开始不满足于在上下班时无所事事,人们开始想办法消遣碎片化的时间,此时移动游戏正好满足了他们的需求。无论是从益智、冒险还是动作,多类别的游戏类型满足了不同年龄层的需要。无论是离退休老人、公司白领还是家庭妇女,现在都渐渐恋上了在闲暇时利用移动游戏来消遣娱乐。移动游戏正渐渐填补人们的日常生活,将一大部分传统平台用户转移到移动多媒体平台。[4]

      1. 技术环境

近年来,国务院全面推进三网融合,加快网络、通讯基础设施建设和升级,推动下一代广播电视网和交互式网络电视等服务平台建设。3G网比以前更加普及,4G 牌照已开始发放,大幅度提高网速和网络覆盖面积以及服务质量。另一方面,中国游戏开发水平已渐渐追上国际水平,尤其是动画设计、人物美工等方面已经小有成就。同时,中国的软件人才也呈逐年上涨的趋势,为这个行业源源不断的输送着后备军,支撑着移动游戏行业健康持续的发展。

      1. 移动游戏开发引擎比较

移动游戏开发的技术多种多样,可以直接在Android平台或iOS平台开发,也可以借助游戏引擎开发。前者无疑过于底层复杂,开发时间长,成本高。明智的选择是通过游戏引擎来帮助开发,这样会更加经济、高效。接下来将要介绍三种常用的2D引擎。

SexyApp Framework引擎是由宝开(PopCap)公司开发并且开源给全世界的。看看这家公司开发的《祖玛》 、《植物大战僵尸》这些游戏,就知道该引擎是开发休闲娱乐小游戏的不二选择。由于其开源的性质以及适合于开发小型独立游戏,受到了许多底层开发者的亲睐,使他们利用一款开源引擎也可以做出高质量的游戏。同时,宝开的游戏大卖也使它在商业领域证明了自己的成功。

Cocos2d-x引擎是全球知名的开源跨平台游戏引擎。它是采用C 实现的Cocos2d引擎,是由Cocos2d-x团队开发的分支项目,也是Cocos2d分支中最有生命力的。Cocos2d最早是由阿根廷的Ricardo和他的朋友使用Python开发的,后移植到iPhone平台,使用的语言是Objective-C。随着在iPhone平台取得了成功,Cocos2d引擎变得更加多元化,从而衍生出了Cocos2d-x。Cocos2d-x的设计目标在于横向能够支持各种操作系统、桌面系统包括Windows、Linux和Mac OS X,移动平台包括iOS、Android、Winphone等。纵向方面向下能够支持OpenGL ES1.1、OpenGL ES1.5和OpenGL ES2.0以及DirectX11等技术,向上支持JavaScript和Lua脚本绑定。[5]5

Unreal Development Kit(以下简称UDK),即大名鼎鼎的虚幻引擎,是目前世界最知名,授权最广的顶尖游戏引擎,占有全球商用游戏引擎80%的市场份额。支持iOS及Android平台。它是虚幻3引擎的免费版本,不包含源代码,但包含了基于虚幻3引擎的所有工具,所以UDK与虚幻3画面表现上是没有任何区别的。[6]6 UDK的一大亮点是它的图形化界面。不论是美工还是编程,都是在图形化界面下进行的,这无疑大大加快了游戏的开发过程,节省了开发时间与成本,缩短了迭代的周期。

剩余内容已隐藏,请支付后下载全文,论文总字数:27264字

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;