霸王移山

  小霸王家门口被大山挡住了,有一天,他遇到了一个姓愚的老头子...
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

3D-记忆翻牌

Posted on 2011-03-21 23:59  霸王移山  阅读(1307)  评论(3)    收藏  举报

3D-记忆翻牌】 

3D-记忆翻牌(LinkUp3D)是由余江伟(本人)和李鹏飞一起开发的3D休闲小游戏,并作为我们的Pair Work项目发布。

--游戏下载--

https://files.cnblogs.com/banana-totolv/LinkUp3D.rar

--游戏简介--

起初我们希望尝试改进一些小游戏来完成我们的项目,主要想法是将小游戏从2D平面转移到3D立体空间中。综合了难易程度的考虑,我们发现windows7 Purble Place下的Purble Pairs(记忆翻牌游戏),很方便实现我们的思想。

 

Purble Pairs

传统的记忆翻牌游戏(Purble Pairs)是将一对一对的图片朝下摆好,每次翻两张,如果不是一对的话则盖回去,是一对的话,将其挑出,放于一旁。匹配所有图片才能获胜。

改进的3D-记忆翻牌游戏将游戏从2D平面转移到3D魔方,规则与传统的记忆翻牌游戏类似,不同之处在于需要玩家不停翻转魔方寻找配对的图片,由于对普通人来说,3D记忆的难度要高于2D,最后我们采用三阶类魔方作为游戏主体。

--游戏细节/特点--

1、游戏采用简单3D界面

2、提供easy、medium、hard三种难度选择(区别在于立方体Size的不同)

3、键盘上下左右控制立方体旋转

--游戏界面--

LinkUp3D – Medium模式

界面左上角为游戏时间,右上角为游戏分数。立方体每个面有相同的覆盖色,玩家需要上下左右翻转立方体寻找配对。

--收获--

       两周的时间,陌生的技术,还要面临毕设开题的任务,对初次开发游戏程序的我们来说确实是一大挑战。

       在第一周,我们主要面临选题和学习技术的任务:由于没有游戏开发的经验,需要对工作量和所需时间进行合理的估计,要求项目难度不能过高。这周我们主要讨论了连连看、扫雷等游戏的“3D”版本:包括足球面、轮胎面、带经纬线的球面以及最终选择的立方体。同时我们从图书馆借来了WPF的参考书籍进行快速学习,一边讨论游戏特色一边估计程序实现的难度。最终,我们参考了《Practical WPF Graphics Programming》一书中的3D图形构建技术,把每个小立方体的面作为一个对象Piece,使用绘制Mesh的方法呈现了一个大立方体;通过定义每个Piece的动画规则(Storyboard)和按坐标轴的方式实现了立方体的旋转。第一周总体实现了三维模型的构造,这部分我们的工作量基本相当。

       第二周主要讨论了几种游戏原型(连连看、扫雷等)的这个三维模型上的可玩性。经过对室友的采访和探讨,我们发现二维连连看的主要难度在于发现同一边缘列或行上的一对图片。如果我们简单把连连看变成三维,可能就失去了这种feature,而过多的规则又会使得本身简单的游戏变得复杂。在否决了连连看的同时,我们想到了“麻将”游戏(不是4个人打那种),感觉叠在一起的牌不好扩展到立方体上,继而想到了这个易玩易实现的“记忆翻牌”游戏。于是第二周的主要工作就是在三维模型上加入游戏规则。余江伟主要负责游戏逻辑的编写(事件响应、规则、计时计分),李鹏飞负责搜集和制作图片(背景、透明化处理等)。

--可玩性--

       这个游戏的规则简单,也没有什么思考余地,对于上这门软件工程课的相当一部分同学来讲也许不会有太大的吸引力。不过作为一款休闲游戏,其一大功能就是消磨时间。而这款翻牌游戏就具备了这种功能:

  1. 不需要逻辑分析(与扫雷不同);
  2. 相比2维的游戏对记忆力考验更高却也不太难玩,因为生成算法没有刻意将一对牌放在对立的两面;
  3. 每一局的时间大约在3~5分钟左右(中等难度),适合用来消耗诸如软件安装、球赛中场休息、等待老婆打扮等时间。

       需要改进的地方是:第二次点击牌时,如果没有匹配上的话,在原版的记忆翻牌游戏中会显示一下点开的牌然后再合上两张牌。这一点在目前游戏中由于时间原因没有实现。此外,按键的样式也是改进的方向之一。

--总结--

       这是本科期间第一次进行这种形式的作业,起初确实有点不适应。虽然我和李鹏飞是同班同学,但由于不住在一个楼交流也主要靠邮件和聊天工具。在第一周前半段进展缓慢的情况下李鹏飞多次主动找我讨论,在周末终于实现了三维模型,也为接下来的工作打好了基础。总的来说我们的合作还算顺利。