基于Unity3D的少儿编程条件结构游戏设计与实现
2020-10-09朱丽进
摘要:伴隨着科技和互联网的飞速发展,各类学习资源以不同的形式呈现着互联网上,其中利用移动终端游戏的教学形式受到少儿和家长们越来越多的青睐。因此提出了基于Unity 3D来构建少儿编程游戏,设计并实现游戏让少儿理解编程思想中的条件结构,采用C#语言来实现人际交互等相关操作方法。
关键词:Unity3D;游戏;关卡
中文分类号:TP311.1 文献标识码:A
文章编号:1009-3044(2020)22-0077-02
开放科学(资源服务)标识码(OSID):
1 引言
Unity3D是一款针对游戏开发、视景仿真、多平台开发需求用户的三维游戏引擎,基于开源的.net平台,真正实现一次开发、跨平台发布的功能[1]。Unity3D技术在教学领域中有很典型的应用,如医学教育,艺术设计,建筑学和军事航天航空工业教育等等,是教学的一个有效的辅助手段,结合虚拟现实技术可以生动的讲解教学内容,同时可以让学生进行虚拟现实的手术模拟,艺术馆和建筑物的全方位视觉参观,战争模拟武器仿真训练等等,激发学生的学习兴趣,模拟动手实操能力,提高教学效果与质量。
伴随着国内外刮起了全民学编程的热潮,在信息时代的今天,我们生活学习都离不开计算机,大家越来越意识到编程思维有助于开发我们的逻辑思维和解决问题的能力,是一个非常重要的技能。少儿是人生开始慢慢定型的时候,对于编程思维更适合在这个阶段培养起来,因此这几年,在少儿编程领域出现了很多语言,例如LOGO,Scratch.CodeMondey,Lego机器人等[2],每种语言都有它们自己的优点,主要是在实践中学习知识点,这归根到底还是学习。为了不给小朋友们增加学习负担,我们提出以游戏的方式来获取知识,通过设计的游戏,让孩子们在玩游戏的过程中培养孩子的观察能力,动手能力,应变能力,表达能力,团结合作能力,社交能力等,让孩子们全面发展。
编程语言是人与机器之间对话的一种语言,我们应该用发展的眼光对待少儿学习编程,少儿会对编程有更深的理解。本文主要利用Unity3D设计少儿编程类游戏让小朋友了解条件语句结构,从游戏的设定内容,乐趣以及游戏界面和场景的搭建,来让孩子们理解条件语句结构,接触了这些可以培养孩子们的热情,这可能成为他们未来从事计算机科学的动机。
2 条件语句的游戏设计与实现
2.1 游戏设计
在程序中需要相应的控制语句来控制整个程序的执行过程,主要有三大结构:顺序结构、条件结构和循环结构。对于条件结构需要根据给定的条件进行判断来决定执行下一步操作,分为:单分支、双分支和多分支语句。
利用Unity3D游戏引擎来搭建少儿编程游戏开发,针对条件结构部分,我们利用很多道路分支,让少儿玩家进行选择,然后找到最终的目的地。这个思路简单,也很好理解,同时当玩家成功到达目的地后获得相应的奖励,会让他们产生浓烈的成就感,增添了游戏本身的吸引力。
整个游戏设计是需要进行策划,角色设计,场景选择,关卡设计,奖励机制等制定完整的构思和讨论,考虑到是少儿使用,操作要简洁易上手,奖励机制要得当,吸引少儿的注意力。
1)角色设计:小猪佩琦动画深受小朋友们的喜爱,其中故事围绕佩琦的家庭和朋友,跟我们日常生活非常的接近,也比较好理解,而且故事短而精,深受大家喜欢。这里借助小猪的形象来设计游戏中的“佩琦”角色,也会得到小朋友们的欢迎。
2)场景选择:围绕小猪的日常生活,这里的场景我们设计得也不宜过于复杂,主要是家、幼儿园、爷爷奶奶家、朋友家和整个街道路线环境为主。这种生活化的游戏场景选择,一方面考虑到小朋友们接受起来比较容易,另一方面对于小朋友来说可以在日常生活中来锻炼并运用编程逻辑也是很有帮助的,理论和实际相结合,可以将这种编程思维掌握得更好。
3)关卡设置:针对三种不同的条件结构,按照由简人难的原则,设置三个关卡,关卡一最简单:从出发地到目的地中间有一个分支供小朋友选择,选择走这条路可以达到目的地,不走则原地不动;关卡二主要是针对双分支,有两个不同的目的地,根据提问,小朋友选择正确的路到自己想去的目的地;关卡三,这个过程中会出现多个分支,每个分支都会出现一个提问,根据提问选择正确的路,到达最终的目的地。
4)奖励机制:在学习的过程中,我们总是奖励对的,惩罚错的,通过判断来构建自己的认知,所以小朋友们在游戏时,当成功完成关卡的时候会获得对应的小星星,当星星积攒到一定数量可以兑换游戏中的一些小配饰等礼物,来刺激小朋友们的学习动力,激发学习行为的产生。
2.2游戏实现
1)小猪动作:从起点到达目的地,小猪需要向前走,向左转和向右转这几个动作,这里需要搭建小猪的动画状态机,配置好后我们需要来控制播放小猪动作的动画。
先拿到小猪当前动画组件以及当前动画控制器,接着我们可以设置在Update函数中进行检测,如果用户按下“↑”键,小猪前进动画就会播放;如果用户按下“一”键,小猪左转动画就会播放;如果用户按下“一”键,小猪右转动画就会播放。
默认方向是朝“北”,每次转向是按照“90”度旋转,会在“西”,“南”“北”方向切换,根据不同的朝向,每向前一步会修改玩家在对应二维数组下标的i和j的位置。
2)地图生成,使用二维的格子地图,利用二维数组存储数据和进行地图的创建[3]。当用户选择不同的关卡,会调用对应的二维数组进而生成对应难度的地图。
二维数组中的每一个数字代表一个方块,方块中游戏开始的时候自动生成,方块中的数据代表在该地图格子的类型:如果数值为“0”表示没有任何标志;“1”表示正常向前的路;“2”表示路的交叉口;“3”表示迷路了,无路可走路;“4”表示目的地。如果需要设计新的地图,可以更改这些数值,和二维数组中的整体数据。由于Unity3D中创建的游戏场景为3D场景,而地图我们是利用二维数组来实现的,使用时我们需要修改摄像机投影的类型为Orthographic。
3)音效控制
该游戏主要是针对少儿,那么当小猪走到交叉路口的时候需要做出选择,这时候出现问题我们以语音的方式自动播放。事先录制若干个问题语音如“小兔家在我们的左侧”等,并将音频文件放人工程的Asset目录下,当角色位于地图对应数值为“2”的位置时候播放对应语音。
4)得分显示
玩家初始位置pos在整个数组最下方的中间位置,即map[N一1][N/2],朝北的方向。根据朝向和数组中对应数值,来改变玩家位置,当玩家对应位置在数组中的值为4时,表示到达目的地,获得对应的星星积分,关卡一加5分,关卡二10分,关卡三15分。
3 结束语
本文主要研究基于Unity3D引擎来开发少儿编程中条件选择游戏,由于其应用在教育游戏中有很大的优势,视觉呈现方式多样化,用户体验互动性很强。结合Unity3D和少儿编程教育设计并着力开发游戏,后期对于游戏界面完善和循环结构游戏设计需要不断完成。相信在人工智能的大环境下,基于Uni-ty3D游戏引擎下的少儿类教育游戏会像雨后春笋一样层出不穷。
参考文献:
[1]潘丹.基于unity3D的手术训练游戏的设计与实现[D].济南:山东大学,2014.
[2]戚伟慧.少儿编程的可行性研究与分析[J].电子技术与软件工程,2016(24):253-254.
[3]陈俊锋.基于Unity3D的跨平台手机网络游戏的研究与实现[D].广州:中山大学,2013.
【通联编辑:王力】
基金项目:安徽商贸职业技术学院平台基地项目:基于Unity技术的少儿编程教育游戏开发研究(2019ZDX);安徽省大规模在线开放课程示范项目:《Android基础》(2018mooc446)
作者简介:朱丽进(1986-),女,安徽庐江县人,助教,硕士,研究方向为iOS开发及Ul设计。