李晖 朱晓翠
摘要:依据阿尔茨海默病患者的特点,以该病的预防为目标,文中提出了一种基于阿尔茨海默病预防的交互游戏系统,并详细阐述了该系统的设计方案和研究内容,具体有:1)借鉴现有的预防办法,对游戏的流程、交互、姿态和关卡进行了科学有效的设计;2)根据游戏的设计方案,借助于Kinect交互设备和相关开发工具,实现了游戏系统功能模块的开发。最终形成的交互式小游戏系统的逻辑完整,在交互方面符合正常的人机交互模式,用户有着良好的体验。
关键词:阿尔茨海默病;小游戏系统;Kinect交互设备
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2022)05-0001-04
1 引言
随着全世界现代化经济的快速发展,老龄化的问题也越来越严重。截至2019年底,我国大陆人口中年龄超过60岁的大约占了18.1%,而超过65岁的占了12.6%[1]。我国正朝着深度老龄化社会前进,伴随着人口老龄化问题,一系列疾病也因此需要得到特别的关注。其中,最具代表性的就是阿尔茨海默病,据调查,在2015年全球阿尔茨海默病患者达到4600万人,并且此数字增长速度十分显著,预计到2050年该数字将会增长到1.315亿人[2]。全世界无数的人力与财力都投入到了与此病的斗争当中。
截至目前,阿尔茨海默病并没有根治的办法。在此现状下,阿尔茨海默病的预防就成了重中之重。阿尔茨海默病是属于神经系统退行性的疾病,主要的预防渠道包括日常饮食、体育活动以及用脑情况等。本文将主要从体育活动以及用脑情况进行交互游戏的设计。玩家通过大脑的活动做出相应的判断,并进行对应的肢体活动。同时利用Kinect设备捕获玩家的信息,实现人机交互的模式。使玩家在玩游戏的同时,达到对阿尔茨海默病预防的效果。传统的预防过于无趣,基于计算机的游戏恰巧能弥补这一缺陷。
国内马锡超[3]等在临床的应用中获知传统的认知康复训练与虚拟认知康复训练对于阿尔茨海默病前期的认知障碍都有改善效果。并且虚拟认知康复训练在对患者的注意力训练与空间知觉训练等方面效果均比传统的认知康复训练好,通过游戏形式的训练模式更能激发患者主动参与的兴趣与积极性。国外将计算机科学中的虚拟现实与认知障碍相结合的报道较多。Sebastian等将虚拟现实技术用于對视觉认知障碍的训练当中,制作出了穿越虚拟路口的训练工具软件[4]。Chang等制作了结合Kinect的Kinempt系统[5],用于对认知障碍患者的工作提示训练,并且利用Kinect设备,开发了针对提升中老年人群的认知功能的交互游戏,通过3个小游戏对玩家进行训练达到预防以及康复训练的效果。“追寻箭头”需要玩家在五秒内通过双手指示出屏幕中随机五个不同方向的红色箭头,“对号入座”需要玩家用双手匹配屏幕中的图形符号,“打松鼠”需要玩家规避金色松鼠,击打其他颜色的松鼠。
在此背景下,本文介绍了当前阿尔茨海默病的现状与特点,并结合微软提供的Kinect体感设备,使用Unity3d作为游戏开发引擎,采用主流的开发工具,设计一款预防阿尔茨海默病的三维空间的交互式体感小游戏系统。
2 游戏设计目标
游戏设计目标主要是达到预防阿尔茨海默病的效果,通过用户对本游戏的游玩,在游戏过程中充分锻炼了自身的短期记忆力与逻辑能力,同时利用Kinect设备使用户的肢体得到适当的活动甚至达到训练的效果。为预防阿尔茨海默病患者设计,而真正的患者大多为65岁以上的老龄人群,但我们希望低龄人群也可以适应此游戏达到益智的效果,所以目标用户的范围就会比较大,与0-100岁的小孩这个比喻比较贴切,因为往往老年人随着年纪的增大,身体机能也会随之开始正常的衰退,表现得更像一位小孩。因此在游戏画面以及风格上不宜过激,在声音方面也需要比较柔和平缓的音乐,不需要太多华丽的操作效果,游戏难度上也需要缓慢地推进。同时考虑到女性患者远高于男性,在场景界面设计方面会更偏向简约风格。
在现有医学技术之下,并没有确定的方法可以完全治疗阿尔茨海默病。针对于此结论,游戏设计的关注点在如何有效的预防发病。根据上海体育学院徐琼的研究,体力活动水平的影响随着年龄的增加而不断变大[6]。老年人群体力活动水平较低,高体力活动水平可以降低轻度认知障碍患病的风险。结合阿尔茨海默病初期病患的表现特点,患者会出现记忆力衰退,逻辑能力下降,视空间能力下降。现有的预防建议,主要包括脑部与肢体的锻炼,以及生活饮食习惯。因此,此类游戏玩法设计上应着重考虑对用户的记忆力训练和逻辑能力训练。
3 系统设计方案
3.1 游戏总体流程设计
用户点击游戏软件后,用户首先需要在Kinect设备的可视范围内做出“T”字形姿势,完成Kinect的初始化,并获取用户信息ID。游戏主界面中,应有三个按钮:闯关模式、训练模式、设置。用户通过移动双手来控制屏幕中的虚拟手掌移动,移动到按钮上握拳等待进度条完成进入下一界面。闯关模式中,随机调整关卡一和关卡二的出现顺序,完成关卡后记录得分,计算出玩家操作分对下回合闯关模式难度有所影响。训练模式中,用户可以自由选择关卡进行训练,每个关卡有三个难度可供选择。关卡一中,用户通过肢体搭建出正确的桥梁,使小车进入右侧相同颜色的管道中得一分。关卡二中,用户通过选择出数字最大的选项第一分。游戏的具体流程设计如图1所示。
3.2 游戏交互设计
交互即交流,游戏交互设计和其他产品交互设计又有所不同。交互设计是设计用户和某一种对象之间的互动行为,从而给用户更好的体验。那么游戏交互设计正是设计玩家与游戏世界之间的互动[7]。本文按照图2和图3所示的交互方式完成系统与产品,用户与系统的交互任务。
结合所采用的是Kinect的交互设备,Kinect体感交互的实现,主要利用捕获人物的关节点信息、手部姿势信息和声音信息来触发相应的操作,完成人机交互的模式,Kinect设备交互流程如图4。
游戏中主要的交互存在于两个方面:用户在主界面与UI的交互、用户在游戏关卡中与游戏本身形成交互。关于与UI间的交互,充分发挥Kinect传感器的优势,依托传统的键盘鼠标与手柄。获取左右手关节点的信息,经过转换在屏幕中实时展示左右手的位置,代替了传统鼠标移动的效果,当虚拟手掌移动到可交互的UI上,则会进行UI的高亮显示来提示用户。为了完整地代替传统鼠标的功能,鼠标点击的操作采用了用户握拳的操作来代替,一方面Kinect v2可以获取到了左右手的张开和闭合两个状态,另一方面已经通过使用左右手在三维空间中的滑动代替了传统鼠标的移动,结合上采用左右手的闭合表示按下鼠标左键,使得在某种意义上用户的双手已经能够很好地替代了鼠标的功能,给用户更具有沉浸式的游戏体验,具体如图5所示。在传统游戏中,当用户点击下鼠标后更希望立马得到反馈,不然就会被当作网络延迟,给用户糟糕的游戏体验。可是在Kinect设备下,当用户将屏幕上右手挪动到某个按钮下并握拳,如果没有丝毫延迟地跳转了界面完成交互,这并不会给用户良好的交互体验,反而是让用户等待一段时间后再实现交互更好,唯一需要补充的是一定要让用户等待的时间进行可视化,所以本次采用了在点击按钮之后进行进度条读取,完成进度条读取之后再开始交互。
接着需要设计姿势的交互,可按表1所示内容对其进行详细设计。
3.3 游戏关卡设计
关卡设计对于整个游戏都至关重要,根据游戏关卡要素的设计内容,在设计不同关卡时要明确这个关卡设计出来的目的是什么,当用户通过此关卡达成的成就或者被给予的奖励是什么。同时在不同的关卡中也要有难易程度的区分。本预防阿尔茨海默病的交互游戏可设计为两个游戏关卡和两种游戏模式,具体如下:
关卡一:匹配小车,流程如图6。左侧从三个不同颜色的管道中出现匀速行驶的小车,右侧有不同颜色的三个管道,具体如图7,用户通过摆动左右手臂搭建出正确的桥梁,使小车触发的管道颜色与右侧进入管道的颜色相匹配则得分。
关卡二:选出大数。屏幕中会定时出现四个气泡数字,四个气泡大小不同,上边的数字也大小不同,气泡生成的位置也不同,如图9。气泡大小会影响到数字的字体大小,用户需要选择在规定时间内选择出数字本身较大的数字。
模式一:闯关模式。在主界面进入此模式,随机出现关卡一和关卡二,分别记录下通关后的分数,计算出操作分,用户在上回合中的操作分会对下一回合关卡难度进行相应的调整。
模式二:训练模式。在主界面进入此模式,用户可以指定进行关卡一或者关卡二的训练,在训练模式中进入关卡,每个关卡有三个可供选择的难度。
4 游戏实现
4.1 开发工具与开发环境
根据本游戏的主要设计内容和开发要求,本文采用了表2所示的开发工具和环境。
4.2 游戏功能模块的实现
由于本文所述的游戏内容较多,限于篇幅,下面仅列其中三个功能模块进行阐述。
1)深度数据流追踪功能的实现。和许多输入设备不一样,Kinect能够产生三维数据,它有红外发射器和摄像头。Kinect SDK从红外摄像头获取的红外数据后,对其进行计算处理,然后产生景深映像数据,具体如图10所示。深度数据每像素记录16位,也就是说每个像素的深度数据每需要2个字节,每个像素的深度只记录在16位中的13位,所以很容易得到每个像素的距离,但是在直接使用它时,需要将游戏者索引位移除。Kinect之所以能感知外界环境,主要用到黑白光谱:在深度图像中利用纯黑表示无穷远,利用纯白表示无穷近。图像中每一个像素的颜色则对应了外部环境中的真实物体到Kinect传感器的物理距离。Kinect接收获取范围内的所有的点并显示他们的深度的图像。Kinect传感器产生的深度数据流,以每秒30帧的速度实时地再现外部环境。
2)骨骼数据流控制功能的實现。骨骼追踪技术是Kinect的核心技术,其技术是通过红外线投影机来感知外部环境的。所以,外部环境中是否有光照,并不影响Kinect的骨骼追踪功能。Kinect骨骼数据流的获取过程为:首先由Kinect红外线投影机发生红外线,并由深度(红外)CMOS摄像头接收外界物体对红外光的反射,从而可以计算出视野范围内的每一个像素点的深度值,从而绘制出深度图像,再从深度图像中提取物体的形状,然后利用物体的形状信息与人体各个部位进行匹配,最后计算出人体的关节位置即人体的骨骼数据流,该功能的实现结果的直观表示如图11所示。
3)关卡一随机车辆生成功能的实现。根据前几节已经完成的功能,用户摆动手臂带动虚拟手掌在按钮上握拳则切换界面进入游戏关卡界面。关卡一中要是小车随机在左侧的管道生成,并且给小车一个匀速的运动。因为受到重力的影响,如果没有使小车从左侧管道进入桥梁的话,小车便会落下并且掉出游戏界面,在游戏界面外,如果小车坐标的y值小于某个特定值则判定为小车出界,重新生成小车。判断小车的x值,如果x值大于某个特定值则判定为小车到达终点,无论正确与否,重新生成小车。通过一个随机数改变小车的出生的管道。小车颜色均为白色,用户需要判断小车生成的管道位置,做出左侧桥梁的选择,同时需要记住小车出生的管道,为右侧桥梁搭建做准备。具体的实现效果如图12所示。
4)关卡二的用户选择数字功能实现。关卡二中的交互流程,和点击按钮功能类似,通过现实世界中用户摆动双手改变游戏场景中虚拟手掌的位置,通过虚拟手掌与数字之间的坐标判断,同时当坐标吻合时闭合手掌则判定为用户对数字做出了选择。其实现的效果如图13所示。
5 结论
本文首先对不同用户进行了分析,结合阿尔茨海默病的病症特点,对游戏进行合理的设计。系统设计主要包括整体设计、交互设计、关卡设计和功能设计,继而根据游戏的设计方案进行了具体开发,主要有使用Kinect SDK完成了Kinect与Windows的通信,借助Kinect2.8.unitypackage插件完成了Kinect与Unity3d的通信,在Unity3d中利用微软的Visual Studio 2019进行各功能模块的开发。本文提出的设计方案逻辑结构完整,系统功能特色鲜明,既具有常规游戏的娱乐性和趣味性,又可对操作用户产生一定的阿尔茨海默病预防效果。
本文较为完整地提出针对阿尔茨海默病预防的游戏设计方案和简单的功能模块实现,对于该类商业游戏的设计有着一定的借鉴意义。然而,在声音、音效、可玩性等诸多方面存在不足及需要完善的地方,未来应根据商业化标准和要求,在性能与功能方面不断改进游戏系统。
参考文献:
[1] 王昳丽,姚志萍,倪英,等.认知训练改善老年轻度认知障碍的研究[J].老年医学与保健,2021,27(4):763-765,813.
[2] 侯继文.轻度认知障碍影响因素分析及决策树模型研究[D].青岛:青岛大学,2020.
[3] 马锡超,朱诗洁,林洋,等.虚拟现实技术对脑卒中后认知功能障碍患者康复疗效的Meta分析[J].中国循证医学杂志,2021,21(8):907-914.
[4] 孙强.视觉意向维度下虚拟现实技术具身关系研究[J].东南传播,2021(2):6-10.
[5] 景静.记忆训练对遗忘型轻度认知障碍老年人记忆力的影响[D].北京:北京协和医学院,2013.
[6] 徐言东,邹任玲.基于Unity3D的轻度认知障碍康复训练系统[J].软件导刊,2020,19(9):119-121.
[7] 刘佳琪.基于用户体验设计中的微交互设计应用研究[J].科技与创新,2021(16):25-26,28.
【通联编辑:李雅琪】
收稿日期:2021-10-10
作者简介:李晖(1977—),男,江西南昌人,通信作者,高级工程师,硕士,主要研究方向为计算机应用研究;朱晓翠(1981—),女,江苏扬州人,副研究员,学士,主要研究方向为计算机应用及研究。