计算机游戏设计课程实训案例库建设研究
2016-12-29王欣
摘要:针对目前计算机游戏设计课程案例库存在的内容陈旧、技术覆盖面窄等问题,综合考虑计算机游戏编程的特点与软件工程专业人才的培养需求,提出由易到难、由简到繁地进行计算机游戏设计课程实训案例库建设。阐述教学实践中的实际应用,验证实训案例库建设方案的可行性。
关键词:案例教学法;案例库;计算机游戏设计;实训
引言
动漫游戏文化创意产业是21世纪的朝阳产业。计算机游戏设计课程作为数字媒体专业软件工程硕士的核心课程,系统介绍游戏设计方法和开发技巧,重点讲授游戏开发所必需的二维图像、三维图形、动画、人工智能等专业知识。多年教学经验表明,在教学方法上,该课程必须结合案例教学法,通过游戏案例启发性地说明游戏设计的各种原理和方法,才能达到良好的教学效果。然而,目前该课程教学过程中可用的游戏案例数量少、类型单一、案例陈旧、编写不规范,无法满足数字媒体学科方向硕士研究生的培养要求。
为增强该课程的教学水平,切实提高计算机游戏设计课程的教学质量,应加快建设计算机游戏设计课程案例库,深入研究该课程的实训案例库教学方法。
1 设计思想和总体结构
动漫游戏产业对未来游戏设计人才的需求,更倾向于具有较强的实际工程能力。结合案例库的教学方法,是一种面向未来的致力于提高学生需求分析能力与编程实践能力的新教学模式,对培养理论与实践均衡发展的高素质人才具有重要意义。
计算机游戏设计课程实训案例库建设,将案例介绍和分析过程流程化与规范化,将案例教学与实验教学相结合,为学生提供更多的标准化典型案例,使学生在不断更新的、接近产业实践的教学环境中学习游戏开发,更快地接受相关理论知识,提升其实践能力。
在深入剖析国内外经典案例库建设方案的基础上,笔者设计了符合动漫游戏产业发展趋势的游戏设计案例库,其总体结构如图1所示。
2 计算机游戏设计课程实训案例
案例库以现有的计算机游戏设计课程为基础,从实用角度出发,以游戏引擎开发为主线,采用项目导向、任务驱动的方式,生动详实地展现游戏设计的基本原理、概念、技术和方法。计算机游戏设计课程实训案例库划分为经典案例篇、基础知识篇和引擎设计篇等3篇,共包含10个精选案例。
2.1 经典游戏案例
经典案例篇分析国内外著名游戏公司的经典游戏案例,并介绍目前最热点的游戏开发平台,同时结合吉林大学计算机学院2013年开发的一个实际项目——交互式虚拟物理化学实验室平台,对游戏引擎的应用进行详细分析。虚拟交互实验室案例采用Unity Technologies开发的unity3D游戏引擎,针对中学的物理、化学实验课程设计并开发。该实验平台实现了共计50个独立运行的交互式三维仿真实验,能够帮助中学生在轻松的游戏氛围中,理解物理、化学的理论知识,提高其实验操作能力。
2.2 基础知识案例
基础知识篇通过结合知识点的案例,由浅入深地介绍游戏设计技术。旋转彩色正八面体绘制案例中,首先绘制一个正八面体,并采用帧更新思想实现该几何体的旋转运动。正八面体光照案例中,为正八面体增加光照,以增强几何体的立体感。倒映正八面体案例利用模板测试技术,在场景中渲染出两个正八面体,一个是几何体本身,另一个是几何体在镜面的倒影,其实现效果如图2所示。天空、地形和网格绘制案例中,天空盒使用一个球体表示天空,然后为该球体赋予相应的纹理,其实现效果如图3所示。碰撞检测与拾取案例对一个球体和一个茶壶进行碰撞检测,如果检测成功则弹出“击中”对话框,其实现效果如图4所示。
2.3 引擎设计案例
引擎设计篇通过不同类型游戏引擎开发的需求,给出综合案例。首先是模拟自然景观游戏引擎,引擎包括浮云、海浪、雨滴和喷泉的三维效果。第二是运动洒水车游戏引擎案例,其主要元素包括球面天空、地形和洒水车;引擎还能够控制自然光的位置,形成洒水车在地面上的阴影。地空对战游戏引擎案例完整地构建了一个地空对战的游戏引擎,引擎的主要元素包括直升机、粒子枪、天空盒和地面。直升机的数量设定在一定范围内,直升机的飞行轨迹由玩家通过键盘输入进行控制,并采用时间变化量控制画面的移动。引擎读取网格数据,创建并绘制远处和近处的直升机,玩家通过键盘控制粒子枪的方向和粒子的发射。当直升机被击中时会产生爆炸效果,并绘制爆破火光,直至直升机坠毁消失。
3 案例教学内容安排及教学组织
计算机游戏案例教学根据游戏设计课程的特点对知识点进行整合,引入针对性较强的实训案例,实现从各个核心知识点到实用游戏程序的无缝衔接,使学生学习时更有针对性,进而提高教学的有效性。
在实训教学的前期,当学生学习颜色、光照、模板等教学内容时,选择单项的案例编程,目的在于让学生掌握计算机游戏设计的基本知识点。当学生学习网格、地形、粒子系统等教学内容时,展开综合案例项目的编程设计,每一个案例项目都以之前的案例项目为基础,且在每一个案例项目中,各个步骤也通过内在关联拓展而成。
根据教学内容建立实训案例库,确保教学效果。每个模块教学前,先给学生介绍实训案例并演示效果,精选一些有趣的案例学习基本理论、数学推导,让学生轻松掌握世界坐标变换、取景变换、背面消隐、投影等相对单调的程序模块编写方法。
在完成案例教学与实训练习的基础上,组织学生以小组形式参加项目设计。通过模拟游戏公司的开发过程,按照现有游戏引擎中渲染绘制程序的功能要求,开发实现案例库中引擎设计篇的小型游戏引擎,让学生在真实的编程情景中做自己感兴趣的项目,体会学与用的结合,激发学生的编程热情。通过这些案例项目的实施,让学生在实践中运用所学的理论知识,完善自己编写的程序,提高编程能力及编程技巧,并深刻理解理论教学环节中学习的知识点。
4 结语
计算机游戏设计课程实训案例库被应用于我校2012-2015级数字媒体专业计算机游戏设计课程。在案例教学过程中,经典游戏案例的学习激发了学生的学习热情;基础知识案例为学生学习游戏设计打下了良好的技术基础,引擎设计案例在给学生提出一定挑战的基础上,提供了一套可供参考的范例,使学生在游戏开发实践中,设计思路清晰,调试目标正确,提高了学习效率与学习效果。
计算机游戏设计实训案例库建设有助于改进传统教学存在的不足,有效地提高了学生的学习兴趣,加深了学生对理论的理解和掌握,增强了运用技术的能力。同时,实训案例库建设是一个持续的过程,教师在建设案例库的同时,应注意根据行业发展动态,及时更新并调整案例,以保证学校与行业的无缝对接,建立培养优秀人才的优质资源。