手机游戏开发

2024-05-21

手机游戏开发(精选十篇)

手机游戏开发 篇1

一、手机游戏的关键技术

“会飞的猫”是着眼于一只插上翅膀会飞翔的猫, 它在危机四伏的故事情节中躲避障碍并不断向前进的手机游戏。该游戏为Windows Phone手机端展示的游戏, 运用C#面向对象编程语言, 采用“C/S”结构, 以“PHP+Mysql”为后台数据开发接口, 采用Unity3D+VS2012混搭的开发环境开发手机客户端主游戏页面。此外, NGUI游戏插件的引入使游戏布局合理并便捷使用, 且大大增强游戏的可扩展可维护性。

(一) Windows Phone基础。Window Phone是微软公司开发的一款智能手机操作系统。该系统从Window Phone7采用Windows CE的内核, 并设计开发Metro的用户界面, 至2012年Window Phone8的出现舍弃老旧的内核, 使用与Windows系统相同的Windows NT作为内核, 底层的架构与Windows运行时架构一致。因此Windows Phone具有独特、简结、干净的界面结构和个性、时尚、别具一格的特征, 并力图打破人们与信息和应用之间的隔阂, 提供适用于人们包括工作和娱乐在内完整生活的方方面面, 最优秀的端到端体验。“会飞的猫”手机游戏采用的开发平台是Windows Phone8.0版本。

(二) 开发语言及开发平台。C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言, 它在继承C和C++强大功能的同时去掉了一些它们的复杂部分, 以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言;Visual Studio 2012作为一个先进的集成解决方案, 适用于无论是个人或者各种规模的开发团队, 它可以便捷地创建多变的命令窗口、菜单、按钮和工具栏等其他元素。

(三) 游戏引擎技术。游戏引擎的出现极大加快了游戏项目开发的效率, 游戏开发者不用考虑太多底层架构, 本项目主要用到Unity3D游戏引擎的模块及框架进行开发设计。Unity3D是由unity technologies开发的一个可以帮助游戏开发者轻松完成游戏制作, 同时提高游戏运行效率的跨平台专业游戏引擎。Unity3D引擎的功能非常强大, 除此之外其显著优势还表现在开发者可以进行跨平台游戏开发。在游戏的开发过程中, 游戏界面的设计非常重要, 主要原因是用户体验的第一印象就是从游戏界面开始的。本项目使用NGUI插件, 它是目前Unity3D的一款扩展UI编辑工具, 该工具提供强大的UI系统和事件通知框架。提高游戏开发的效率, 并可实现不需要点击开始即可预览的所见即所得效果。

二、系统架构及功能设计

本项目是一个敏捷休闲类型的横版跑酷游戏, 游戏提供单人无限模式, 后期将扩展多人联网分享模式。单人无限模式以玩家操纵小猫躲避障碍并向前飞行为核心玩法, 玩家通过在游戏中通过捡拾加成道具来获取奖励以提升小猫飞行续航能力, 游戏结束后刷新自身的排行榜。

游戏系统的划分与设计分为无限和关卡, 游戏系统分为商城和积分榜, 关卡模式为核心玩法, 系统包含积分榜显示系统, 并扩展出小猫商城系统, 小猫商城主要包含小猫皮肤、升级道具、附带武器、金币购买、日常活动与签到。

游戏设计开发从表面上看只是用户在友好的界面上进行交互的操作, 其本质仍为对用户的操作作出数据系统响应, 并且存储和反馈进行响应的数据。因此将数据与系统设计逻辑以及对应的用户行为进行分离是必要的, 而分层设计将很好的满足上述要求。本游戏整体程序结构的层次划分可如图1所示, 整个框架分为5层, 从下到上依次为操作系统层、框架层、数据层、管理层和表现层。

操作系统层为游戏的运行系统, 本身unity3D技术支持多种系统, 但本游戏主要发布到Windows Phone的平台上。

框架层中的网络通信为用户本实现。由于其需要调用与之对应的本机API, 故采用工厂方法模式, 提供创建工厂的接口, 将实际创建和操作推迟到Windows Phone8.0系统的子类中实现。

数据层主要负责游戏中所有数据的读写、组织与管理, 对应模式中的层, 按数据类型可划分为静态数据、游戏持久化数据、运行时数据。其中静态数据为整个游戏的配置数据, 包括整个游戏的配置表、设定表;游戏持久化数据为游戏中产生需要保存的用户信息;运行时数据为游戏运行时需要临时保存的状态数据、网络数据以及各个模块产生的全局临时数据。

管理层提供了游戏运行时的各种管理器, 其中包括NPC管理、排行榜管理、数据管理及通信管理, 并为表现层提供数据源, 而且提供表现层数据修改和调用框架的接口。

表现层控制整个游戏内容的显示, 以及游戏中对象的行为逻辑, 包括敌人逻辑、小猫行为逻辑、小猫商城及游戏排行榜。

三、游戏测试

Windwos Phone手机游戏开发完成后, 可以选择使用模拟器或者真机进行测试, 利用模拟器测试出来的效果和真机上实现的非常接近。因此, Windows Phone手机游戏的测试环境有两种:一种是在WP8虚拟设备AVD上的测试, 另一种是在Windows Phone真机上的测试。这里总结出Windows Phone手机单机游戏的一般测试流程, 其中涉及到的测试方法有安装测试、功能测试、性能测试和卸载测试。

(一) 虚拟机的测试。在Windows Phone虚拟设备AVD上测试时, 我们需要创建AVD, 测试要求:分别在分辨率为1280*768像素的Lumia920T和分辨率为640*320像素的AVD这两个虚拟设备中运行“会飞的猫”, 游戏的界面能够自动适应屏幕。测试结果显示手机游戏能够适配大小不一的Windows Phone手机屏幕。

(二) 真机测试。游戏是在Windows Phone真机上进行测试的, 选用的手机为Lumia920T, 主要参数为:屏幕尺寸:4.5英寸;屏幕分辨率:1280×768 (WXVGA) 像素;系统平台:Windows Phone 8可升级至更高版本;CPU:双核1.5GHz高通骁龙Snapdragon S4 MSM8260A处理器;运行内存:1GB;机身容量:16GB。首先将游戏安装到Lumia920T上, 然后进行相关性能的测试, 测试结果显示出游戏能正确安装。图2为测试游戏运行时各种功能的实现。经过测试, 小猫在碰撞预设敌人和捡拾道具时都有相应的反应。

四、结语

“会飞的猫”项目设计是基于Windows Phone手机操作系统, 采用“C/S”结构, 以“PHP+Mysql”为后台数据开发接口, 采用Unity3D+VS2012混搭的开发环境开发手机客户端, 开发的游戏软件能在windows phone8.0系统上流畅运行和操作, 取得良好效果。

摘要:近年来, 随着智能移动设备性能不断提高, 高速移动通信网络的建设以及社交网络的蓬勃发展, 移动设备端口的游戏成为中国的新兴热门行业。本文探讨了基于WP手机游戏是如何设计和开发的。

关键词:Windows Phone,手机游戏,设计开发

参考文献

[1]王丽君.基于Android平台的手机游戏的研究与开发---一组字游戏的设计与实现[D].长安大学, 2014, 5

[2]贾树文, 杨婷婷.运用Flash模拟椭圆形成的教学研究[J].软件导刊·教育技术, 2013, 12

[3]Tingting Yang, Shuwen Jia.Fingerprint Creation Algorithm based-on Dimensionality reduction[A].The First International Conference on Computational Intelligence Theory[C].Systems and Applications (CCITSA 2015) , 2015, 12

[4]王超明.基于Unity3D引擎的赛车手机游戏的设计与实现[D].北京交通大学, 2015, 6

《JAVA手机游戏开发入门》 篇2

数媒小组:刘玮

指导老师:宋瑾玉 肖荣

总结

本程序设计实现了手机上以J2ME为平台的射击游戏的开发,敌人运行的方式和攻击由程序进行控制,玩家通过控制自己的飞机来躲避敌方攻击和敌机。通过自己控制发射导弹来击败敌机,通过击败的敌机数来获得积分,击落的敌机越多,获得的积分越多,当获得一定积分时,玩家就可晋级到达下一关,玩家只有三条命,当被敌机的炮弹打中,玩家会减少一定血量,减少到一定血量后玩家会减少一条命,当玩家被敌机撞上时玩家直接损失一条命,game over,我们得重新开始了,我们增加了刚开始的界面,增加了开始,退出,帮助等按钮选项,玩家可以发射3颗导弹来打击敌人,在游戏画面中我们增加了显示血条和得分。这样使玩家具有一定的可玩性和复杂性。通过程序,我们增加了经过了细心的调试和排错解决了一部分的问题。但是我们的水平实在有限,还有很多的问题有待解决。但我相信,随着时间的推移,个人水平的增长,我们去完善这个程序使其更加完美,感想

浅谈手机游戏“捕鱼达人”的开发 篇3

关键词:手机游戏;“捕鱼达人”;开发

“捕鱼达人”是一款休闲娱乐类游戏,整个游戏以捕鱼得分为主旨。玩家通过简单的点击触屏来操作,包括选择不同等级的子弹,等级越高的炮弹花费的金币越多,当然捕到鱼的概率就越大,捕到鱼后,会根据你捕到的鱼的等级获得相应的金币。玩家需要注意的就是怎样选择合理的炮弹去攻击不同等级的鱼类,让花费炮弹的金币小于捕到鱼后奖励的金币。

一、开发游戏的关键技术

(一)C++语言

C++语言是一种优秀的面向对象程序设计语言,它在C语言的基础上发展而来,但它比C语言更容易为人们学习和掌握。C++以其独特的语言机制在计算机科学的各个领域中得到了广泛的应用。面向对象的设计思想是在原来结构化程序设计方法基础上的一个质的飞跃,C++完美地体现了面向对象的各种特性。

(二)Cocos2D-X平台技术

cocos2d是一个基于MIT协议的开源框架,用于构建游戏、应用程序和其他图形界面交互应用。这是一个C++ Cocos2d-iPhone项目的版本。Cocos2d-X发展的重点是围绕Cocos2d跨平台,Cocos2d-x提供的框架。手机游戏,可以写在 C++或者Lua中,使用API是Cocos2d-iPhone完全兼容。Cocos2d-x项目可以很容易地建立和运行在IOS,Android,黑莓 Blackberry等操作系统中。Cocos2d-x还支持Windows、Mac和Linux等桌面操作系统,因此,开发者编写的源代码很容易在桌面操作系统中编辑和调试。

(三)开发环境的搭建工具

操作系统:Microsoft Windows 7.程序语言:C++

开发工具:Microsoft Visual Studio 2010,cocos2d-x-3.0final

开发前环境搭建需要的其他工具:java sdk、android sdk、Ecilipse。这3个工具目前被谷歌打包成一个ADT,Python 使用他是因为cocos2d-x在使用过程需要好多工具都需要Python脚本的,比如编译工具等。Android NDK 他是C++语言实现到安卓平台运行的动态链接库,系统为什么要安装这个软件呢,因为本游戏是用C++语言开发的,需要在安卓平台上运行。Ant 批处理工具。

二、游戏的需求分析

(一)炮弹数据模型分析

设计炮弹数据模型如方E-R图所示:

炮弹属性模型E-R图

作为一款射击类游戏,炮弹是其不可或缺的部分。同样炮弹也必须拥有相应的数据模型。炮弹射程限制了炮弹攻击的范围。攻击间隔决定炮塔的攻击速度及单位时间内攻击次数。捕鱼的概率表示了炮弹抓获鱼的能力。爆炸范围表明了炮弹攻击到鱼后所波及的伤害范围。炮弹图像就是炮弹的外形。炮弹等级就是玩家通过炮弹旁边的加减号就行调整。

(二)鱼类数据模型分析

根据游戏可玩性需要进行的相关数据调研,设计鱼类数据模型如下图:

鱼类属性模型E-R图

鱼是游戏的核心部分,在此项目中,总共有两种不同属性的鱼,鱼的移动速度以及价值都是不一样的,玩家需要做的就是通过子弹来捕获鱼使自己得到金币,当然如何正确地使用炮弹也是玩家所需要注意的。

(三)场景数据模型分析

场景分为载入场景和开始场景以及游戏场景,因为本游戏是通过捕鱼得分来让玩家来体验游戏的乐趣,玩家通过不断地获得高分使自己感受游戏的快乐。

三、功能模块分析

(一)游戏项目流程

游戏项目流程图:

游戏的主要内容是由游戏进行时和游戏失败两个主要部分所构成。游戏进行时包含了用户对主角的操作以及对主角信息(获得的分数及获取的道具)的管理,用户游戏结束的操作选择,游戏进行为本系统的设计核心。游戏将对游戏进行时的事件作为一个重点的功能模块进行详细设计。

小结:

在捕鱼达人的游戏的开发过程中,还涉及到非常具体的开发设计程序,由于篇幅的原因,没有详细写出。未来手游在整个游戏市场的份额还会持续上升,进而打破端游的主体地位,手机游戏的开发具有很大市场。

参考文献:

[1].黄卫韦著.A公司移动互联网手机游戏盈利模式提升研究[D].华东理工大学,2015

[2].Stanley B Lippman著.王刚译.C++Primer[M].北京:电子工业出版社,2013

[3].满硕泉著.Cocos2D-x 权威指南[M].北京:机械工业出版社,2013

手机游戏开发 篇4

1 Android游戏开发

Android的开发支持多种操作系统[2,3]:Windows、Mac和Linux等。文中在Windows7操作系统下进行开发。

Android开发所需的工具为:(1)JDK。Java开发工具包,Android 应用软件大部分由Java 语言所编写,因此开发Android 应用程序首先需要Java 开发包的支持。(2)Eclipse。Android 的集成开发环境Eclipse提供了专用的开发插件ADT(Android Development Kit),对Android的开发必须要有Eclipse 的支持。(3)Android SDK(Software Development Kit)软件开发工具包。被软件开发工程师用于为特定的软件包、软件框架、硬件平台及操作系统等建立应用软件开发工具的集合[4]。

2 Android系统下游戏的设计

2.1 旋转积木流程设计

游戏主流程如图1和图2所示。其中图2为图1的补充,是玩家进入游戏后的流程图[5]。

2.2 游戏总体架构设计

游戏使用SurfaceView作为主要视图的基类,使用双缓冲技术实现界面绘制。根据在游戏中的不同功能,将其划分为控制调度模块、声音播放模块、图形界面模块、逻辑计算模块和动画效果模块[6]。游戏总体功能架构如图3所示。

2.3 游戏类框架设计

2.3.1 游戏主体类设计

游戏主体类设计主要分为以下几个模块[7,8]:(1)控制调度模块。MainActivity:主要实现游戏状态的转换,控制各界面间的切换。(2)图形界面模块。LogosView:实现游戏欢迎界面的动画效果,同时引出后续内容。MainMenu:负责游戏主菜单界面的展示,并对不同按钮事件进行监听,同时响应相对应的逻辑。MySurfaceView:负责游戏界面的展示,并在不断的绘制所展示状态的变化。各组件相关类:负责游戏中各个组件的绘制、更新等。(3)逻辑运算模块。Cube:负责判断积木是否到达目的位置或翻转到地图以外。(4)动画效果模块。WinDrop:实现进入获胜界面前的相关动画;DropOff:实现进入失败界面前的相关动画;LogosView:实现游戏欢迎界面的动画效果。

2.3.2 游戏界面相关类关系

游戏界面绘制是将各个独立的组件相结合,进而绘制出的,其中含一个主控制类,即MySurfaceView类在本游戏中,主要负责组件的协调、绘制。

3 游戏测试

3.1 游戏的测试

对于Android软件的测试工具可分为两种:一是通过安装AVD、进行测试;二是直接通过Android手机进行测试。本设计中,选用通过AVD进行测试。

3.2 游戏的运行

启动模拟器,进入游戏主菜单界面,其中包括对游戏操作的多项选择,如图4所示。

4 结束语

文中以“旋转积木”游戏为例,介绍了基于Android系统手机游戏设计的总体流程,并详细介绍了游戏框架设计及各类模块的具体功能实现。在设计开发的同时,着重介绍了游戏中所使用的Android关键技术,利用该技术对游戏界面进行绘制,在游戏中通过OpenGL进行3D绘图,增强了游戏界面的感染力,同时还广范应用多线程机制,使得多个任务并发处理,提高了游戏效率,为玩家提供了较好的用户体验。

参考文献

[1]RICK R.Android应用开发[M].李耀亮,译.北京:人民邮电出版社,2010.

[2]杨丰盛.Android应用开发揭秘[M].北京:机械工业出版社,2010.

[3]裴佳迪,马超,孙仁贵.Android应用开发全程实录[M].北京:人民邮电出版社,2012.

[4]李宁.Android开发权威指南[M].北京:人民邮电出版社,2012.

[5]吴亚峰,苏亚光.Android游戏开发大全[M].北京:人民邮电出版社,2012.

[6]韦斯.数据结构与算法分析Java语言描述[M].冯瞬玺,译.北京:机械工业出版社,2009.

[7]陶漪,恽如伟.教育游戏设计理论的分析与运用[J].远程教育杂志,2008(2):75-78.

手机游戏开发 篇5

>>首先说游戏设计部门

通常这是如下职位:游戏设计主负责(也有称主策划)执行游戏设计师(称执行策划):分剧情策划,数据策划,也有不分的,大家一起提高。辅助员(称辅助策划):做一些比较简单的表据维护,资料收集。

工作职责:

游戏设计主负责人:主要负责游戏设计的整体把握、给大家安排工作,审核工作,提高部门人员士气。,剧情策划一般负责背景,任务等等故事性比较强的,要求文笔要好

数据策划再细分,为规则和数据平衡,包括规则的描述,公式确定,数据表设定等等。辅助员,主要是收集资料,维护表格等等,比较不涉及核心的工作。*注:有一些公司或者团队,在策划岗位,还有新的岗位,如:

表现策划:主要负责特效、动作、音效收集并提需求,部分如音效部分亦有策划来完成。资源策划:主要负责UI设计,模型相关配置,资源管理等等。

>>下面是程序部门

主程序与主设计师,是对游戏引擎最了解的人,以主程序为最强。主程的主要工作,安排程序部门工作,定游戏的数据结构,定一些主要方案的完成方法。

一般程序员,分服务器端与客户端、服务器端程序,对于数据库结构,数据传输、通讯方式等等。客户端程序,对图像及优化有研究的会易受重用。

>>美术部门

主美负责整体美术风格的把握 原画绘制原画交于3D

2D负责贴图,游戏界面等的制作

3D负责3D建模,动作等方面工作

>>脚本与编辑器

在具体游戏实现时,越来越多的公司不会说把游戏中的数据写在C++里,而是用“脚本与数据库”的方式。

C++的作用是用来解释脚本和调用数据库的 在脚本中,写上,if

{

player hp >=30%hpmax

add hp=hpmax

}

这里的东西是写在脚本里的,C++就会解释,player、hp、hpmax是什么,hp、hpmax对应数据库是什么列主要的游戏内核是写在C里的,脚本用来实现游戏具体的一些东西。如每个场景、每个NPC、每个道具都有可能有个脚本文件制定命令及数据一般由主程与主设计师一起来做,具体写脚本,一般为游戏设计部门按规范做这个工作。

编辑器:是高于脚本的一个给游戏设计部门或是美术部门用的工作工具优点是使用简单,界面化的东西,可以自动生成脚本。

缺点是,把一些比较活的东西,写死到工具中了,将来要加功能改结构很麻烦 这些都是程序部门的工作

另外,在程序部门中主要交流就是服务器端与客户端的。这实际就是说,一个游戏主体置放与传输的问题。

一般来说,一些音声文件、图像文件、大一些的文本都会放在客户端,而数据库,游戏的核心解释在服务器端。

【游戏开发流程】

>>软件:有两部分。

1.编写游戏引擎、建模:需要熟练掌握C/C++、Microsoft Develop Studio开发环境、使用SDK或者MFC、DirectX/OpenGL、SQL编程、SQLServer或Oracle数据库配置。2.策划、美工、音效:MAYA、3DMAX、PS(音效制作方面不熟,这方面无法提供)。流程:策划——引擎——建模——美工——测试。

团队:首先要组成一个由各功能小组核心构成的策划组,负责构思整个游戏的内容架构。包括故事大纲,游戏风格,人物造型,操作模式,任务模式,装备模式等等,以及程序编写、美工贴图能否实现等等,资金预算能否维持等等。

然后筹建各功能小组:主编程组,负责游戏引擎。建模组,负责编写一个完整的世界,各种人物、怪等。美工组,负责包装游戏。测试组,设置若干组服务器,对游戏进行测试。>>游戏设计部门:为最前期

立项

主要目的是描述项目的风格、主亮点、一些方方面面的规则,具体可能会涉的游戏资源(如多少主角,多少场景,多少NPC等等统计)

这个阶段主要目的,是与投资人交流,描述清楚这个项目可不可以做,做了有什么好处,与其它同类游戏对比,竞争优劣势的分析,种种设定因何这样说服投资人,这个项目就可开做了。接下来与主美主程开会,就具体如何划分数据结构,如果命名文件等等交流相关的开始进行。(注:这有个前提,游戏设计必须要前于另两个部门。不能让很多程序或是美术,都等着,这与成本有关)游戏设计这个部门,这时定了数据后,就开始分头建表,游戏有多少会变动的数据就应该有多少表。如道具,NPC,场景、宠物,技能,ICON,特效,音乐,音效这些都要有表的。(注:这里说的变动只是人为的变动,是不是被动,级别这个就是被动的变动,不需要玩家等级表。)这时主策划已经给大家一份总案了,这个总案中,比较清楚的告诉大家这个游戏有什么玩点,也就是模块。(1)剧情设计师开始编世界背景世界观。

(2)规则设计师开始与数据设计师一起一个一个分配着开始写规则文档。(3)辅助员也可以开始先确定一些道具,NPC的名字什么的(注:这些在主设计的审核下进行着)当场景美术描述表,NPC美术描述表,道具美术描述等东西出来了,确定后,就可以交给美术部门开始试着做。--(注:这时,美术部门应该也按投资人的要求确定了美术风格)

[注:策划的工作一直先于其它几个部门,完善表,写全规则文档,写数据表(为将来写脚本做好准备)等等] 美术部门的工作当做完一部分就可以交付程序部门了,这时部门的数据库,数据结构也早搞定了,收到游戏资源,游戏规则,可以做一个简单的版本出来了。首先按游戏设计,把操作、视角等东西,都搞顺。这时,团队中的人就可以都进来看看了。版本不断更新内容,然后游戏开发这样就一步步在开动起来了。这个过程中,需要不断的反馈。

美术部门进到游戏里,发现做的东西不好看这时要返回去重做;

策划部门如果数据不合理,要随时调,同时,如果写了模块,交给程序部门,还要写脚本,实现在游戏中,要去测试。

(1)如果是程序部门理解不清或是别的BUG要及时反馈;(2)如果是规则有问题,或是数据不合理,要自行调节;

(3)另外为了给将来游戏的宣传推广留好接口,对于每个模块在游戏中,可以做什么活动等等都要有文档描述。

附:名词释义

游戏引擎:不是一个软件,更不是其它的什么东西,只是一段这个游戏能实现什么的中心代码。这个代码,也许可以做出很多东西,也许在这个基础上,做出很好的花样,但需要程序去挖掘,更需要游戏设计部门去了解。又常被称作游戏平台。

编辑器:位置要比脚本高一些的一个软件。

它的作用就是生成脚本,但是因为写死了,功能不能随心所欲。优点是用着方便。

以下是游戏制作流程的简单总结:

>>

一、计划阶段:首先,是项目计划阶段。

1、创意管理:第一步,是召开个会议,在会议中最常见的方法就是采取“头脑风暴法”。每个人都必须拿出自己的建议和想法,之后大家一起进行讨论。另外在会场内,会有专人进行会议记录。而在项目开发的前期则会有市场调查。

2、撰写草案:第二步,撰写策划草案,也叫意向书。撰写策划草案的目的在于,使得小组内每个成员对即将开发的项目有一个大体的认识,并且对目标进行明确。

3、市场分析:第三步,市场分析。决定了是否需要开发这个游戏。1)、目标客户:最重要的一点是确定目标客户。即该游戏是面向核心玩家,还是普通的大众玩家。如果是面向核心玩家所开发的游戏,则需要游戏的难度更大一些;反之,如果是面向大众玩家开发的游戏,则需要游戏的难度简单一些。最好的方法是允许玩家自定义游戏的难度。2)、成本估算:以网游为例,包括以下几个方面 •服务器:运行网络游戏所需花费的硬件方面的成本。成本中的大头。大约占到总成本的40%左右。

•客服:属于人力成本的范畴。网络游戏不同于单机游戏的部分在于,其不同于单机游戏的“售后不理”的销售模式。用户在玩这个游戏之后,运营商需要不断的提供更新和各种在线服务。

•社区关系专员:同上,属于人力成本的范畴。同其他方面的花销相比,这方面几乎可以忽略不计。•开发团队:人力成本,这方面花费的真正大头在核心成员和天才制作人的薪资上。•管理:管理方面花费的成本,这方面成本较少。

•用户帐号管理:发行成本的一部分,但也属于运营的范畴。至于成本几乎可以忽略不计。•办公室、电脑、家具:这方面是大头,不过这次花费之后,开发下部游戏时基本上花费就不需要或者很少花费了。

•带宽:发行成本的一部分,但也属于运营的范畴。成本也是极高的,当然各地可能都不一样。

•网管:发行成本的一部分,同样属于运营成本的范畴。•其他杂费:杂七杂八的一些费用,包括水电费、燃气费、可能还会包括买咖啡和茶叶的钱。•宣传、广告和推广的费用:属于运营成本。应该说最好的宣传方法就是广告,但各种广告在花费上都不尽相同,这个就不细说了。

•客户端:制作游戏客户端、点卡、充值卡、印制游戏说明书、游戏包装、游戏赠品一类的成本。

4、需求分析:第四步,撰写需求分析书。这包括以下三个方面: 1)、美工需求:撰写美工需求分析书,内容包括需求图、工作量等。其中工作量需要以天来计。内容具体如下:

•场景:包括游戏地图、小场景等方面。

•人物:包括玩家角色、重要NPC(玩家队友、提供任务的NPC、主线剧情NPC等)、次要NPC(路人、村民等)、怪物、BOSS等。

•动画:动画方面估计每个公司的需求都不尽相同。如果公司能力有限,动画的制作可以考虑外包的方式。

•道具:主要需要考虑是否采取纸娃娃系统。•全身像:人物的全身像方面。

•静画&CG:游戏中可能出现的静画和CG的需求。没有则不需要写。

•人物头像:人物的头像制作需求,其中包括人物的表情方面,包括喜、怒、哀、乐、悲等多种表情。

•界面:界面的需求,包括主界面、各项子界面、屏幕界面、开头界面、END界面、保存和载入界面等方面。

•动态物件:包括游戏中可能出现的火把、光影等方面。•卷轴:又称为滚动条。根据游戏的情况来定具体的需求。•招式图:根据游戏开发的具体情况决定是否有此需求。

•编辑器图素:各种编辑器的图素需求,例如关卡编辑器、地图编辑器等方面。•粒子特效:3D粒子特效的需求。

•宣传画;包括游戏的宣传画、海报等方面的制作需求。•游戏包装:游戏客户端的封面包装的制作。•说明书插图:游戏说明书内附插图的制作需求。•盘片图鉴:游戏客户端盘片上的图鉴的制作需求。•官方网站:游戏官方网站的制作需求。2)、程序需求:撰写程序需求分析书,内容具体如下:

•地图编辑器:包括编辑器的功能需求、各种数据的需求等。•粒子编辑器:关于粒子编辑器的需求。

•内镶小游戏:包括游戏内部各种小游戏的需求。

•功能函数:包括游戏中可能会出现的各种程序功能、技术参数、数据、碰撞检测、AI等方面的需求。•系统需求:包括升级系统、道具系统、招式系统等系统导入器的需求。3)、策划需求

•策划的分工:包括剧本、数值、界面、执行等方面。

•进度控制:要时刻注意时间和开发进度的控制,需要写一个专门的项目进度表。

•例会:项目会以里程碑的形式呈现。当完成一个里程碑后,或者到达固定日期时,需要召开例行会议,除了成员彼此交流外,还需讨论开发中遇到的困难,进度是否有拖延等问题。

>>

二、组织阶段:其次,是项目组织阶段。

1、确定日程:确定游戏开发的日程和进度安排。包括以下几个方面: 1)Demo版本阶段

•前期策划:前期策划和项目的规划。•关卡设计:关卡设计阶段。•前期美工:前期的美工制作。•后期美工:后期的美工制作。

•程序实现:程序的实现,包括编码等。2)Alpha版本阶段

•内部测试:主要是测试和完善各项功能,看一看是否有重大BUG。3)Beta版本阶段

•外部测试:进一步测试和完善各项功能,并预备游戏的发行。4)Release版本阶段

•游戏发行:项目完成阶段,开始正式的发行游戏。5)Gold Release版本阶段

•开发补丁:开发游戏的补丁包、升级版本,以及各种官方插件等。

2、确定人员:确定各个项目所需的人员。包括策划、程序、美工、测试、音乐、运营等方面。

3、分配任务:分配各个人员的具体的开发任务。

4、撰写策划书:正式撰写游戏策划书。

>>

三、开发阶段:其三,是项目开发阶段。

作为策划来说,此阶段主要需做到同各方面保持顺畅的沟通,并处理各种游戏制作中的突发事件。其中需要做到与同事的沟通、同主管的沟通、同领导和老板的沟通等。

>>

四、控制阶段:最后,是项目控制阶段。

1、时间 1)、成本控制:需要注意到开发成本的控制,包括服务器、客服、场租、人工(社区关系专员、开发团队、管理)、设备(办公室、电脑、家具等)、带宽、网管、宣传、广告和推广的费用等方面。2)、市场变化:需要注意市场的因素。•发行档期:需要注意发行档期,要赶在暑假和寒假之前发行。•盗版因素:必须时刻注意盗版、私服等因素对游戏发行的影响。3)、竞争对手的因素:需要时刻注意竞争对手的情况。毕竟,知己知彼,才能百战不殆。

2、品质

由于开发人员的水平大都参差不齐,所以必须根据制作人员的总体水平,决定作品的品质。既不能要求太高,亦不能要求太低,需要折中考虑。

3、突发事件

例如,老板的突击检查、项目投资人的突然撤资等,这些都必须全盘考虑。

4、控制成本

包括时间、品质等方面的成本控制。

【游戏开发队伍组成】

开发团队 •制作人 •执行制作人 •策划团队 •程式团队 •美术团队 销售团队 测试团队 游戏评论队伍 游戏制作人

•开发组长(always)•资源管理(Resource Management)•行政管理(Administration)•向上負責(Upward Management)•专案管理(Project Management)游戏执行制作人

•专案管理执行(Project Management)•Daily 運作 •House Keeping

•Not full-time job position

游戏策划

•故事设计(Story Telling)•脚本设计(Scripting)•玩法设计(Game Play Design)•关卡设计(Level Design)•游戏調適(Game Tuning)•数值设定(Numerical Setup)•AI 设计(Game AI)•音效设定(Sound FX Setup)•场景设定(Scene Setup)游戏美术

•场景(Terrain)•人物(Character)•建模(Models)•材質(Textures)•动作(Motion / Animation)•特效(FX)•用户界面User Interface 游戏程序

•游戏程序(Game Program)•游戏开发工具(Game Tools)•Level Editor •Scene Editor •FX Editor •Script Editor

•游戏Data Exporters from 3D Software •3dsMax / Maya / Softimage

•游戏引擎开发Game Engine Development •网络游戏服务端开发Online Game Server Development •创意(Idea)•提案(Proposal)•制作(Production)•整合(Integration)•测试(Testing)•除錯(Debug)•调试(Tuning)游戏设计(Concept Design)•游戏类型(Game Types)•游戏世界观(Game World)•故事(Story)•游戏特色(Features)•游戏玩法(Game Play)•游戏定位(Game Product Positioning)•Target player

•Marketing segmentation / positioning •风险评估(Risk)•SWOT(优势Strength/缺点Weakness/机会Opportunity/威胁Threat)游戏提案(Proposal)•系統分析(System Analysis)•游戏设计文件撰写(Game Design Document)•传播媒介文件撰写(Media Design Document)•技术设计文案撰写(Technical Design Document)•游戏专案建立(Game Project)•时间表Schedule •进程/控制Milestones / Check points •管理Risk management •测试计划书

•团队建立(Team Building)游戏开发(Production)•美术量产制作 •(建模)Modeling •(结构)Textures •(动画)Animation •(动作)Motion •(特效)FX •程序开发(Coding)•策划数值设定

游戏整和(Integration)•关卡串联(Level Integration)•数值调整(Number Tuning)•音效置入(Audio)•完成所有美术 •程旬与美术結合

•(攻略)Focus Group(说明书User Study)•发布一些攻略截图Release some playable levels for focus group 游戏测试(Testing)•Alpha(α)测试 •除錯(Debug)•Beta(β)测试 •数值微调

•Game play 微调

•对网络游戏而言(MMOG)•封閉测试(Closed Beta)•開放测试(Open Beta)•压力(极限)测试(Critical Testing)•网络游戏才有 关于Bug •Bug 分級(Bug Classification)•A Bug •B Bug •C Bug • S Bug •Principles

•Bug 分級从严

•Tester(测试对象?—)vs Debugger(调试程序)游戏系统(Game Software System)系统层System Layer – APIs •3D Graphics API •DirectX 9.0 SDK – Direct3D •OpenGL 2.0 •2D API

•DirectX 9.0 SDK-DirectMedia •Win32 GDI •Input Device

•DirectX 9.0 SDK – DirectInput •Audio

•DirectX 9.0 SDK – DirectSound / Direct3DSound / DirectMedia •OpenAL •OS API •Win32 SDK •MFC •Network

•DirectX 9.0 SDK – DirectPlay •Socket library

引擎层Engine Layer •3D Scene Management System •Scene Graph •Shaders

•2D Sprite System •Audio System •Gamepad •Hotkey •Mouse •Timers •Network

•DDK Interface •Terrain

•Advanced Scene Management – Space Partition •BSP Tree •Octree

•Character System

•Motion Blending Techniques •Dynamics

•Collision Detection •SoundFX

•User Interface

游戏层Game Play Modula •NPC(Non-playable Characters)•Game AI •Path Finding •Finite State Machine •„ •Avatar

•Combat System •FX System •Script System •Trading System •Number System •„

Game Dev Tools •Visual C/C++ •.net 2003

•Visual C/C++ 6.0+ SP5 •DirectX

•Current 9.0c

•NuMega BoundsChecker •Intel vTune •3D Tools

•3dsMax/Maya/Softimage •In-house Tools 【游戏分类】

•RPG(Role playing games角色扮演)•AVG(Adventure games冒险类)•RTS(Real-time strategy games既时战略)•FPS(First-person shooting games主视觉射击)•MMORPG(多人在线角色扮演)•SLG(战棋)•Simulation(模拟)•Sports(运动)

让游戏开发更简单 篇6

这看起来很有挑战,而且时间急迫,他需要在6个月内完成这个只处于概念性的想法。在年初真正启动这个项目后,Rong发现开发过程比想象中简单。“我和Justin Ng几乎没花什么时间去学习怎么使用引擎,我们发现可以跳过很多底层工具开发,直接进入游戏创意开发中。”Rong对《第一财经周刊》说。

5个月后,这款以Unity引擎开发的游戏“Lurking”出现在Windows Phone、App Store和Oculus VR平台上。“上线第一天有400次的下载量,对于学生项目来说,这是一个不错的开始。”Rong说。

Dexter Rong和Justin Ng的新加坡团队是Unity全球300万名游戏开发者中的一个缩影,他们并没有很多资金,也能实现充满创意想法的游戏开发。Unity的用户大多数属于20人以内小开发团队、学生,以及游戏开发爱好者。从某种意义上来说,这样的用户结构符合了创始人David Helgason在创立最初时的设想—让游戏开发更加大众化。

总部位于旧金山的Unity公司是提供游戏引擎的主流公司之一,这家公司为游戏设计者提供可视化开发工具和可重用组件。根据苹果App Store统计的数据,现在每10款3D手机游戏就有7款用Unity游戏引擎。它出售的引擎软件采用定期付费模式、授权模式和免费版本,帮助游戏开发者实现2D/3D游戏制作和多平台发布自动化。

游戏开发商以及其他一些企业正在尝试从移动设备以及电脑、智能电视的平台获取更多收入,但它们往往很难做到让一个版本在所有平台上流畅运行,但这却是Unity引擎的一个核心优势。目前Unity支持13个平台的运行,包括游戏主机、PC、主流移动系统、Oculus Rift以及近年兴起的智能电视和机顶盒等。

Unity在2003年成立,它的创始人David Helgason是冰岛人,但在丹麦哥本哈根渡过了青少年时期。在哥本哈根大学就读心理学和阿拉伯语的时候,Helgason认识了Nicholas Francis和Joachim Ante。作为兴趣爱好,他们3人自学了编程,随后开发了一款游戏叫做GooBall, 但是反应平平。因为没有资金购买当时昂贵的游戏制作引擎,后续的游戏开发随后也陷入停滞。

在2003年之前,主机游戏是主流游戏类型,这个市场几乎被三大主机游戏公司垄断。游戏引擎公司更多的是为几十至几百人的专业团队提供引擎和工具,基本许可费从40万至100万美元,同时还会提取5%至10%不等的版税金,他们对小的游戏开发者团队没有兴趣。游戏开发的资金困难让Helgason受到启发,当时大多数初创团队面临同样的问题,在Helgason看来这成为了一个新的创业机会,他们决定自己动手开发一款操作简单、价格大众化的游戏引擎。

“我们意识到,如果用更简单更便宜的引擎工具进行游戏开发,让开发者可以制作更多的游戏,这不仅节约制作成本,还会让开发者更多聚焦于游戏本身的创意和艺术性,会出现更具试验性的游戏。”Helgason说。

Unity最初发布的版本只支持Mac系统,开发者即使没有开发资金也能发布游戏。在这一阶段,Unity所引导的经营模式是简化制作流程、降低购买费用和简化使用许可权流程。他们将软件价格定位在1500美元,同时为入门者提供Unity教学课程,“即便是一个从来没有学习过游戏研发的人,一般上一堂几小时的课,就能用Unity做出一款简单的游戏。”Helgason说。

在2006年之后,游戏开发者的兴趣开始转向PC网页游戏,在这个时期,Unity从只支持Mac平台部署,变得更为大众化。Unity开始为Windows操作系统提供平台支持,这迎来了一个用户增长的小爆发时期。

但当时以工具型定位的Unity仍然难以实现盈利,小开发团队没有多少市场份额。当Unity引擎技术和工具不断优化后,除了学生和游戏开发爱好者外,Helgason希望能获得更多企业级用户,比如Disney、Electronic Arts、Activision这些游戏巨头,这会为公司带来更多的收入。

尽管Disney在2007年尝试用Unity工具制作网页游戏,但事实证明这个行业内的更多大公司偏向稳定的大型软件提供商,小创业公司在他们眼中呈现出的特质是富有创意但充满不确定性,这也使得Unity在企业级用户领域并没有什么进展。

Helgason形容2007年之前的创业生活犹如“行走在沙漠中。”最初团队只有5个人,他们的办公室设立在哥本哈根一所公寓地下室的自助洗衣房内,一位投资人当时拜访过他们的地下办公室,他告诫说:“以这个起点出发的团队,只有千分之一的几率获取成功。”

这句话现在仍然是Helgason的座右铭。在2008年之前,Helgason没有任何薪水,公司运营依靠第一笔融资和家庭资助。Helgason把创业成本投入在引擎人才的培养,他认为优秀的技术人才是创业公司的命脉。现在Unity有300多名员工,其中150人专门从事技术引擎开发,分布在全球12个分公司,主要集中在丹麦。

iPhone的出现成为了Unity成长的转折点。那些在游戏主机时代,由七八十人团队开发的主机游戏内容很难移植到移动操作系统中,这对引擎技术有了新的要求,Unity迅速做出了反应,在很短时间内推出了支持iOS和Android移动操作平台的Unity Pro收费引擎工具。这让Unity在手机游戏引擎市场占得先机,根据Game Developer的一份移动和社会科技调查,第一年超过53.1%的手机游戏开发者正在使用Unity。

Helgason发现的另一个机会是,当时没有游戏引擎在尝试将基于工具开发的开发者社区与平台的应用渠道商店结合起来。Unity开始解决这一问题。在提供引擎工具和跨平台服务的同时,Unity开始尝试和应用渠道合作,将更多的Unity游戏导入到不同的平台上。

Unity在2012年成立了Unity Game和Union部门,负责将获得授权的Unity游戏同时发布在手机、平板电脑、机顶盒等平台上,现在差不多有125款游戏通过Union发布,累计1.2亿次的下载量,拥有Union标签的游戏包括了Shadowgun、Super Crossfire HD、Frisbee Forever。

Union同时将游戏发行授权给平台合作方,这意味着更多的渠道推广机会。Union是免费加入制,但会分走20%的游戏收入。Union的合作方包括Intel、LGTV、Roku、Blackberry、Nokia、Sony和联想。

“当Unity是一个跨平台的工具,就很容易地实现这些成长的机会。”Unity大中华区负责人符国新说。

对于这家北欧公司来说,现在关键是要在本土市场之外寻求生长空间。2008年,他们将总部迁至美国旧金山湾区,短短6年时间,这家公司在全球设立了99个办公室。日本和韩国一直是其第二和第三的市场,在未进入前,来自亚洲的营收占比只有4%至5%,而到了2013年,这个数字已达到了50%。

2012年,中国成为了Unity全球第9个分站,现在来自中国的开发者接近Unity全球总数的1/4,约有70万名。最初,符国新的印象是在中国的Unity开发者数量特别多。但过了一段时间后,符国新发现数量众多的开发者很难转化成真正的付费用户,因为国内游戏引擎盗版利润相当高。

2012年年底,Unity开始尝试从授权转成一种新的服务模式,宣布Unity引擎免费向所有移动平台游戏开发者开放。“我认为如果只将自己和一小部分客户捆绑在一起,是非常危险的结盟。你的危机来自于只支持他们,集中在他们的需求上。事实上很多用户是没有办法使用那些额外的功能的。我们正在创立一种低入门级的订阅系统,将付费版的一些功能转到免费版中。”Helgason说。

这样的好处是游戏开发者数量急剧上升,从2012年年底的100万攀升到2014年的300万名,其中使用免费版本的开发者占比达到了70%。

现在Unity不仅是一家游戏引擎公司,多平台插件部署和游戏制作工具让Unity的业务收入呈现多元化。游戏素材众包是Unity开始的新尝试,在Assets Store里面,开发者可以上传自己创造的物品或是简单的游戏,从3D建模、音乐、特效都可以作为单独的插件出售,在这个开源社区系统中,游戏开发者自行确定自己的物品价格,按月或是季度向Unity支付其中30%的收入。

手机游戏开发 篇7

一、必须充分进行社会调研, 社会调研分为两个方面的调查研究

1. 宏观区域经济分析

2013年, 由于手机应用软件使用越来越普遍, 发展速度较快, 所以需要大量的技术研发人才, 手机应用软件研发人才需求量大增, 在智能手机系统市场, 目前已被苹果i OS、Android强势垄断, 从人才需求类型来看, 对手机开发人才需求:一类是偏向硬件驱动的手机系统人才需求, 一类是偏向软件应用的手机应用开发人才需求。从目前的招聘需求来看, 后者的需求最大, 包括手机游戏、手机终端应用软件和其他手机应用软件的开发。因此, 企业对手机软件应用开发人才社会需求量很大。

2. 职业岗位分析

按照面向手机软件开发专业所对应的职业岗位所需的职业能力和职业素质培养为主线, 以市场需求为起点, 以企业与学校专家合作开发为关键, 通过网络、问卷调查、上门走访、专家座谈会等多种形式, 对职业岗位分布、市场需求、岗位工作任务及职业能力要求等内容开展调研工作, 确定专业3个核心工作岗位有手机开发工程师、手机测试工程师、前端开发工程师, 并对岗位的工作任务及工作内容进行了分析定位。

二、完成人才培养目标, 科学设置课程

通过对手机软件开发专业所指向的职业岗位典型工作任务和工作内容及能力、知识、素质要求进行分析总结后确定专业应开设的课程, 课程开设的学时、形式和先后顺序应与手机软件开发职业岗位的工作过程相符。课程设置要做到:

1. 定向性。

手机软件开发专业培养的人才, 具有手机开发平台的职业方向要求, 因此所开设的课程必须定位于特定的手机操作系统的职业方向, 对准手机软件开发专业职业方向的岗位核心能力设置课程, 削枝强干, 突出主干课程, 把课程的学习活动归结于产品。

2. 适应性。

既要使手机软件开发专业课程内容与行业岗位需求相适应, 与技术的变迁相适应, 又要根据学生基础和需求帮助学生积累广泛的知识、技能和良好的职业素养, 提高学生的就业竞争力。

3. 实践性。

建立做、学、教一体化课程体系, 将课程的理论和实践有机结合, 使学校教育与企业实践相结合, 把实践教学贯穿教学全过程的始终。

三、按照职业岗位工作过程编排课程结构

课程的设置应该着重培养学生的职业能力, 建立起能力本位的课程体系, 将课程标准转化为能力目标。手机软件开发专业课程体系是一个能力逐渐提高的阶梯式过程。可将课程的专业知识、专业技术基础知识和文化基础知识加以综合, 以职业岗位能力活动为核心的课程结构。可分为基础培训、专业培训和专长培训。手机软件开发专业核心能力课程主要教学内容, 应以使学生达到某一职业岗位所必备的全部能力中某一具体能力标准为目标, 设置课程主要教学内容。教师也应依此进行课程整体设计、单元设计, 开展有效的教学活动。

四、加强素质教育, 强化职业道德培养

学生入校后首先要进行入学教育, 让学生了解手机游戏开发专业的性质、内容、任务及发展前景, 明确上岗工作后所应具备的职业素养, 把社会主义核心价值体系、手机软件开发企业优秀文化理念融入人才培养过程, 强化学生职业道德和职业精神培养, 重视学生全面发展, 在教育的全过程让学生感受职业素质、职业道德在工作中的核心价值。

五、建立以能力为本位、兼顾知识及素质的课程评价体系

课程的考核评价方式的好坏, 严重影响了衡量人才培养的质量的标准, 应该树立正确的职业人才培养质量观, 对学生的考核可根据手机游戏软件开发专业的特点结合不同的课程, 采取多种形式的考核方式, 比如笔试、面试、现场操作、案例分析报告、成果演示、作品评价、调研报告、毕业答辩等多种方法。

综上所述, 手机游戏开发方向专业人才培养方案的制定过程中所考虑问题的分析, 根据五个方面的分析研究, 得出手机游戏开发方向专业的岗位、岗位对应的工作内容、工作任务, 并根据相应的工作实际需求确定了采用阶梯式课程结构的课程体系, 一一提炼出每门课程的知识、能力、素质目标。目前该人才培养方案正在实施过程中, 恐有不足之处恳请批评指正。

参考文献

[1]邵作仁;高职院校创新创业教育的现状及对策[J];重庆电子工程职业学院学报;2010年05期

[2]陈豫;基于高职艺术设计专业人才创新创业培养模式的研究[J];考试周刊;2011年13期

手机游戏开发 篇8

课程体系设计

随着3G技术的成熟, 手机开发人才需求大幅增加, 手机游戏开发人才的培养应顺应市场的需求, 科学设置课程, 突出实践性和实用性。Java手机游戏开发专业是我们在大量调研的基础上, 在我校开设的培养手机游戏开发人才的新专业。该专业需要学生在掌握Java的基础上, 进一步掌握手机上的游戏开发技术, 需要学生掌握图像处理、手机平台特性、动画、美工、游戏策划及编程语言等。

在设置课程时, 我们进行了大量的调研, 结合同类专业的培养方案, 在加强实践特色的基础上制定了该专业的课程体系, 该体系包括理论课程和集中实践, 理论课程又分为公共基础课、职业素质基础课和职业技术课。Java手机游戏开发专业的主要课程设置如表1所示。

课程体系构成

公共基础课公共基础课是根据我国大学教育的指导方针制定的, 目的是为了提高在校生基本素质, 完成学校规定的基本素质教育, 提高学生的思想道德水平和认知能力。在相关专业, 主要开设了艺术鉴赏等课程, 通过这些课程学习使学生具备一定的审美能力, 为将来设计出界面好看的游戏打下基础。

职业素质基础课职业素质基础课的培养目标是使学生了解计算机的相关基础知识, 熟悉常用的算法, 掌握游戏开发的基础知识, 熟悉游戏开发的整个过程, 了解游戏策划和运营等知识, 全面了解游戏的开发过程。核心课程设置如下。

1.游戏设计概论课程。该课程的培养目标是让学生对游戏及游戏发展有一个全面了解, 主要包括游戏的类型介绍、游戏产业发展、国内的游戏产业、游戏市场发展、游戏开发人员需求、游戏的创作过程和游戏工程师发展等内容。学生通过学习对个人的职业规划有了认识, 可逐步确定个人的发展方向。

2.Java程序设计课程。该课程的培养目标是让学生掌握Java编程语言的基本内容和方法, 为后续的Java手机游戏程序设计课程提供基础, 讲授重点是编程语言的基本结构, 培养学生的基本编程能力。

3.数据结构课程。该课程是计算机专业的基础课, 目标是让学生掌握常用的算法, 在设计课程的教学内容时考虑到手机游戏开发的实际应用, 特别增加了碰撞检查相关的算法内容。

4.游戏架构与策划。该课程的培养目标是让学生了解游戏架构与策划的相关知识, 内容主要包括游戏背景设计、游戏关卡与任务设计、游戏界面与用户控制等游戏策划和构架设计的流程。学生通过学习对个人的职业规划能有更深入的认识, 逐步确定个人的发展方向。

职业技术课职业技术课是整个游戏开发专业的核心课程, 目标是使学生掌握游戏开发的主要技术和开发方法, 掌握主流开发工具, 并学会开发Java手机游戏, 具备参与游戏开发的能力。核心课程设置如下。

1.PhotoShop课程。虽然不是游戏开发专业的核心基础课程, 但作为游戏开发人员, 对平面图像必须有一个深刻的认识, 这门课程要求学生学会平面图像的基本处理方法, 掌握PhotoShop开发工具的各种操作技能, 进一步直观感受游戏的魅力。

2.J2ME程序设计课程。这是核心课程, 要求学生在掌握Java的基本语法、面向对象的基本思想和类的相关内容的基础上, 掌握J2ME程序设计中的MIDP高层界面设计和底层界面设计, 掌握游戏中的动画和多线程设计, 掌握MIDP记录管理。

3.J2ME手机游戏案例开发课程。这是核心技术课程, 在课程内容上, 通过完整的游戏案例使学生能够学会不同类型的Java手机的开发模式。在案例的选择上, 我们将游戏分为益智类、射击类、动作类及角色类等常见的游戏类别, 针对每个类别给出一个完整的游戏案例, 使整个游戏的开发贯穿于授课过程中, 在课堂上采用“1+1”模式, 即一次讲授加一次上机的模式。

4.手机开发平台。这门课的突出特点是“广”, 介绍一些当前主流的手机开发平台, 如Android、iPhone等, 通过一些简单的实例让学生认识更多的手机开发平台, 了解不同平台之间的差异, 为后续的学习与提高打开思路。

集中实践培养过程的实施可以归结为“夯实基础, 强化训练”, 夯实基础即培养基本的编程能力, 掌握基本的游戏开发技术;强化训练即强调实际能力的培养, 通过对实际的游戏开发项目进行训练, 使学生综合掌握所学内容。在我们的课程体系中, 通过实践提供给学生的实际能力呈现出鲜明特点。在第1~4学期分别设置了一级、二级、三级集中实践课题和毕业实训。具体实践环节安排如表2所示。一级实践课题为验证型实践, 在第一学期最后1周进行, 学生在学习了Java语言基础之后, 通过实践掌握Java语言及软件的开发方法。一级实践课题一般给学生一些小的题目, 让学生验证。如, 要求学生用Java语言编写一个小的五子棋游戏等, 学生通过开发这些小程序, 能够学习游戏开发软件的模块划分方法、软件的基本组成等知识。二级实践课题为验证型实践, 在第二学期最后3周进行, 学生在学习了J2ME程序设计课程之后, 通过实践掌握J2ME程序设计的内容。二级课题要求学生以小组形式展开, 3~5学生共同完成一个Java手机游戏中涉及的小模块, 或制作一个小的完整的游戏, 如制作一个拼图游戏等。学生通过实践除了掌握J2ME程序设计的基础知识外, 还可掌握游戏开发过程中所涉及的其他能力, 如模块的划分、团队之间的合作沟通等。三级实践课题为设计型实践, 在第三学期最后3周举行。学生在学完J2ME案例开发课程之后, 同时也基本学完了所有的专业课程。三级课题要求学生以项目组的形式展开, 4~8个学生为一个项目组, 要求项目组完成一个完整的Java手机游戏, 并要求项目组最后提交相关的文档, 包括需求文档、设计文档和测试报告等。项目组成员之间分工合作共同完成游戏项目的开发过程。毕业实训采用实地场景教学, 参与实际的游戏项目、角色模拟、项目驱动。我们通过与实训公司合作共同完成对学生毕业实训的培养目标, 主要采用两种方式, 一是学生到公司实训, 二是学校从公司聘请工程师到学校开展实训。各实践环节环环相扣, 循序渐进, 由易到难, 由单一到综合, 形成一个完整的实践体系。

遇到的问题与采取的措施

时间短, 任务重随着高职教育体制的改革, 原来的三年专科教学现在已经改成两年, 在两年的时间内完成众多专业课的培养, 是一项艰巨的任务。特别是在有些学生底子比较薄弱的情况下, 更会感觉学习任务重。在讲课过程中, 教师不得不忽略一些不重要、不常用的知识点, 如在Java的授课过程中, 针对Java的界面编程部分不能耗费过多的课时。

教学环境有待改善在实际教学中, 我们采用的开发环境大多是模拟环境, 尽管学生也可以通过模拟环境开发出手机游戏, 但相对于实际的手机运行环境还是有一定的差距。学生在模拟环境中开发的游戏往往在移植到实际环境时出现这样或那样的问题。在开发环境上, 学校的投入还不够, 有待进一步解决。

考核方式控制难传统的试卷考试方式对于以实践为宗旨的教学体系而言不是很适应, 我们在教学改革中采用了笔试加机试的方式。上机考试在突出计算机课程实践考核的同时, 也在控制考试效果方面出现了不少问题, 如电子文档较纸质文档更易复制等等。我们在控制考试结果的有效性方面投入了很多人力物力, 增加了不少硬件和软件方面的控制, 耗费了不少资源。

学生到企业实训难学生到企业实训难主要表现在两个方面, 一是资金难, 二是组织难。在资金方面, 企业靠利润驱动, 学生实训往往要收较高的费用, 这方面我们采取学校和学生共同承担的方式加以解决。在组织方面, 主要是学生人数较多, 管理师资的力量相对不足, 只能通过学生分组, 教师和学生共同管理的方式加以解决。

通过实际教学和总结, 我们在Java手机游戏开发专业的建设方面取得了成效, 已经逐步形成了完整的课程体系。但作为一种新的技术人才, Java手机游戏开发工程师的培养需要社会环境的支持, 特别是需要手机游戏开发企业的支持。在3G技术大发展的今天, 我们迫切希望在更多企业的支持下, 通过我们的努力培养出更多的符合企业需求的游戏开发人才。

参考文献

[1]韩玉民, 车战斌, 买志玉.高职软件类学生校外毕业实训管理的探索与实践[J].计算机教育, 2010, (1) :83-85.

[2]何拥军, 朱小平, 范路桥.高职游戏专业课程置换工学结合人才培养模式探讨[J].职业教育研究, 2010, (3) :32-33.

[3]王理.高职院校游戏专业建设初探[J].黄冈职业技术学院学报, 2007, (9) :39-41.

[4]罗光华, 陈传起, 丁知平.高职艺术院校游戏设计专业教学的研究[J].中国高新技术企业, 2008, (7) :256-258.

手机游戏开发 篇9

关键词:J2ME程序,RMS技术,文件系统

1 地图编辑器

1.1 地图数据的结构

第1部分: 敌人、障碍物的坐标和类型信息, 整数型数据。这部分数据中, 每3个整数为一组, 每组中第一个数字代表物体的类型, 1~5表示敌人, 6~9代表障碍物, 第二和第三个数字分别表示物体的x坐标和y坐标。

第2部分: 敌人总数与屏幕上同时出现的敌人数量的比值, 整数型数据。这个值在GamePlay.java中用TimesEnemy变量来表示。GamePlay.java中用Tank类型的数组Enemies来表示屏幕上同时出现的敌人。也就是说, 每一关必须要消灭Enemies.length*TimesEnemy个敌人才算过关。

第3部分: 地图名称, 字符串类型。

第4部分: 地形信息, 整数型数据。0表示草地, 1表示雪地, 2表示沙漠, 3表示沼泽。

1.2 具体实现

地图编辑器的实现需要用到RMS。RMS相当于一个数据库, 是J2ME程序进行持久性存储的唯一途径 (手机支持JSR75的话还可 以通过FileConnection类来对文 件进行操作 )。对RMS的操作可以通过RecordStore类来实现。

在地图编辑器中玩家可以用导航键上下左右或者数字键2468来控制光标移动, 按导航键中或 者数字键5可以在光标的位置添加一个物体 (包括敌军坦克、障碍物), 按数字键0可以切换要添加的物体的类型, 光标的图案也会随之变化。当光标图案变成一个红色箭头时, 按5键可以删除光标位置的物体。地图编辑完以后按左软键, 游戏会提示玩家设置敌军坦克的数量。按导航键左和右移动滑块来设置敌人的数量。按左软键确认后输入地图的名称, 再按确定按钮, 一张地图的制作就完成了。制作好的地图可以在“自定义游戏”模式中使用。 说了这么多, 其实最核心的部分是SaveMap () 和LoadMap () 两个方法 (封装在地图编辑 器类MapEditor中 )。顾名思义, 一个用来保存地图, 一个用来读取地图。它们的代码如下:

2 快速生成关卡数据

2.1 必要性

下面介绍如何快速生成关卡数据。

本游戏分两种模式, 第一种是传统的闯关模式, 第二种是自定义游戏模式。玩家用地图编辑器编辑的地图是用在自定义游戏模式中的, 而闯关模式中的地图需要自己来设计。那么如何读取这些预先设计好的地图的数据呢? 显然无法像读取自定义地图的数据那样从RMS中读取。因为要想把地图数据存储在RMS中, 就必须在代码中以明文写出这些数据(一般是以数组的形式出现)。这样做至少有以下两个缺点:

(1) 地图设计好以后, 要人为地计算出每个物体的坐标,然后逐一输入到代码里, 过程繁琐;

(2) 大量数据导 致代码过 长 , JAR包过大 , 程序占用大量运行内存, 甚至造成内存溢出。

最好的方法是将地图数据储存到文件中, 然后把文件打包进JAR, 这样就可以像读取图片一样来读取关卡了。那么怎么生成这些存储了地图数据的文件呢? 如果将数据手工输入到文件里, 不仅过程繁琐, 而且只能以文本的形式输入,无法手工输入程序能够识别的字节数据。所以手工输入的方法是不可取的。实际上, 可以利用FileConnection类来生成文件。在开发阶段, 完全可以用地图编辑器来编辑地图, 然后通过某种方法将RMS中的数据存储到文件中。这样做不仅省时省力, 而且所见即所得。

2.2 具体实现

为了实现上述功能, 写了一个writeMap()方法。

通过以上代码可以看出, writeMap()方法可以把用地图编辑器制作的地图的数据以字节的形式存储在文本文件里。只需要把生成的地图数据文件放在工程的res文件夹里, 再写一个LoadLevel()方法来读取它就行了。LoadLevel()方法的代码实现如下所示:

LoadLevel()方法的实现和LoadMap()方法还是比较相似的,只不过一个是从文件读取数据, 另一个是从RMS读取数据。

3 结语

手机游戏开发 篇10

NetBeans是Sun公司提供的一款Java/C++程序开发平台, 其特点是使用方便、插件丰富。在种类繁多的NetBeans插件家族中使用频率最高的可能就是NetBeans移动插件了, 通过使用其可以大大地简化各种手机Java程序的开发。尤其是从最新的NetBeans6开始, 移动插件中还加入了可视化游戏设计器, 大大简化了繁琐的游戏场景开发工作, 文中将重点介绍可视化游戏设计器在手机游戏开发中的使用。

2 案例功能

将结合一个手机2D RPG小游戏的开发类介绍NetBeans移动插件的使用, 下面首先对文中所开发的游戏功能、界面进行简单的介绍。

2.1 游戏界面

本游戏主要包含两个界面, 一个是游戏正常运行时的界面, 另一个是游戏结束时的界面, 分别如图1, 图2所示。

2.2 游戏基本功能

(1) 可以通过手机上的上、下、左、右键移动英雄, 英雄可以在界面中任意移动但不能通过界面右下部分的水池。

(2) 当英雄碰到蘑菇时可以吃掉蘑菇, 并加15分, 分数在界面的右上角显示。

(3) 当英雄碰到蜘蛛时英雄死亡, 游戏结束, 界面上闪动“Game Over”。

3 项目的准备工作

正式进行游戏的开发前, 首先要在NetBeans开发工具中新建专门针对手机开发的“MIDP应用程序”项目。在NetBeans主菜单中依次选择“文件”-->“新建项目”, 并按照弹出的向导对话框依次进行操作即可完成项目的创建工作。

完成了项目的创建后, 可以在指定的位置发现“MobileGame2D”文件夹, 所有与项目相关的文件都存储在此文件夹下。读者此时可以把游戏开发中需要使用的图片资源拷贝进“MobileGame2D”文件夹下的“src”文件夹中, 这样在后面的游戏设计中就可以使用这些图片资源了。

4 游戏场景

完成了项目的创建以及图片资源的准备后, 就可以使用NetBeans移动插件中提供的可视化游戏设计器进行游戏场景的设计。

首先需要在项目中创建名称为“wyf”的包, 然后在wyf包下创建一个“可视游戏设计…”, 并命名为“MyGameDesign”。此时就可以在开发工具的右侧看到可视游戏设计器界面了, 如图3所示。

根据本案例游戏的需要, 游戏场景及各层的设计主要分如下几个工作:

(1) 创建场景

(2) 最底层可通过平铺层的设计

(3) 不可通过水池平铺层的设计

(4) 得分平铺层的设计

(5) 蘑菇平铺层的设计

(6) 英雄动画层的设计

(7) 蜘蛛动画层的设计

(8) 游戏结束“GameOver”动画层的设计

4.1 创建场景

用鼠标单击图3所示界面中的“创建场景…”, 创建一个名称为“GameTheme”的场景。

提示:场景的作用是作为各个层的容器, 最终后面步骤创建的各个层都要添加到场景中。

4.2 最底层可通过平铺层的设计

用鼠标单击图3所示界面中的“创建平铺层…”, 此时系统将弹出“新建平铺层”向导对话框, 如图4所示。

在图4所示的对话框中首先按下“导入样例图像”按钮, 再在“选择图像”列表中选择“topview_tiles.png”, 最后填写平铺层名称“Base”, 按下确定按钮就完成了Base平铺层的创建。

创建完Base平铺层后, 在开发工具界面的右边可以见到平铺层的设计器, 如图5所示。

在设计器中可以用鼠标将下面的资源图片拖动到上面的平铺层界面中, 完成所见即所得的界面设计。

提示:读者还可以根据界面大小的需要在平铺层内容中选中某行或某列, 用鼠标右键菜单进行添加、删除行或列的操作。

4.3 其他平铺层的设计

采用与Base平铺层相同的方式分别创建名称为“BasePool”、“Score”、“Things”的平铺层, 他们分别表示不可通过水池平铺层、得分平铺层、蘑菇平铺层, 各自界面如图6所示。

4.4 英雄动画层的设计

用鼠标单击图3所示界面中的“创建动画层…”, 此时系统将弹出“新建动画层”向导对话框, 如图7所示。

在“选择图像”列表中选择“topview_tiles.png”, 再填写动画层名称“Hero”, 按下确定按钮就完成了Hero动画层的创建。

创建完Hero动画层后, 在开发工具界面的右边可以见到动画层的设计器, 如图8所示。

在设计器中可以使用鼠标将下面的资源图片拖动到上面的动画层框架序列中, 序列中的每一个框架就是动画的一帧。

提示:读者可以根据需要使用右键菜单为动画层创建新的序列, 或在序列中添加新的框架。

4.5 其他动画层的设计

采用与Hero动画层相同的方式分别创建名称为“Spider”、“GameOver”的动画层, 他们分别表示蜘蛛动画层、游戏结束“GameOver”动画层, 各自界面如图9所示。

4.6 将各层添加到场景中

完成了各平铺层与动画层的设计后就可以将各层添加到场景中了。在设计器中选中“GameTheme”场景, 并选择右键菜单选项“添加动画层”及“添加平铺层”;将各层按照Score、Hero、Spider、Things、BasePool、Base的顺序添加到场景中。

提示:请读者注意此时不要把GameOver层添加到场景中, 此层是游戏结束时由代码进行自动添加的。

5 游戏功能

完成了游戏场景的可视化开发后, 就可以对游戏的各项具体功能进行开发了, 其主要包括如功能:

(1) 游戏画布类框架

(2) 蜘蛛随机改变方向线程

(3) 蜘蛛移动线程

(4) 英雄综合功能线程

(5) 游戏结束闪屏线程

(6) 游戏主MIDlet

5.1 游戏画布类框架

游戏画布类主要负责游戏场景的绘制, 同时其他的功能线程也是它的内部类。在wyf下创建名称为“MyGameCanvas”的Java类, 去除开发工具自动生成的代码, 并将下列代码添加到MyGameCanvas类中:

上述代码中lm是层管理器, 其在游戏运行过程中可以对各个层进行管理;gd就是代表游戏场景的类, 其代码是用可视化游戏设计器自动生成的。

5.2 蜘蛛随机改变方向线程

完成了游戏画布类框架的开发后, 就可以开发蜘蛛随机改变方向的线程类了。此线程所起的作用是每隔一定的时间随机改变蜘蛛的移动方向, 这样可以增加游戏的不确定性, 使游戏更有趣。

将如下SpiderDirectionThread类的代码添加到MyGameCanvas的类体中:

由于大部分手机设备都是CLDC1.1及以下标准的, 因此不支持使用“Math.random () ”来产生随机数, 这时一般都采用获取时间毫秒数来替代的方式。

5.3 蜘蛛移动线程

完成了蜘蛛随机改变方向线程的开发后, 就可以开发蜘蛛移动线程了, 此线程主要是负责蜘蛛按照一定的速度沿当前方向移动。

将如下SpiderThread类的代码添加到MyGameCanvas的类体中:

上述代码中在移动蜘蛛时如果碰到了场景边界或水池, 则蜘蛛自动向反方向移动, 读者在实际开发中也可以根据需要采用不同的边界处理策略。

另外, 将线程类开发为MyGameCanvas类的成员内部类可以非常方便地访问MyGameCanvas类对象的资源, 免去了传递引用的麻烦, 简化了开发。

5.4 英雄综合功能线程

完成了前面线程的开发后, 下面就需要开发功能最为复杂的英雄综合功能线程了。此线程负责使英雄按照按下键的不同移动、英雄碰到蘑菇吃掉并加分、蘑菇被吃掉后在其他位置随机产生、英雄碰到蜘蛛后游戏结束等功能:

5.5 游戏结束闪屏线程

英雄综合功能线程开发完毕后, 就可以开发游戏中的最后一个线程游戏结束闪屏线程了, 此线程主要负责游戏结束后“GameOver”的闪屏。

将如下GameOverThread类的代码添加到MyGameCanvas的类体中:

5.6 游戏主MIDlet

完成了游戏画布类及各个功能线程的开发后, 就可以进行游戏主MIDlet的开发了。在wyf包下新建名称为GameMidle的Midlet, 并在GameMidlet类体中添加如下两个成员变量:

同时, 在GameMidlet的startApp方法中添加如下代码:

到这里为止, 就完成了本游戏所有的开发工作。这时按下开发工具界面中的按钮即可运行游戏, 见到如图1所示的游戏运行界面了。

6 程序的打包与发布

由于使用了NetBeans移动插件平台进行手机游戏的开发, 打包发布的工作非常简单, 只要选择“生成”菜单下的“生成主项目”选项即可。

打包发布工作完成后, 读者可以打开项目文件夹下的“dist”文件夹, 就可以见到自动生成的jad与jar文件了。根据手机型号的不同, 将jad与jar文件部署到手机中就可以享受游戏的乐趣了。

7 结语

通过开发文中的手机小游戏, 读者应该对如何使用NetBeans移动插件开发手机2D RPG游戏有一定的了解。同时, 也可以充分体会到使用NetBeans移动插件中提供的可视化游戏设计器大大简化了繁琐的游戏场景设计工作, 带来了很大的方便。

(收稿日期:2009-6-19)

摘要:通过实际案例, 介绍手机Java 2D RPG游戏开发的技术与基本思路, 同时, 介绍了NetBeans移动开发平台的使用。NetBeans移动开发平台的使用大大降低了手机游戏开发的难度以及工作量。

上一篇:体育计算研究下一篇:人事档案管理模式