banana.totolv

导航

Pair Poject 1 【3D-记忆翻牌】本组:李鹏飞 合作者:余江伟

3D-记忆翻牌】

  3D-记忆翻牌(LinkUp3D)是由余江伟Wintokk和我(李鹏飞Minifancy)一起开发的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. 不需要逻辑分析(与扫雷不同);

2. 相比2D的游戏对记忆力考验更高却也不太难玩,因为生成算法没有刻意将一对牌放在对立的两面;

3. 每一局的时间大约在3~5分钟左右(中等难度),适合用来消耗诸如软件安装、球赛中场休息、等垃圾时间。

 

--游戏操作--

1、三种难度选择:easymediumhard,默认为medium

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

 

--游戏界面--

    

                  LinkUp3D

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

 

--工作收获--

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

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

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

--工作启示--

  首先一点要指出的是余江伟同学自始至终很好地把握了整个工程的进度安排,包括两周的工作分配等等,开发过程中,他给了我很多帮助。

  开发过程对我的启示主要包括两点:一是合作对于程序开发的帮助。工程一开始,两人合作给我感觉是1+1<2,因为两个人的想法不一样,常常不明白对方的想法和思路。从1+1<2到 1+1>=2 经历了一段过程,让我明白如何更好地与对方合作。二是一个完整的Project远远不像写一个程序一样简单,要完成"solid code"不是一件简单的事情。往往程序多次调试才能查出bug所在,间接地让我明白一个好的代码习惯有多么重要。

posted on 2011-03-22 00:14  banana.totolv  阅读(356)  评论(0编辑  收藏  举报