《 收 获 的 季 节 》
第四届齐鲁大学生软件及外语大赛
游 戏 管 理 文 档
山东建筑大学HelloWorld游戏开发小组
游戏开发管理文档
1、游戏背景介绍
2001年7月,中国手机用户1亿2060万超过美国,成为世界第一;2004年5月,中国手机用户突破3亿;2005年,中国手机用户突破4亿。如此一个手机大国,蕴涵的巨大商机不言而喻。敏感的商人从中找到商机,短信和彩铃让他们挖掘到了第一桶金。当大多数的人还将眼神停留在短信和彩铃上的时候,手机遇上游戏的际遇早已在日韩、欧美等地演绎精彩。
Ø 本游戏的任务提出者:齐鲁大学生软件设计大赛组委会
Ø 游戏的名称:《收获的季节》
Ø 游戏的设计者:山东建筑大学“HelloWorld”手机游戏开发小组
2、可行性分析
2.1、手机游戏现状
在信息社会中,手机及其他无线设备越来越多的走进普通百姓的工作和生活,无线通信和手机游戏已经成为新兴产业。据日本计算机娱乐协会(CESA)统计,早在2003年日本的网络游戏用户数为343万人,而利用手机游戏上网玩游戏的用户数为897万人。可见,手机游戏必定会成为手机运营商的第二桶金。
但是传统手机存在以下弊端:
1、传统手机出厂时均由硬件厂商固化程序,游戏不易增加、删除。
2、传统手机访问互联网是通过WAP(Wireless Application Protocal),所有网络资源必须接通网络才能在线访问,非常耗时、费用亦很高。
3、目前的手机游戏多以单用户为主,互动游戏很少。
4、通过GPRS互联方式的高额流量费用让玩家无法接受。
而Java技术在无线应用方面的优势非常明显:
1、应用程序可按需下载,而不是购买由硬件商提供的套件,可升级空间大。
2、Java技术提供了一个类库,它使的应用开发商可以创建更为直觉、丰富的用户界面(GUI);
3、Java技术使网络带宽的应用更为有效,因为应用程序可以下载到器件上,并在本地运行,仅仅是在连接到服务器时才会占用网络带宽。
4、随着蓝牙技术的发展,使得手机局域互联游戏的出现成为可能。进一步促进了多用户游戏的发展。
5、通过GPRS互联方式的高额流量费用让玩家无法接受。在中国 3G 网络春天未到来之前,蓝牙局域互联成为手机游戏开发的一种经济可行的互联方式。
2.2、游戏业务及J2ME概况
图1-1 Java 平台的结构 |
J2ME平台被认为是最杰出的手机游戏平台,它为开发者、设备制造商、网络通信公司和消费者广泛接受。它有一些非常重要的特征对所有组织都有益。因为J2ME应用在不同设备上都是便携式的,他们常常可在网络上下载和执行。如果没有正确的防范,它则为用户和无线通信公司冒着无数个安全的风险。幸运的是,Java被设计成一种安全的语言。所有字节码应用在执行之前都要校验;JVM在执行过程中监督应用的安全性和存储违反问题。MIDP v2 运行时间包括一个完全特征化的、基于域的安全管理员,它在应用的数字签名者鉴别的基础上赋予应用API级许可。
纵观IT产业的历史,就像军事的发展时常推动计算机的演化一样,计算机游戏已经成为技术创新背后的动力之一。计算机游戏者渴望更加强大的硬件计算能力;渴望不受不同的软件的限制——无论是将图形强制在人工智能(AI)上 还是网络安全性。游戏开发者和玩家常常是前沿计算机技术的最早的采用者。由于他们的创新天性,游戏不再是由大型采购公司控制的技术产品——游戏领域总是有充足的空间给那些在这方面有天分的单个创新者。
手机游戏的盈利主要是由于它们的涉及面很广。手机已经与现代生活方式紧紧地结合在一起。他们是最普遍携带的个人用品中仅次于钥匙和钱包的东西。传统的台式机游戏将目标锁定在低级趣味的人和青少年身上,而手机游戏则每个人都可以访问的到——随时,随地。尽管每个手机游戏都不贵,但是巨大的使用量(如:每人每星期一个新游戏)将使得这个市场商机无限。但是,对于开发者来说,将控制台游戏迁移到手机游戏工程很大。因为他们所面向的对象、生活方式和分布式模型都有着极大的区别。
一个成功的手机游戏大多具有以下特征:
·易于学习: 既然手机游戏面向的是普通消费者而不是计算机专家,那么他们不可能深入的学习游戏技巧。消费者不会花几个小时去研究一个3元的手动操作的游戏。保持游戏的简单是最基本的要求。
·可中断性: 多任务处理是手机生活方式的基本特征。手机用户常常在任务(如等一个电子邮件或者等车)之间有一小段时间。而游戏、日历管理、通讯和工作数据访问使用的是同一个设备。所以一个好的手机游戏应该提供短时间的娱乐功能,并且允许用户在游戏和工作模式之间顺利切换。
·基于订阅:手机游戏的盈利成功取决于他们巨大的使用量。一开始开发和设计每个游戏都是昂贵的。如果一个手机游戏开发者要赢利的话,重要的是:同一个游戏引擎,多个标题,基本的故事情节类似。基于订阅的游戏是不断产生收入的最好方法。
·丰富的社会交互: 不管一个游戏设计得多好,只要玩家找到了它的根本模式或者玩完了所有的游戏路径很快就会厌烦这个游戏。对于一个基于订阅的游戏,重要的是与别的玩家合作以增强所玩游戏的智力和随机性。在今天纷繁复杂的多玩家游戏中具有丰富社会交互的游戏证明是成功的。
·利用手机技术的优点: 巨额的手机技术研发费用都花在提高设备和网络的可用性和可靠性上面。因此,手机设备硬件和网络协议与桌面/控制台世界(如全球定位系统(GPS)扩展、条形码扫描仪、和短消息服务(SMS)/多媒体信息服务(MMS)通讯)有着非常大的差别。好的手机游戏应该利用那些更新的设备特征和网络基础设备的优点。
·无违法内容:既然所有年龄/性别的人群都玩手机游戏并且常常在公共/工作场合,就应该避免明显的暴力或者色情内容。
2.3、开发平台
操作系统:Microsoft Windows XP
程序语言:Java 2
开发包: Java(TM) 2 Standard Edition (jdk 1.5.0 _01)
Sun Micro. J2ME
Wireless Tool Kit 2.3
IDE: NetBeans 4.1+Mobility Pack
3、项目进度管理及控制
3.1、开发进度
准备阶段:
2006-4-1 ~ 2006-7-20 ,每周两次会,周四和周日晚上8点;总结以及提出问题
阶段主要任务:
1.可行性分析
2.创意提出
开发阶段:
第一开发阶段时间 2006-7-21 ~ 2006-7-25
阶段主要任务:
1. 开发环境配置
2. 项目需求分析及总体规划
3. 小组成员分工及资料收集
第二开发阶段时间 2006-7-26 ~ 2006-8-5
阶段主要任务:
1. 项目主要功能实现及测试
2. 开发文档整理
第三开发阶段时间 2006-8-5 ~ 2006-8-10
阶段主要任务:
1. 软件附加功能实现
2. 软件所有功能模块整合
3. 开发文档整理
测试阶段: 2006-8-10 ~ 2006-8-20
阶段主要任务:
真机测试
BUG修正
代码优化
3.2、分工管理
职责 | 宋保江 | 王佳 | 岳彩娟 | 董建波 | 田伟 |
项目管理 | √ |
|
|
|
|
跟踪和报告小组进度 |
|
|
| √ | √ |
召开会议 | √ |
|
|
|
|
与指导老师定期交流 | √ |
|
|
|
|
分配小组成员任务 |
| √ | √ | √ | √ |
提供小组开发条件的支持 | √ |
|
|
|
|
游戏测试 |
|
| √ | √ | √ |
维护项目标准和术语表 |
|
| √ | √ |
|
获取必需的工具和技术支持 |
|
|
|
|
|
制定个人计划 | √ | √ | √ | √ | √ |
需求分析 |
| √ |
|
|
|
游戏设计 |
|
|
| √ | √ |
编码实现 | √ | √ | √ | √ | √ |
文档整理 | √ | √ | √ | √ | √ |
4、编码规范及质量控制
4.1、注释代码的目的:
1、叙述清楚代码的作用
2、清楚说明代码所要表达的思想和逻辑
3、表明代码中的重要转折点
4、减少代码阅读者在他们大脑中模拟代码的运行
4.2、命名规范:
4.2.1 、变量命名的目标:
1、使变量的用途明确
2、使每个变量的数据类型和可见范围清晰明了
3、使代码中的过程易于理解
4、使程序易于调试
5、使变量的存储和处理更为有效
4.2.3 、函数过程命名规范
1、统一的单词顺序::动词+名次。
2、单词的首个字母大写并且名称应该能表达出它们的用途(或者说是意义)。
3、参数需要指明。
4.2.4 、类命名规范:
以Class声明的类,都必须以名词或名词短语命名,体现类的作用
4.3、质量控制
为了开发出高质量的软件,我们在制定计划时,不仅将实现功能作为第一位的,同时也制定了软件开发的标准和文档写作应该遵循的质量标准。我们将国家标准GB8567——88,作为我们开发的标准。严格控制,开发过程。
5、其他
5.1、指导老师:
山东建筑大学计算机科学与技术学院——贾广雷。
5.2、团队成员:
姓名 | 获奖及经历 |
王佳 计本033 | 参加挑战杯 多次获得校级奖学金 学校网页设计大赛一等奖 参加齐鲁大学生软件设计大赛并获三等奖 |
宋保江 计本043
| 参加“挑战杯”虚拟汽车展示平台项目 三好学生、优秀团员、学生干部,校二等奖学金 参与数学竞赛以及全国大学生数学建模大赛并获一定奖项 |
岳彩娟 计本034 | 参加挑战杯 程序员资格证书 多次获得校级奖学金 三好学生、模范学生干部 |
田伟 计本042 | 参加“挑战杯”虚拟汽车展示平台项目 获系三好学生,优秀团员,校一等奖学金 |
董建波 计本042 | 参加“挑战杯”虚拟汽车展示平台项目 系三好学生,优秀团员,校一等奖学金 |
6、总结
6.1、本程序的总结和展望
本程序设计实现了手机上以J2ME为平台的类似推箱子游戏的开发,采用从外部文件读取地图、自动控制主人公运行的方式进行控制,具有一定的可玩性和复杂性。经过了细心的调试和排错解决了绝大部分的问题。
但几乎每一个计算机程序都会有这样那样的不足,尤其是未经过精心维护的非商业软件。即使是作为操作系统的各种版本的Windows也时常会发生许多类型的错误和漏洞。本游戏程序对于初涉此领域的我们来说,尤其在开始初期,感觉逻辑复杂,难以控制,因此至今还有一些未能解决的bug。
6.2、经验和感想
这个游戏是目前我们作为团队合作做过的最大的程序。虽然大学期间在.Net下设计过一些小游戏和应用软件的开发,并且经过反复的调试修改也达到了一定的精确性,但接手这个题目时我们仍感觉十分棘手。
理论课期间做过很多课程设计,大多规模很小。在数据库、单片机、各种应用软件和游戏。在做这个游戏时我们对游戏的设计有极大的热情。因为其中各个模块间的联系十分紧密,代码重复执行率高,当经过无数次的调试、修改后,能最终看到成品,有无比自豪的心情。大学期间做过学校成教学院的管理信息系统程序等数据库管理系统的项目,思想大致相似,变化范围有限,没有太多自己可发挥的余地。相比一些数据库软件,游戏的设计有很多人情色彩和艺术思想的发挥,正式商业的软件的人性化界面和各个游戏间迥异的结构每每会让人有去开发的冲动。
游戏程序最大限度的利用了硬件条件,因此展现出的画面往往多彩绚丽、效果惊人。成功的将游戏融合了二维运算、人工智能、音效处理等计算机多媒体的精华部分。本游戏设计建立在Java平台上,是我们以前未曾接触过的领域。凭着探索新知识的热情,我们选择了该设计题目。
学习该平台背景和功能的时间远远超出了我们想象的时间。在设计初期,为了处理一个简单的图形,需要花费一天的时间,为了使图形产生动态效果又会花费几天的努力。很多相关的技术,如需要使用到的线程、RMS数据库、Game包的新功能、高级、低级图形界面的使用、贴图,每一项都需要花一定的时间去掌握和熟悉。更为困难的是,J2ME为一种刚出现仅几年的新技术,国内的参考资料非常少,仅有的几本也停留在简单的介绍阶段。台湾的王森写了两本较好的书,给了我很大的帮助,但对设计该游戏来说,仍只够入门。在发觉中文资料的稀少后,我不得不全篇阅读midp profile英文函数库。英文原版介绍的确比市面上所有的书籍都更为详细和准确。为了进一步探索深层次的技巧,我们花费了大量时间在sun的Java主页上,阅读了几十篇英文的技巧和代码样例。
在终于可以照猫画虎的写出一小段动画的代码时,已经过去了相当长的准备时间。我们原以为这样的速度将无法完成游戏设计,但当掌握了大部分应用技巧时,剩下的游戏思路的设计就显得不是最大的障碍了。指导老师说Java的上手比较困难,需要配置的环境和掌握的背景比较多。现在看来的确是这样。
经过了多次的调试,终于完成了现在的程序。原先认为不可能的事,只要有不畏困难的信心和肯钻研的勇气,就一定会完成,甚至达到意想不到的效果。这使我们认识到:只要努力,就能成功!