手机游戏开发技术综述

文章描述:-2022年4月13日发(作者:冷楚)2019年5月论述239手机游戏开发技术综述吴迪生(山东省潍坊第一中学,山东省潍坊市)对高质量手机游戏的需求与日俱增。手机游戏受到【摘要】随着移动互联网的爆发式发展,手机游戏迅速兴起,随着老百姓生活的日益丰富,和传统的PC游戏开发有较大的不同。分别从客户端技术,服务器运行环境的内存,网络状况的影响,本文基于手机游戏开发的核心技术,CPU,开发者能迅

-

手机游戏开发技术综述
2022年4月13日发
(作者:冷楚)

2019年5月

论述

239

手机游戏开发技术综述

吴迪生

(山东省潍坊第一中学,山东省潍坊市

261000

对高质量手机游戏的需求与日俱增。手机游戏受到

要】随着移动互联网的爆发式发展,手机游戏迅速兴起,随着老百姓生活的日益丰富

和传统的

PC

游戏开发有较大的不同。

分别从客户端技术,服务器

运行环境的内存

网络状况的影响

本文基于手机游戏开发的核心技术

CPU

开发者能迅速理解手游开发的具体流程和核心技术,快速对游戏技

技术,网络层技术对游戏的开发流程进行深入分析描述。通过本文的介绍

术入门

【关键词

Unity

tcp

udp

mysql

php

【中图分类号】【文献标识码】【文章编号】(

2019

TP317A1006-422205-0239-02

手机游戏是近年来备受瞩目的游戏类型之一袁由于智能

手机在老百姓生活中的快速普及袁在手机上花费的娱乐时间

也快速增长遥随着手机游戏的产业链逐渐成熟袁整个游戏数量

和市场呈现井喷的状态袁从2015年到2018年的各个国家的

市场情况来看袁手机游戏业务已经进入了快速发展的阶段袁随

着4G袁5G的快速普及袁移动游戏的用户体验也能得到进一步

提升袁从而获取更大的市场

[1]

图2Unity操作界面

1

引言

图1手机游戏市场

规模

手游开发从最初的轻量级休闲游戏逐渐发展到重度游

戏袁其技术框架也在不升级换代遥早期的手机游戏多采用co鄄

cos2d-x进行开发袁cocos2d-x具有开源袁上手简单袁跨平台等

优势袁但是只适合2d轻量级游戏

[2]

袁同时在工具链上不够完

善袁从而逐渐被国外商业软件Unity3D所取代遥Unity3D是一

种功能全面的3D游戏及场景制作软件袁里面有丰富的游戏引

擎袁能全面支持图形袁声音袁物理碰撞等功能袁可以支持C#尧

JS袁Lua等高级语言袁同时他能支持跨平台功能袁能实现win鄄

dows尧Mac尧Linux尧Web尧iOS尧Android等主流游戏平台的编辑袁

打包袁其内置的WEBGL组件能方便的将游戏打包为web文

[3]

袁全面适配各种浏览器袁同时由于unity3D具有强大的工具

链支持袁能大大节约开发者的时间袁提高效率袁因此成为手游

开发的首选引擎遥本文重点对unity3D进行介绍遥在网络传输

部分袁根据不同的游戏类型袁会采用TCP袁UDP袁HTTP等网络

协议袁在服务器语言上袁业界主要的是使用c/c++和Python/lua

来进行游戏服务器的制作遥在数据库的选择上

[4]

袁大部分手游

都采用mysql或mongodb来作为数据存储的方案袁也有部分

技术实力雄厚的公司采取自研数据库的方式来满足对性能的

要求遥

如图2所示袁unity具有丰富的操作界面遥工具栏上核心的

组件有院1冤File渊文件菜单冤主要是负责Unity3D工程文件的打

开袁设置袁文件的保存袁发布设置等功能遥Edit渊编辑菜单冤主要

是负责Unity3D中常见的工程设置袁例如渲染的质量袁窗口的

编辑等功能

[6]

遥GameObject渊游戏对象菜单冤主要是让开发者可

以手动创建的一些物体组件的功能袁由于unity本身提供了非

常丰富强大的物理元素袁因此开发者可以非常方便的创建例

如灯光袁立方体袁草地袁相机等物体遥Component渊组件菜单冤是

负责shader袁物理碰撞和粒子等组件的添加遥Window渊窗口菜

单冤主要是负责显示和调控Unity3D开发界面的窗口显示

[7]

Unity3D提供了丰富的三维空间概念袁利用自己的四种坐

标系

[8]

袁即世界坐标袁屏幕坐标袁窗口坐标和GUI界面坐标袁完

成了三维世界的构建遥其中WorldSpace渊世界坐标冤是用于在

场景中添加对象渊例如立方体袁camera等冤袁这类组件都是以世

界坐标显示在场景中袁unity提供了内置多个API可以方便的

获取世界坐标的位置遥

ScreenSpace渊屏幕坐标冤是unity提供的另一种坐标类型袁

该坐标类型以unity屏幕界面的的左下角作为坐标原点

渊0袁0冤袁右上角作为坐标定点渊即屏幕的宽度和高度冤袁Z轴的

位置是通过相机的坐标高度来定义袁分别可以用Screen.

width袁袁以及osition得到屏幕坐标的

x袁y袁z轴的顶点袁同时由于手指触摸屏幕的位置也是用屏幕坐

标来定义袁因此可以用内置的ch渊0冤.position触点

的坐标遥

ViewPortSpace渊视口坐标冤是相对于相机的坐标遥该类坐

标位置将相机的左下角做为原点袁右上角为顶点袁与屏幕坐标

不同袁视口坐标的Z的位置是以相机的世界单位来衡量的

[9]

手机游戏网络传输技术和PC游戏并没有太大差别袁主要

集中在TCP协议袁UDP协议袁HTTP协议三种

[10]

2.2

坐标系配置

2Unity

介绍

2.1

操作界面

Unity是当前最主流的手游开发引擎之一遥它是由Uni鄄

tyTechnologies开发的一个让玩家轻松创建诸如三维视频游

戏尧建筑可视化尧实时三维动画等综合型游戏开发工具

[5]

3

网络传输技术

3.1TCP

技术

简介

240

论述

TCP

TCP

输过

袁利

面向

接的协议袁是一种可靠的网络服务袁

控制

而确

袁在

数据

数据

输的可靠性袁但是需要明确的一点是袁数据的可靠性是通过传

输的两端实现袁而不是传输线路的硬件可靠袁在数据传完后袁

利用四次挥手机制来断开连接袁释放宝贵的连接资源遥

作为网络传输中应用最广泛的协议袁TCP具有传输可靠袁

机制全面袁编程简单高效的有点袁但是也存在速度慢袁资源消

耗过大袁对网络要求太高的缺点袁特别是TCP在传输数据过程

中袁需要建立连接袁在网络不稳定的情况下袁频繁的断线重连

会消耗大量的时间和系统资源袁同时数据传输过过程中的传

输等待尧差错重传尧拥塞控制等都会消耗大量的时间袁会占用

系统的硬件软件资源遥

在弱网络环境袁以及对传输数据的准确性要求不高的情

况下袁TCP作为一种严谨袁复杂的协议设计则显得有些冗余袁

很多开发者在这种情况下选择UDP协议袁对其进行适当改

3.2

袁以满足系统的需求遥

比袁具有

UDP

UDP

技术

简介

袁开

袁不

袁由

UDP

的协

袁与

TCP

TCP

杂机重传制袁在传递数据时速度更快袁同时由于UDP是一个

轻量级协议袁具有易于订制的特点袁因此大量游戏基于UDP

协议进行二次开发袁订制出适合自己游戏的协议栈遥

在对网络通讯质量要求不高袁允许一定的丢包时袁但是希

望传输时间更快袁响应时间更短的情况下袁UDP具有较好的优

UDP

遥例如

实现可

网络

在日

传输

的QQ语音尧QQ视频等遥特别是基于

减少

开发

网络

袁借

能进

tcp

一步

的滑

网络

口机

3.3

效率遥

协议

HTTP

HTTP

袁该协议

协议

渊超

TCP

议冤

是位于

议袁因

此也具有

用层的网络

可靠

的优势遥同时HTTP协议在TCP的技术上封装了大量特性袁例

如传输头袁传输体袁状态码等协议内容袁从而大大丰富了传输

过程中传递的信息袁减少了开发者的工作量遥在轻量级的小型

4

休闲

4.1

服务

游戏中

开发语

袁HTTP

技术

协议往往是首选遥

言介绍

Linux

php

非常的

设计

专门用于web开发的编程语言遥php语言的言兼

系统袁

Unix

兼容

尧MacOSX

大袁可以

Apache

尧IIS

系统

在不同

运行

遥目

的系统

PHP

前几

要的

相对于

Windows

尧服务

编程语言来说袁简单易用袁并且可以高效的运行袁php因为简

单易学使得初学者用最短的时间很容易实现自己的WEB站

点遥但是袁随着站点流量的增加尧更多功能需求的增加以及逻

辑复杂度增加袁php会让编程出现问题袁这时php开发人员就

需要对php语言做更深入的理解并对web站点的实践做深入

的理解

对象

C++

的功

能解

C

袁可以

语言

决问题

实现

的超

袁继

c语言

承袁因

此既

基础

袁提供

像C

语言

面向

样利用c++实现面向过程设计袁又实现面向对象的程序设计遥

同时由于C++可以直接操作底层硬件袁和内存直接打交道袁因

此性能十分优异袁对于很多对操作系统要求高袁对服务器性能

要求高的应用袁具有明显的优势袁特别是对于游戏开发袁因此

深受游戏

Java是

面向对

欢迎遥

象语言袁常用于企业级应用的开发遥它

2019年5

不仅吸收了C++语言的各种优点袁在c++的基础上实现了面向

切面的编程袁自动装配等面向对象的高级功能袁因此java的面

向对象功能比C++更加强大丰富袁java社区统一袁工具链丰

富袁开发门槛相对较低袁通过jvm能够方便地再win和linux

系统上发布袁因此也收到了众多IT公司的青睐遥同时java开

发以SSM渊Spring袁SpringMVC袁Mybatis冤为代表的一系列框架袁

可以方便地实现微服务的各种组建袁以netty为代表的IO框

4.2

能高

MySQL

效处于长连

的介

等游戏类型遥

MySQL是一个关系型数据库管理系统袁它以表为基本单

MySQL

袁将数据保存在不同的库中袁具有快速袁高效的特点遥而

言袁具有

使用

简单易

SQL

StructuredQueryLanguage

功能灵活的优势遥MySQL

冤语言

是目

的关系型数据库管理系统袁在特别是游戏开发方面袁MySQL是

众多游戏公司的首选遥MYSQL的核心操作主要是增删查改四

5

大操

作袁

即insert袁delete袁select袁update遥

游戏开发是一个复杂而庞大的工程袁需要开发者对分布

式服务器设计袁网络优化袁图形学袁界面渲染袁3D建模袁场景分

析袁碰撞机制都要有深入的了解遥只有在掌握了扎实的编程技

术袁建立了深厚技术积累的条件下袁才能开发出让玩家满意的

游戏遥

[1]

参考文献

苏志同袁石绍坤袁李晋宏

[2]

与设

2010

辉袁

陈家

31渊7

.手机游戏开发架构的研究.计算机工程与

冤院

.游戏

1631-1634.

开发中智能路径搜索算法的

[3]

2008

研究.计算机工程

2006

袁仇

27

渊13

.基

冤院

2334-2337.

j2me的手机游戏开发.计算机应用与软件袁

[4]

[5]

170-171.

西卡

9冤院

鑫.游戏

188-190.

穆里

游戏

里奇

开发中

特窑帕

.

.

网络

识与

游戏

技术

开发

袁2007

袁2004.

袁4渊10冤院

[6]

教育

[7]

洪袁王国胤袁刘洪涛.智能游戏开发与设计课程建设探讨.计算机

基于

2011

Android

渊15冤院

游戏

62-64.

开发中常用类库的设计与实现.西安电子

[8]

2011.

科技大

传敏袁张帅袁邱锦明.基于unity3d的fps游戏

[9]

设计与开发.三明学

2012

报袁2012袁29渊2冤院35-40.

[10]

08

.浅析unity3d开发游戏流程及常用技术.电脑知识与技术袁

计与

实现

深华

22

.企业科技

冤院

范志

5351-5352.

尚袁

2013

朱亚

10

.

冤院

40-42.

于android平台unity3d游戏设

收稿日期:

2019-4-10

-

手机游戏开发技术综述

发布时间:2022-04-13 05:21:37
文章版权声明:除非注明,否则均为IT技术网-学习WEB前端开发等IT技术的网络平台原创文章,转载或复制请以超链接形式并注明出处。

发表评论

评论列表 (有 14 条评论,154人围观)

最近发表

随便看看

热门文章

标签列表