Flash游戏设计教学中项目教学法的运用论文
0 引 言。
Flash 游戏设计是高职游戏软件专业的核心课程。对高职学生而言,该课程的实践操作性强、涉及知识面广,需要扎实的理论基础和熟练的编程能力。由于高职学生的基础相对较弱、自我学习主动性较差、同班学生水平参差不齐,因此,如何有效地调动学生的学习积极性,让学生“愿意学”且“能学好”,是高职教学中必须面对的一个问题。
移动互联网的浪潮和智能手机的出现,让手机游戏
呈风靡之势。传统的游戏开发教学亟须转型,应将人才培养目标定位转至手机游戏开发。
目前手机游戏开发教学领域主要分为安卓游戏开发和苹果游戏开发两大块,学生学习的内容多,往往是学安卓开发时就忘记苹果开发知识,如此反复,学习难度大。如何结合 Flash 跨平台的特点,探索一种有利于学生学习且能适应手机游戏发展趋势的教学模式,这一点非常重要。
1 基于Starling游戏引擎的项目教学法简介。
项目教学法是指师生共同实施一个完整的项目工作,通过收集资料、调查研究、设计方法、加工制作、成果展示和评估等途径完成项目的教学方法[1].它起源于美国,盛行于德国,强调个性化和层次化的人才培训理念,非常适合高职教育。该教学法中,项目的选取和设计是关键,通常根据课程自身特点,选取贴近行业岗位需求且适合教学的项目。
Starling 游戏引擎是在 Stage3D 应用程序接口基础上开发出的一种 AS3.0 开源框架,它为 AS3.0开发人员而设计,直观且容易使用,集成了游戏开发中常见的场景、动画、音效、碰撞检测、渲染等模块,利用它能快速地写出游戏。因此,将Starling 引擎作为项目教学平台有如下优势:
(1)引擎本身是开源的,方便获取,不存在版权问题。
(2)Starling 引擎出现多年,在国内形成了庞大的技术圈,学习的文档、教程等资料非常完善,比较方便组织教学内容。
(3)Starling 引擎是跨平台的,在上面使用 AS3.0 开发的程序能同时发布在 Windows、Android、iOS 平台,可适应移动手机游戏开发的教学需求。
(4)目前利用 Starling 引擎开发的开源游戏比较多,这些游戏项目的源码质量高,是行业内一线程序员完成的作品,具有较高的学习价值。通过开源游戏项目的学习,能极大地拓宽学生的技术视野,规范学生的编码意识,这是传统教材无法相比的。
(5)学生利用 Starling 引擎能方便地编写出游戏,极大提升其成就感,增加其对游戏开发的兴趣。此外,接触开源引擎,并获得与企业工程师直接交流、学习的机会,缩短了学生过渡到企业职业人的时间。
鉴于利用 Starling 引擎进行教学的优势,结合游戏开发实践性强的内在特点,在 Flash 游戏设计课程中可引入 Starling 引擎开展项目教学。
2 在Flash游戏设计教学中的应用。
2.1 基于 Starling 引擎的游戏项目选取。
教学项目作为项目教学法的主线,所涉知识点必须涵盖对口工作岗位的主要技能。目前Starling 游戏社区非常活跃,已经产生了许多优秀的开源游戏,如城市英雄、狂野战斗、奥林匹克之河等,为教学内容的选取提供了丰富的素材。本着“紧扣主题、点面结合、强调实践”的基本原则[2],可选择经典的城市英雄游戏作为课程的教学项目,它的主要特点有:
(1)游戏的趣味性较强,且题材是当前流行的跑酷风格,很适合学生的审美品位,将其作为教学项目让枯燥的游戏开发课程有了新的活力,提高了学生的学习兴趣。
(2)整个游戏的设计相当完整,包括了游戏的新手引导模块、选关模块、场景切换模块、道具模块、特效模块、排行榜模块,能让学生较为全面地了解游戏开发的流程和主要功能模块。
(3)游戏的逻辑简单,整体难度非常适合职业教学。
(4)开源代码质量较高,积累了优秀的设计模式、编码规范和编程技巧,这些都能为教学所用。
2.2 游戏项目的教学适应化改造。
合适的游戏项目选取为课程的开展奠定了坚实的基础,但要将其引入高职教学课堂,还必须做精心的设计,对游戏项目内容做适当的裁剪和调整。
首先,教师须明晰游戏本身的开发细节,将原始项目中商业化因素比较高的模块剔除,让教学项目不依赖于第三方收费软件也能顺利开展。
其次,需要对游戏项目的搭建进行本地化改造,选取学生容易上手且汉化程度较高的开发软件,以方便学生掌握游戏开发环境。再次,须准备好引擎的学习资料、项目的完整源代码,以便于学生理解。最后,要对游戏的功能模块作相应的教学内容提取,按照由简单到复杂的原则设计出一个功能不断迭代的教学版本,并制订开发计划日程表,让学生在学习的过程中体验企业正式项目开发的流程[3].
经过几个学期的教学实践,对项目教学内容不断打磨,最终确定的教学内容版本主要包括游戏主界面学习、游戏场景学习、游戏碰撞检测学习、游戏资源管理学习和游戏打包发布学习。
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.
- 相关推荐