毕业十年057-开发文字叠叠乐体感游戏

2016年的3月底,淘宝上终于接到了一单生意,来访的客户是一位来自台湾的男士,谈话间得知他们计划是给福利院的儿童开发一款体感游戏,名字是文字叠叠乐。关于叠文字的游戏,在我的印象中,似乎从小到大都没有玩过这样的游戏,在后面需求的详细讨论中得知其大概是游戏内会内置几组有含义的语句,每次参与者开始游戏时,系统程序会随机选择一组语句,游戏参与者可以以叠文字的形式揭开每个字,如果所有字都选择正确则游戏胜利结束,播放胜利视频,反之如果在文字选择的过程中出现错误则失败结束,然后播放失败视频。当次游戏结束后退回菜单界面,为下一个参与者做好准备。

关于界面布局的需求,除顶部显示游戏名字和进入、退出菜单外,整个界面布局分为左中右三列,界面的右侧显示当前语句的文字提示;界面的左侧部分则是竖列显示语句中的每个文字方块,默认是遮挡不可见的,只有当游戏参与者选择正确时才会翻过来显示该文字;界面的中间则有一个骰子样式的的三维模型,骰子的顶部和底部不显示文字,只有侧面的四个面各显示一个文字,但是四个文字中只有一个是正确的,参与者可以左右转动骰子,当选择出正确的文字时,握拳确认选中该文字,此时更新左侧的文字方块并切换到下一个文字的三维模型,知道当次游戏结束。

对于该游戏的需求,得益于我之前研究过的一个虚拟换衣的程序,可以基于虚拟换衣的程序框架实现该游戏的开发,现在的一个难点是如何实现这个骰子样式的三维模型,结合虚拟换衣程序中的衣服的三维模型的实现方式,现在也可以用来设计实现这个骰子模型,其技术基础是3D Max里面的OBJ文件。OBJ文件是一种三维模型文件,支持多边形模型,尤其是支持三个点以上的面,这点很重要,因为骰子的每个面恰恰是由四个点组成的,此外OBJ文件还支持法线和贴图坐标,这样我们就可以把文字贴图贴到一个正方体模型中,当然我还需要额外标记出正确的那个面便于确认游戏参与者是否选择了正确的那个面。至于每个文字的贴图,则需要发挥下我那不太熟悉的PhotoShop技术了,虽然复杂的图像处理不太会做,网上查一查,制作几个文字贴图还是可以的。

每个字的模型确认后,下一步就是如何在WPF界面上显示这个三维模型了,这里我选择了Helix Toolkit控件,这个控件时为.NET开发,可以与WPF界面无缝集成,然后就是Kinect的代码和整个流程的控制代码,这方面我已经有几年的开发经验了。

从2016年4月4日建立初始工程开始到4月22日结束,历时19天的这个体感游戏终于提交给客户了,期望福利院的孩子们能在每天欢欢乐乐的生活,也希望我们保持一颗爱与感恩的心,正如该游戏中的一条语句所言,“愛與感恩是善的循環”。


评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注