基于Unity3D的历史RPG教育游戏设计开发
2021-05-23黄福钰
黄福钰
摘要:依托Unity3D平台开发了以戚继光抗倭为主要内容的历史类RPG教育游戏“抗倭风云”,尝试将答题模式融入回合制战斗,避免游戏沦为披上了游戏外衣的数字化教学练习册,实现教育游戏“教育性”与“游戏性”有效融合,希望可以为历史类教育游戏的设计开发提供一个新思路。
关键词:教育游戏;Unity3D;答題
中图分类号:TP37 文献标识码:A
文章编号:1009-3044(2021)11-0058-02
1 背景
初中历史是学生学习历史基础知识的必修课程,为学生日后深入学习历史知识打下坚实基础,对学生意义重大,目前初中历史课堂教学中存在诸多影响初中生有效学习历史知识的问题,主要体现为三点:忽视学生主体地位,教学方式相对落后,教学策略单一。《初中历史新课程标准》(2019年版)指出在历史教学中要通过多样性的历史呈现方式展现历史事件,激发学生学习历史的兴趣,从多方面提高学生的知识与能力;使学生能够通过多种途径感悟历史,认识历史的时代特征和历史的发展规律。教育游戏的制作依靠多种媒体的相互结合,具有声音、图像、文字、交互等立体式特点,集知识性、趣味性、竞争性于一体,可以作为良好地承载教学内容的教学媒体,既能调动游戏者的参与兴趣,满足他们的好奇心及求知欲,又能让学习者在游戏过程轻松愉快地获取知识技能,完成对知识的学习。本文基于Unity3D开发平台,设计开发历史类RPG(角色扮演游戏)类型的教育游戏,将竞速答题模式融入回合制战斗中,以求达到“教育性”与“游戏性”的有效融合,真正实现“寓教于乐”。
2 教育游戏
关于教育游戏的内涵,国内研究者主要从“教育性”以及“游戏性”两个角度进行探讨,尚俊杰认为教育游戏属于计算机程序的一种,能够给游戏者提供一定教育内容方便其在游戏中进行学习[1]。裴蕾丝认为教育游戏是预设特定教育教学目标,以此指导进行设计开发的游戏,对教育性和游戏性进行有机整合以激发学习者的学习动机,让学习者获得愉快体验的同时完成既定学习目标[2]。《教育游戏产业研究报告》中将教育游戏定义为能够培养游戏使用者的知识、技能、智力、情感、态度、价值观,并具有一定教育意义的计算机游戏类软件[3]。众多研究者认为,教育游戏是游戏与教育相互整合的结果,教育游戏带有游戏二字,原因是其具有游戏的核心特征,不同于娱教技术使用技能训练模式,有明显系统化的游戏特征。在体验层面,教育游戏和商业游戏的目标都是以参与者为中心,力求让使用者获得最佳体验;在目的层面,电子游戏设计主要以娱乐为目的,玩家获得乐趣为主,学习技能为辅,与之不同的是教育游戏在设计时要求玩家在获得乐趣的同时达到相应教育目标,所有参与的玩家都能完成知识与技能的双重学习[4]。教育游戏同时具备教育性和游戏性两种特征,在实际运用中又体现出游戏的激发性、竞争性和反馈性的特点,所以将教育游戏应用于教学中具有巨大的优势,它能够将知识点与游戏紧密结合、激发学习者学习兴趣、给学习者提供主题体验式的学习方式。
3 《抗倭风云》教育游戏设计
“抗倭风云”是一款历史题材教育游戏,游戏的主体内容是七年级课本中明朝时期的历史—戚继光抗倭事件,属于中国古代史中明朝对外关系一节的内容,主要受众是初中生,游戏类型为RPG(角色扮演),游戏的开发流程如图1所示。
3.1 教学分析
“抗倭风云”作为一款历史类教育游戏,主要围绕历史学科设定学习目标。根据《初中历史新课程标准》中规定的历史课程目标:知识与能力,过程与方法以及情感态度与价值观这三方面的目标来进行课程目标设计,选用明朝戚继光抗倭的主要历史事件作为游戏开发的主要内容,教育游戏在反映一段历史事件的同时,必然会涉及历史的各个方面,在设计时除了主要课本内容,将明朝的国情、抗倭时期的政治、军事、经济、文化、外交等知识来作为补充,丰富游戏内容。
3.2 需求分析
现如今初中历史教学还存在诸多问题,主要体现为在教学中学生的主体地位被忽视,传统的课堂教学方式相对落后,教师的教学策略较为单一,教育游戏的出现恰逢其时。分析教学现状,通过问卷和访谈了解教师和学生对于教育游戏的意见需求,教师表示作为教育游戏,应当在保证历史真实性的基础上进行设计,不能篡改历史,游戏在设计上应当具有一定的趣味性和辅导性,在吸引学生的同时能够方便学生在课后自主学习。学生希望教育游戏的操作难度适中,游戏的通关时长控制在30分钟至2小时左右,对于历史类的教育游戏,多数学生要求应符合历史,可以有少量虚构部分。
3.3 游戏详细设计
根据问卷和访谈结果,结合历史类RPG游戏的特点以及多数学生的游戏操作能力,“抗倭风云”采用橄榄结构进行设计,以戚继光抗倭的主要历史事件为主线剧情,发挥想象添加一些分支剧情,分支剧情根据玩家不同表现进行开展,但最终发展都对主线剧情影响不大,有利于在尊重历史的前提下方便玩家自由发挥,增加游戏性。游戏的操作难度适中,游戏所有的交互操作都可依靠鼠标点击完成。
一个游戏的核心机制确定了游戏实际的运行方式:游戏的规则是什么以及玩家如何与它进行交互,游戏设计的灵魂在于如何使游戏核心规则和机制实现共同运作,相辅相成,进而增加游戏的趣味性[5]。设计游戏的规则定义了游戏的具体玩法,如玩家的战斗方式,在游戏中操作的判定,也包括完成任务的方法,成功与失败的判定,积分和奖励策略等。胡立如等通过教育游戏“2048”研究时间限制对于玩家沉浸体验的影响,发现时间限制可以显著调节挑战-技能平衡,过高的时间限制会破坏挑战-技能平衡,降低玩家任务完成的成功率;而质性分析发现有部分实验者在中低时间限制下可以集中注意力又不会被时间限制干扰从而产生了最佳体验[6]。因此在设计限时答题时应注意把握时间限制,让玩家能够得到更好的沉浸体验。“抗倭风云”教育游戏的游戏规则主要是“战斗答题”规则:玩家与敌人拥有四种属性,生命、攻击、防御、智力;当玩家与敌人触发战斗,进行回合制攻击,双方造成伤害依靠攻防属性相减;在进入战斗界面后,屏幕弹出时间栏和答题界面,答题时间为玩家与敌人智力相减,若玩家智力小于等于敌人智力,则答题时间限定为8秒;若玩家智力大于敌人智力,则每多一点智力,增加2秒答题时间。此时玩家有两种选择,答题或不答题,若选择不答题,则玩家与敌人按正常RPG游戏的战斗方式进行战斗。若玩家选择答题,有两种结果,若答对则根据玩家剩余答题时间比值对玩家进行攻防加成,收益巨大,同时触发相关对话、音乐和战斗特效;若答错则玩家受到惩罚,攻防受到削弱,同时触发相关对话、音乐和战斗特效。游戏中玩家战斗胜利可获得经验和金钱,经验用于升级,金钱用于购买装备和物品,玩家升级可提升生命,收获属性点,玩家可按照自身需求对属性点自由分配,这将决定玩家的发展路线,走强攻流、高防流、智力流或平衡流等。根据发展路线的不同,玩家既可以完全不答题,把这教育游戏当成普通RPG游戏使用,也可以按照战斗答题的规则享受答题正确所带来的巨大收益,快速推进游戏剧情。为了提高玩家主动学习的动机,游戏答题正确带来的收益远远大于普通游戏模式,答题错误的惩罚较小,这将极大激发玩家学习的热情。游戏的战斗规则设定如图2所示。
3.4 游戏开发实现
1)“抗倭风云”教育游戏主要依靠Unity3D平台,使用C#语言进行开发,游戏的登录界面使用Unity3D自带的UGUI进行设计,打开Unity,在菜单栏中选择“File”→“New Scene”,在“Hierarchy”面板中新建一个“Scene”场景,在菜单栏中选择“GameObject”→“UI”→“Image”,这样就在“Canvas”中添加了一个登录界面背景,给其命名“LoginUserPlane”,选中,通过其“Inspector”面板中的“Color”选项改变其背景颜色。通过菜单栏中的“GameObject”→“UI”→“Input Field”,在“LoginUserPlane”下添加一个账号输入框,同时通过“GameObject”→“UI”→“Text”添加一个输入文本框,在其“Inspector”面板中的“Text”选项中输入文本“账号”,调整UI的位置,完成账号输入框的制作。依靠同样的操作完成密码输入框的制作、教程和游戏名的制作。登录界面如图3所示。
2)游戏的战斗机制实现,首先制作游戏战斗界面的UI,再将“抗倭风云”教育游戏的相关题目录入“Excel”文件,运行“ExcelToJson”场景,使用挂载在“Main Camera”上“CreatJson”代码文件调用“ExcelLoad.cs”代码文件中的“CreateAllJsonFile()”方法将带有历史题目、任务、敌人属性等数据的“Excel”文件创建成“json”文件。“ExcelLoad.cs”代码文件中“AddRowItemCount()”方法对指定题目的答题总次数和答对数量进行赋值,“GetRowItemData()”方法获取每一行的数据。当玩家接触敌人触发战斗场景,战斗时间读条由“zhandou”Scene中“Canvas”画布中的“Load”物体调用其挂载的“Loading.cs”代码文件里的“Update()”方法每帧進行时间读条判断。显示历史题目选项由“zhandou”Scene中“Canvas”画布中的“Timu”物体调用其挂载的“ChuTimu.cs”代码文件里“Chuti()”方法,判断玩家选择选项由“ToggleChick()”方法实现。玩家做出答题选择后,玩家行为主要由“Player.cs”代码文件决定,“MinusHP()”方法决定玩家受伤方式,“AttackMethod()”方法通过设置玩家攻击方式决定玩家答题结果造成的攻击伤害,“ZhandouUICanvas.cs”代码文件中的“Set()”方法根据玩家答题剩余时间选择“Player.cs”代码文件中“AttackMethod()”方法设置的不同攻击方法,从而使玩家根据答题结果在战斗中获得不同的攻击加成,对敌人造成不同的攻击伤害,至此,一个战斗回合结束。战斗实际画面如图4所示。
3)游戏交互,游戏中大部分交互由鼠标点击实现,玩家的移动依靠鼠标左键点击相应位置进行移动,“CameraRay.cs”文件里的方法每帧通过射线检测玩家点击的位置判断玩家行动,当射线检测鼠标点击目标地点时,挂载在玩家角色模型上的“Player.cs”代码文件将玩家的“Player State”当前状态由“Idle”静止变为“Move”移动,同时玩家身上的“PlayerMove.cs”代码文件中的“Move()”方法被调用。“抗倭风云”教育游戏主要依靠玩家不断完成主线任务推动游戏剧情,将历史事件融入游戏主线剧情以及一系列任务当中,在游戏中通过调用“TaskNPC.cs”代码文件中的“OnMouseDown()”方法,判断当玩家使用鼠标点击相应NPC(非玩家角色)触发主线任务,游戏人物对话文本显示使用了“DoTween”动画插件。游戏中玩家与NPC进行任务交互如图5所示。
3.5 游戏测试打包
游戏总体开发完成后,在Unity3D平台进行多次测试排除BUG,测试游戏的各项功能运行正常,游戏总体运行流畅后将游戏进行打包。Unity的打包过程方便快捷,首先点击菜单栏中的“File”→“Build Settings”,弹出“Build Settings”框,在“Scenes In Build”栏中通过“Add Open Scenes”按钮选择需要打包的“Scene”场景,在“Platform”栏中选择发布平台。设置完成后,点击“Build Settings”框下方的“Build”按钮,选择软件包存放路径,等待打包完成。
4 结束语
本文利用Unity3D游戏开发平台,将答题模式巧妙融入历史类RPG教育游戏,避免游戏沦为披上了游戏外衣的数字化教学练习册,将历史教学内容和答题模式巧妙整合到游戏场景中,让学习者不仅能够沉浸并享受游戏,还可以通过战斗答题以及完成相关游戏剧情任务来获取知识和发展能力,达到“教育性”与“游戏性”有效融合的状态。希望本文能够为其他教育游戏设计者提供些许新思路。
参考文献:
[1] 尚俊杰,蒋宇,庄绍勇.游戏的力量:教育游戏与研究性学习[M].北京:北京大学出版社,2012.
[2] 裴蕾丝,尚俊杰,周新林.基于教育神经科学的数学游戏设计研究[J].中国电化教育,2017(10):60-69.
[3] 吕森林.教育游戏产业研究报告[J].中国远程教育,2004(22):44-47.
[4] 马颖峰,关晶晶,胡若楠.教育游戏中玩家的积极情绪诱发策略研究[J].电化教育研究,2017,38(5):77-82.
[5] Adams E,Rollings A.游戏设计基础[M].徐明亮,译.北京:机械工业出版社,2009.
[6] 胡立如,丁静静,马颖峰,等.时间限制对沉浸体验的影响机制——基于教育游戏情境的实证研究[J].开放教育研究,2016,22(2):113-120.
【通联编辑:谢媛媛】