在游戏开发教学中整合框架设计思想

来源 :计算机光盘软件与应用 | 被引量 : 0次 | 上传用户:snower2010
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:网络游戏产业是目前飞速发展的高新产业,但高素质的游戏开发人才匮乏已成为制约产业发展的瓶颈。本文分析了游戏开发教育过程中遇到的问题,提出了在游戏开发教学的主线课程中整合框架设计思想,帮助学生形成面向对象程序设计思想,形成游戏软件开发能力的新方法。
  关键词:游戏开发教学;面向对象程序设计;框架;课程整合
  中图分类号:TP311.52 文献标识码:A 文章编号:1007-9599 (2012) 21-0000-02
  1 引言
  计算机软硬件技术的迅速发展及人们的对娱乐的需求,极大的促进了网络游戏产业的发展。相对于行业飞速发展的现状,从业人员却严重不足,高素质游戏开发人才匮乏已成为制约产业发展的瓶颈。
  高素质的游戏开发人才的匮乏与国内高等教育的现状不无关系。目前,国内开设网络游戏开发教育的本科专业方向的学校并不多,对于游戏开发的教育处于起步阶段,因此,探讨如何更好地培养游戏开发人才具有实际意义。
  2 游戏开发教学中存在的问题
  游戏软件是一个比较复杂的软件系统,在教学过程中,需要帮助学生形成游戏软件开发能力,存在如下的一些困难需要克服:
  2.1 需要掌握面向对象的程序设计方法。“面向对象程序设计(英语:Object-oriented programming,缩写:OOP),指一种程序设计范型,同时也是一种程序开发的方法。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性”[1]。面向对象程序设计方法将要解决的问题域通过封装、继承、多态[2]等方法分解成若干类组成的类体系,这种分解特别适合多人协同完成同一个项目,适合完成大型、复杂的项目,因此。面向对象的程序设计方法是目前主流的软件开发方法。然而,面向对象的程序设计方法是在较高层次上对程序设计方法进行抽象,在学习理解上存在着一些困难,如在学习C++语言时,学生不太容易理解封装、继承、多态,特别是多态这些面向对象程序设计的核心概念在软件开发中的实际用处。
  2.2 游戏软件开发需要融合多方面的知识。就游戏软件开发要融合多方面的知识。游戏软件开发人员首先是一个程序员,必须具备一个程序员的基本素质。程序员至少应该掌握一门程序设计语言(C++语言),具备一定的算法设计能力;游戏程序设计同时需要掌握游戏开发相关的技术,如windows编程、DirectX技术、三维编程等。这些知识具有较高的难度,学生接受理解存在较大的困难。而且由于这些课程在知识点上环环相扣,某一个环节掌握不好,会增大后面环节的学习难度。
  3 解决方法
  针对上述的问题,可以采用在教学过程中整合框架设计思想的方法来解决。
  3.1 概念。“框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架”[3]。框架是解决一类问题的规范。框架应用于特定的领域(例如游戏开发),抽象了这个领域的解决方案中的固定不变的部分,形成类体系,供开发者调用。在框架的设计时要注意“开-闭”原则,即对扩展开放,对修改封闭。要达到这样的设计原则,框架的设计必须使面向对象的程序设计方法。因此在课程教学中整合框架设计,会加深学生对面向对象程序设计方法的理解。同时框架将游戏开发中的常用方法整合,并且把框架的设计贯穿到语言学习、游戏开发课程中,可以让学生在不断重复迭代过程中,将游戏程序开发中所涉及到的知识点融会贯通。
  3.2 实施方法。首先,需要根据游戏开发的一般方法,开发出一个适合学生学习的游戏框架。游戏中的各种图像的渲染是游戏程序设计中的重点,场景、角色、攻击效果等都是由图像来呈现的。游戏中的各种图像有一个专门的术语,称作为“精灵”[4]。“精灵”是指游戏中所有可显示的对象。因此该框架只涉及游戏中的精灵显示和管理相关的功能,这样可以降低框架的复杂程度,使学生在学习过程中容易理解。该框架通过使用面向对象的程序设计方法定义了类和类的组合,完成游戏中必须的锁定帧频、准备渲染环境、建立游戏循环、传递键盘鼠标事件、资源管理、图像的呈现和管理等功能。学生使用该框架能比较容易地实现游戏程序,激发学生的学习兴趣。
  其次,该框架的实现根据学生的学习进度不停地迭代演化。根据学生认知过程,游戏程序开发教学的主线按照图1所示:
  框架的教学应该贯穿到这条主线中,具体方法如下:
  在《C++语言》这门课程里,在讲述到封装、继承、多态等概念时,就需要把游戏开发中的一般性问题分析给学生,有意识地引导学生完成精灵类的定义、精灵管理类的定义。此吃,学生还没有学习绘图相关的知识,所有图形的输出可以用控制台输出字符串的方式来替代。在《Windows编程》这门课程里,学生学习了Windows消息循环、图像加载、图像显示等技术,那么需要引导学生完成游戏管理类实现游戏循环、锁定帧频等功能;完成资源管理类实现图像资源的加载;修改精灵类实现利用GDI显示精灵的功能;在《DirectX技术》这门课程里,学生继续学习利用DirectX开发库来完善框架。如在游戏管理类里增加利用D3D准备渲染环境的功能,利用D3D绘制基本图元的方法来绘制一个绑定纹理的矩形的方法来显示精灵。在《三维编程》这门课程里,将精灵类的渲染改为使用D3D中渲染模型的方法来实现3D精灵的渲染。综上,学生在这条游戏开发的主线的学习过程中,始终围绕框架的实现和使用来展开。学生通过在不同的的课程里用不同的知识点一点一点完善游戏框架,可以帮助学生在学习知识点时就把它们综合应用,形成自己的游戏开发能力。同时框架的实现是面向对象的程序设计方法的具体应用,学生在不断的练习实现框架的过程中,能逐渐掌握面向对象的程序设计方法。
  4 小结
  通过几年的教学实践表明,学生通过这种整合了框架设计思想的游戏软件开发主线课程的学习,能较好的掌握面向对象的程序设计方法,形成良好的游戏开发能力,并能在课程设计或者毕业设计这样的综合实践类课程中体现出来。
  参考文献:
  [1]维基百科.面向对象程序设计[EB/OL].http://zh.wikipedia.org/wiki/面向对象程序设计.
  [2]洪洲,蔡木生,罗林.计算机高级语言程序设计(C++)[M].北京:冶金工业出版社,2007:159-160.
  [3]全国科学技术名词审定委员会.框架[EB/OL].http://baike.baidu.com/view/66971.htm.
  [4]罗林.2D游戏中的精灵管理[J].科技创新导报,2009,(23):176.
其他文献
随着高校规模的扩大、教育技术的发展和教学手段的提高,高校多媒体教室越来越多,如何有效管理和维护多媒体教室的设备成为高校管理部门需要认真思考的问题,本文针对多媒体教室管
2012年3月,一篇名为《市长批广图新馆“烂尾”要求年底须全部开放——工期已拖延4年,建设费从8.4亿元飙至13.14亿元》的报道掀起不小的波澜。文章总结了广图新馆自立项以来的漫长
初春时节,驱车穿行在丰都城乡,一幅幅爽心悦目的美景扑面而来:一排排外观漂亮、设计新颖的多层住宅错落有致,绿色的行道树和草坪点缀其中;而放眼城区,城中村正“美丽蝶变”,人行道路
从酒曲中分离得到一株纤溶酶产生菌,经鉴定为菊芋小孢根霉.现对其固态发酵工艺的碳源、氮源、碳氮比、初始pH、含水量、无机盐、接种量、发酵时间、发酵温度和培养基厚度进行研
为了开发新型基因扩增技术,采用两步PCR(two-stepPCR)和rpsL保真度实验等方法,对单壁碳纳米管(single.wallcarbonnanotube,SWCNT)在长片段PCR反应中的增效机理进行研究.结果表明:在长片
重客隆来了,好又多来了……一个又一个商家像中了魔法一般,纷纷前往一个鲜为人知的地方——垫江澄溪镇开店建厂。
一场惨烈的火灾,将3名消防勇士的生命永远定格在2013年的第一天。1月1日凌晨,当很多人还在甜蜜的睡梦中憧憬着新的一年,他们却已经倒在烟火弥漫的火场上。
湖南推行建设以长株潭为中心的“3+5”城市群构想,这是对长株潭经济一体化战略的提升。长株潭城市群在带动湖南省经济快速协调发展,实现资源配置合理化等方面,将发挥更强的辐射带
彭水县委、政府在深入调研的基础上,提出了“立足资源抓产业、抓好产业出特色”的思路,着力在林下经济上寻突破,狠抓“林下种植、林下养殖、林业加工、林果产业、森林旅游”五大
浦东,就这么开放了?这么小的一个门洞,浦东能开放得多大?    曾经的“工农商学兵”    浦东在哪里?这不仅仅是个地理概念问题,而首先是必须先给个时间定位。如果定在上世纪50年代初,那么,我就看到过一条“战斗”新闻,“台湾蒋帮”轰炸机骚扰上海,被击落,其中一架坠落在浦东“塘桥地区的稻田里”。于今,浦东地界上,你依旧时而可以听到或见到“高炮部队驻地”这样的字眼。在2010年初的一次采访中,在当年“