关于XNA的游戏研发环境与技术探析

2010-11-16 05:51张庆员
中国新技术新产品 2010年7期
关键词:开发人员列表应用程序

张庆员

(辽河油田通信公司,辽宁 盘锦 124010)

1 引言

早期的游戏开发受技术所限,基本上都是为专用设备开发的能充分发挥那些并不算先进的计算机设备的运算能力。即使这样也只能拥有非常简陋的画面,并运行在比较低的速度上,甚至运行起来还不是很稳定。

那时候的游戏开发人员使用的大都是汇编语言,有些甚至要依靠机器码来完成工作。一个游戏的最初创意,到画面设计,到程序编制都由一个人完成。游戏开发人员往往要在有限的内存空间里面放置尽可能多的功能与数据,有时候还不得不自己动手完成一些奇特的动画效果。在这个游戏编程的史前时代,游戏开发人员最大的敌人并非自己源源不绝的创意,而是那些大大限制自己创意发挥的计算机运算能力。

2 研发过程简述

游戏开发领域的一大主要特点就是需求频繁变动,相对商用软件以市场为导向的开发需求变动趋势,游戏开发的需求主要依赖十游戏设计人员对游戏形式天马行空的想象,在想象的过程中需求的频繁变动是难以避免的。从某种程度上说,正是游戏内容的巨大变化造就了游戏的可玩性,而软件的价值所在。

2.1 敏捷软件开发方法

敏捷软件开发 (Agile Software Development)是指符合敏捷软件开发宣言所宣扬的软件开发核心价值观的一组全新的软件开发方法和实践,敏捷软件因其有区别于传统软件工程的灵活性在近两年被广泛应用于商用软件开发领域。以XP(Extreme Programming,极限编程)和SCRUM为代表的敏捷软件开发方法,在否定传统软件工程以物为中心的错误观念的基础上,提出了以人为本的全新软件开发理念。当今全世界的软件开发领域都在经历一场以敏捷为目标的开发思想上的深刻变革,无论是游戏业,还是我国的软件开发工业都将受到这一巨大变革的影响。敏捷软件开发宣言是以Kent Beck,Robert C.Martin,Martin Fowle:为首的一群软件开发资深专家针对当前软件开发过程中的主要问题,提出的一组核心价值观。

2.2 SCRUM开发过程

SCRUM软件开发过程

Sprint周期(Sprint cycle):为期1到4周的一个开发迭代周期,在周期开始时团队配合用户选定最优先的需求,并努力在周期结束时提供满足该需求的可运行的软件产品。每口Sprint周期(Daily sprint cycle):为其1天的开发迭代子周期,在每口工作开始前团队成员需汇报自己前一天的工作成果,并公开描述自己当口的工作计划。产品列表(Product backlog):该列表包含有用户对产品功能的所有需求,并以需求的紧急程度和商业价值为依据排序。Sprint列表(Sprint backlog):在Sprint开始前从产品列表中根据重要程度和工作量选择的若干需求项。该列表需经过团队成员的讨论进而将每个需求项分割为具体的工作任务,针对每个工作任务都需要进行工作量的估算。延烧图(Burndown chart):表明项目剩余工作量的直观图表,用于向团队成员展示当前项目的状态。

3 开发工具简述

3.1 Visual C#2005 Express

XNA Game Studio 1.0只能以Visual C#2005 Express为运行平台。XNA GameStudio 2.0则可以与Visual Studio 2005家族的任意一款IDE产品配合使用,包括Visual C#2005 Express以及Visual Studio 2005 Team System。未来将要推出的XNA Game Studio 3.0则需要配合Visual Studio 2008使用。在IDE方面,微软公司自己出品的Visual Studio 2005与XNA配合使用是最好的。

MagicDraw

UML在近几年中已经发展为软件设计领域的行业标准,UML图成为技术交流和文档纪录的主要工具敏捷软件开发追求适度的设计,将具备自解释能力的软件代码视为最重要的产品文档。因此,在敏捷软件开发方法中并不要求UML图包含过多的细节,UML图往往只记录系统的整体概况,以表明系统的总体结构为主要目标。该框架的研究工作选用的M agicDraw绘图软件在名气上可能不如Visio,Rational Rose等软件,但是其功能却非常强大。该软件不但支持所有UML2.0规则下的图形,而且'绘制操作为软件开发工作专门简化过,操作极其简便。

3.2 Excel

SCRUM软件开发方法本身的简便性决定了该研发过程管理工作的简单性。Excel表格处理软件正好可以存储SCRUM开发方法中的产品列表,通过ExcelVBA的功能扩展,Excel软件可以自动记录并生成研究工作进度所需的延烧图。与Project等大型项目管理软件相比,Excel与SCRUM软件开发方法的需求恰好合适。该框架的研发计划列表均使用Excel制作。

4 研究方法和研究重点

4.1 自下而上的框架研发方法

框架是为了加快某一特定领域应用程序的开发速度而研发的一种软件工具。与传统的应用程序类库技术有所不同,框架定义了应用程序宏观的结构,将应用程序中的具体细节留给开发人员实现。框架的开发与类库的开发一样,不但要解决特定领域的问题,而且这种解决方案还必须具备一定的可重用性。这是框架研发工作的核心,也是框架研发过程的难点。

为程序提供合理的可重用性主要有两种方法:第一种方法要求程序的设计人员具备丰富的相关行业经验,凭经验来判断某些程序功能的通用性,进而在总体设训一的时候就将可伸缩性考虑进去。因为这种方法是从总体设计层次着手,依次添加其下各逻辑层次的内容,因此可以称之为“自上而下”的框架研发方法。第二种方法要求程序设计人员实现该领域中比较常见的若干具体应用程序,然后使用重构技术将若干具体应用程序中公共的部分抽取出来,并将抽取的部分集合起来。

4.2 研发重点

如前所述,该框架的研究工作采用SCRUM软件开发过程,以迭代的方式研制基于XNA的2D游戏框架。在每个迭代周期中都将建立一个可以运行的基于XNA技术的简单游戏,每个游戏都是某一特定类型游戏的代表,且都侧重表现了游戏技术中较为常用的一个或几个功能。

在游戏类型的选择上同时包含规则复杂的游戏和规则简单的游戏就可以同时照顾到针对初级玩家的游戏和针对高级玩家的游戏,同时包含砖块式的游戏和连续式的游戏就可以同时照顾到简单的游戏显示技术和复杂的游戏显示技术,同时包含动作游戏和解迷游戏就可以同时照顾到不同风格的游戏内容和游戏控制方法。因此,该框架在研究过程中覆盖了十分广泛的游戏内容。

5 小结

本文首先简要介绍了敏捷软件开发方法的核心思想和部分重要实践,紧接着介绍了SCRUM软件开发过程的大体框架。这些内容是推动该框架研究工作的根本方法。其次介绍了该框架研发工作中使用的各类工具,内容包含编程工具、文档工具、进度规划工具等,这些工具为研究工作的完成提供了不可或缺的帮助。最后介绍了该框架的研制工作所使用的“自下而上”的框架研发方法,以及该方法的特点。同时还介绍了在研发过程中主要涉及的游戏类型及其对应的典型游戏和研发过程中的各研发重点。

[1]利斌.全球数字娱乐业崛起,电子出版,2002年

[2]李蕊.试析数字化时代电子游戏对电影的渗透,现代电影技术,2007年

猜你喜欢
开发人员列表应用程序
学习运用列表法
删除Win10中自带的应用程序
Semtech发布LoRa Basics 以加速物联网应用
不含3-圈的1-平面图的列表边染色与列表全染色
三星电子将开设应用程序下载商店
三星SMI扩展Java论坛 开发人员可用母语
微软软件商店开始接受应用程序