2.3 教学中游戏项目的应用。
在具体的教学实施过程中,采用功能原型迭代的设计思路,将整个项目的教学内容拆分成 7个工作任务(见表 1)。学生通过完成工作任务学习相关开发技术,每个工作任务中学习的知识和方法都是学习下一个任务的基础,构建出循序渐进的学习内容。
具体工作任务的实施分为任务引入、功能讲解、内容深化、知识归纳、模拟训练和任务总结6 个步骤,形成以工作任务为中心、理论与实践相整合的一体化教学模式。以“游戏界面的实现”
这一工作任务为例,其具体实施步骤为:
(1)任务引入。教师首先演示游戏的各个功能界面,然后向学生提问:“如果让你们实现,应该使用什么技术?”经过引导分析,让学生对功能的实现产生好奇心,并使其对接下来要讲解的实现原理充满期待。
(2)功能讲解。教师分析各个界面之间的切换是通过显示和隐藏界面来实现的,重点分析如何控制界面是否显示,并从游戏的整体架构上分析界面之间的连接关系。
(3)内容深化。基于功能讲解的原理,让学生利用刚学的知识在游戏主界面上添加一个帮助按钮,引出帮助界面,帮助界面上要设置返回到主界面的入口。
(4)知识归纳。将实现各个界面显示和跳转的知识、技能进行总结,关键代码和原理以文档的形式进行说明。
(5)模拟训练。让学生独立实现一个类似游戏主界面的功能,如道具管理界面,要求在界面上实现道具的使用、购买、删除按钮,并支持快捷键显示和隐藏功能。
(6)任务总结。任务完成后,教师对学生的整体学习情况作出总结和评价,学生通过任务过程中的经验收获进行自我评价 ,最后选出有代表性的作品在班上进行分享和讨论,促使学生将所学知识转化为解决问题的能力。
3 教学效果及分析。
为了真实掌握应用 Starling 引擎项目进行教学的效果,本着客观、公正、负责的态度,可使用问卷调查和访谈的形式对采用 Starling 引擎项目教学的前后进行效果分析。
游戏软件专业 2011 级和 2012 级两个班均开设了 Flash 游戏设计课程,其中 2011 级学生没有采用 Starling 引擎项目教学,而 2012 级应用了该引擎进行教学,发放问卷 96 份,回收问卷和有效问卷都是 96 份。本次调查主要从学生的学习兴趣、课程内容掌握程度、学生职业技能培养等方面进行对比(见表 2)。从表 2 可以看出,采用 Starling 引擎项目教学后,学生在学习积极性、课程内容学习情况、职业技能提升方面都有了明显的改善。
通过对学生进行访谈,我们发现教学效果提升的关键在于教学内容的改革。按照 Flash 游戏教程组织教学的传统教学模式,模块化非常独立,知识点的衔接度不好,常常要学完整个课程内容后学生才能做出相对完整的游戏,且传统教材中的项目案例较为枯燥乏味,从而导致部分学生在课程中间甚至开始阶段就对该门课程失去兴趣和信心。基于 Starling 引擎的城市英雄游戏项目涵盖了整个游戏开发的基本流程,游戏框架的建立非常容易,能让学生在较快时间内做出自己的游戏,这对学生的学习兴趣提升非常关键。此外,改革后的教学内容极大地拓宽了学生的技术视野,提升了学习主动性。由于城市英雄项目中还涉及其他开源项目(例如 Box2D 物理引擎等),学生在学习碰撞、检测知识内容时,主动要求教师讲授该物理引擎的知识,部分学生还在班内分享自己的学习心得。目前,2012 级的大部分学生养成了访问开源网站、关注业内技术动向的好习惯,这对其职业能力的提升非常有益。
采用游戏项目教学后,学生在学科竞赛方面也取得了突破(见表 3)。学生的作品创作能力得到较大提升,1/3 的学生能够通过精心设计,独立编码完成学院比赛作品题目,这与课程的教学改革密不可分。由于教学项目简单易学,游戏整体结构完整,在教学项目的框架基础上能较方便地进行扩展,学生腾出了更多时间用于创作思考,而不拘泥于游戏本身的实现。
4 教学中的实践体会。
4.1 选取项目的要求。
在进行项目教学法的实践中,切忌选择大而全的项目,应该结合学生素质、实践环境、课时安排等综合因素,选择有较多参考资料、源代码完整、整体框架清晰的项目,并确定其具有一定的技术示范作用。可尽量选择当前流行型的游戏项目,这样的项目可玩性强,学生愿意学且易获成就感,在体会项目高实用性和丰富内容的同时,还能学到许多实际的开发技巧和设计模式。
4.2 注意基础理论知识的学习。
基于 Starling 引擎的项目教学需要学生具有一定的基础知识,在实施过程中不能因为课程重视技能训练而忽视理论知识教学。教学时不能急于求成,应该与其他教学法(如讲授法、案例教学法等)进行组合,循序渐进地开展教学任务。
此外,要善于进行经验总结,针对不同认知能力和知识水平的学生及时调整指导方法,做到以学生为本,从学生的实际情况出发,更好地发挥游戏引擎在项目教学中的作用。
4.3 教师综合能力的要求。
该教学法选用贴近真实产品的项目作为教学内容,对任课教师的要求较高,教师须同时具备较高的理论素养和丰富的实战能力。
首先,教师在业务技能上要紧跟当前流行技术。很多教师毕业后直接任教,没有在一线企业从事开发工作的经验,编程能力和技术视野都存在缺陷。业务培训可以解决教师实践能力的不足。教师应经常参加行业组织的相关技术开发培训,多和企业开发人员接触,了解最新开发技术,深入开源社区,学习各种相关前沿技术。
其次,教师须有较好的教学方法,能引导学生按项目任务计划进行进度实施,形成以“学生为主体,教师为导向”的教学模式[4].在给学生搭建好教学框架后,教师更多的责任是引导、解惑以及督促,充分挖掘学生的学习积极性和创新性,与学生保持课后的交流沟通。
4.4 注意评价方式,避免两极分化。
引入分组评价,让项目中每个成员明确分工,各司其职,皆有成果。部分学生由于基础较差或动手能力较弱而缺乏自信心,在项目的实施中不愿意承担任务,对组内成员依赖程度高,久而久之出现学习效果两极分化的情况。因此,项目评价得分可由教师评价、自评、组内成员互评3 部分构成,尽可能做到公开、公正。针对实力较弱的学生,采取教师重点辅导、团队成员尽力帮助的策略,避免其产生依赖思想。
5 结 语。
基于 Starling 游戏引擎的项目式教学法在Flash 游戏设计课程中的应用是行之有效的,充分发挥了学生的主观能动性,取得了良好的教学效果。网络开源项目贴近企业真实产品,如何合理地选取、组织项目素材,并科学地对项目进行教学化改造是今后仍然需要探索研究的课题。
参考文献:
[1] 郭晓俐。 项目教学法在多媒体课件制作课程教学中的应用[J]. 计算机教育, 2012(6): 75-78, 82.
[2] 贺平。 项目教学法的实践探索[J]. 中国职业技术教育, 2006 (22): 43-44.
[3] 徐红勤。“引擎教学法”在“J2ME MIDP手机游戏设计”课程中的应用[J]. 计算机教育, 2008(20): 70-71.
[4] 谭论正, 刘艳飞。 项目教学法在Flash动画制作教学中的应用[J]. 计算机教育, 2009(4): 122-123.