论文部分内容阅读
摘要:网络游戏产业是目前飞速发展的高新产业,但高素质的游戏开发人才匮乏已成为制约产业发展的瓶颈。本文分析了游戏开发教育过程中遇到的问题,提出了在游戏开发教学的主线课程中整合框架设计思想,帮助学生形成面向对象程序设计思想,形成游戏软件开发能力的新方法。
关键词:游戏开发教学;面向对象程序设计;框架;课程整合
中图分类号: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.
关键词:游戏开发教学;面向对象程序设计;框架;课程整合
中图分类号: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.