1号预定的祈祷与工作和电厂最初的火花,今天终于到了,激动啊!
快递塞了很多填充物
外面包了塑料膜
和电厂最初的火花大小对比
高度对比
盒子正面,乌玫瑰都是这风格啊
还用纸头包好的。。。东西1,不知何物
东西2,不知何物again
它的反面,居然不一样
计分的吧
一堆木质token
玩家板,好小啊
玩家板背面,终于有个背面没东西的了
两刀卡牌
两刀卡牌正面
一刀说明书,这怎么看。。。
说明书背面
所有的token,目测几百个,有些快递途中被震动弄掉下来了
以上是在学校第一时间拍的,接下来是在家里耐心拆开后拍的,由于都装进塑封袋了,拍的时候不愿意再取出来了,所以质量有些渣。。。
拆下之后剩下的没用东西,不舍得扔。。。
两块游戏版正面对应不同游戏人数
两块游戏版反面对应不同游戏人数
详细的游戏规则
快速规则,应该是帮助玩过的玩家回忆的
初始摆放
每个玩家一份的summary
12页的术语表,12页啊!!!
所有的游戏配件列表,看到450个token我就晕了
4种颜色的牧师,一个高级的,两个低级的
9种商品指示物
俩指针还有两个 ...
赶在寒假前小聚了一次,这次的参与人员也终于变成全男性同胞。。。
车票之旅欧洲版结局
先到了中指(绿)、甲鱼(蓝)、军旗(黑)、聪(红)、我(黄),于是乎我们开了一局5人车票之旅欧洲版,除了基础版的规则外,欧洲版加入了车站规则和山脉规则,有了车站规则使得大任务的完成相对简单,而山脉的规则这为游戏增添了更多变数。游戏一开始大家相安无事各自拿牌,直到军旗和聪在地图左下角开始了争夺,大家也开始憋不住了,纷纷建路生怕别人抢了自己的路,很快大任务大家各自都完成了,中指和甲鱼又领了两个小任务,我也领了一个小任务,邪恶的军旗妄图迅速造完列车来让比赛加速结束来阻滞我们的新小任务,可惜他失败了,尽管中指人品低落,山脉的判定永远失败,但还是以97分和军旗并列第二,甲鱼以其完美的规划117分独占“鳌”头,其中还包含了最长道路,我最后奋力一搏的6格山脉失败,82分排名倒数第二,残念啊,要是博成了我也97分。。。
总体上感觉车票之旅的运气成分较大,关键看任务的和谐程度,另外不额外领任务基本上是赢不了的。
玩错了的电厂。。。
参与人员有甲鱼(绿)、中指(红),军旗(黑),柳兄(蓝),聪(紫),我(黄) ...
回了一趟厦门,和两个弟弟开了几次小小世界,又在ipad上和电脑对战了很多盘(诅咒扩+女权扩),对于种族和技能的搭配有了新的理解。这里我以一种比较直观的量化方式来分析一下种族间以及技能间的不同。
以下分析皆基于2人版图。
小小世界两人地图
先分析技能,总体上技能可以分成3类,一类是拿钱型,一类是进攻辅助型,一类是其他。。。
拿钱型:Alchemist(炼金),Forest(森林),Hill(山丘),Swamp(湿地),Wealthy(富豪)他们提供的兵力支援都是4。Merchant(商人)兵力支援为2
由于炼金就是稳定的每回合钱+2,所以我们以它作为标准。
在2人地图中,森林山丘湿地都有4块,很明显当玩家能占领3块及以上时,他们的收益才优于炼金,但是我们可以看到版图中,这些区域并非连在一起的,也就是说在你占领到第三块的过程中,你还会占领一些其他的区域,这就会分散你的兵力,削弱防守,一旦造成兵力损失,很可能就无力再占领第三块加成区域了。
关于富豪,它是一次性拿7元钱,看上去是炼金3.5倍,也就是说你选择完后就退场效率会极高,但是我们要注意的是,大多数情况下,你的第一回合的 ...
有时候我们会想让俩个物体不发生碰撞而是穿过对方,比如打砖块游戏里的Unstoppable形态的小球。通过查看Bullet的wiki我们可以看到几种方法,有在碰撞添加时防止的,也有碰撞时防止的。我个人最喜欢的是wiki中的第一种,通过位运算的实现的Filter。
#define BIT(x) (1
上一次说道更新物体位置信息的时候,是通过遍历所有物体的方法来更新的。然后这种方法会做很多无用功,因为有些物体根本就没动。
为了解决这个问题,我们就需要利用MotionStae。我们可以看到,在上次的文章中,我们也使用了MotionState,只不过是bullet提供的默认的MotionState,现在我们自己创建一个来代替它。
#include "linearmath/btMotionState.h"
#include
class MyMotionState : public btMotionState {
public:
MyMotionState(const btTransform &initialpos, Ogre::SceneNode *node) {//初始化的时候将初始位置和node设置好
mVisibleobj = node;
mPos1 = initialpos;
}
virtual ~MyMotionState() {
}
void setNode(Ogre::SceneNode *no ...
现在我们的物体能够动起来了,并且通过Bullet的计算,我们可以观察到物体会像在真实世界中一样运动碰撞等等。一个自然的想法是,我们如何知道谁和谁进行了碰撞?
关于bullet的碰撞检测,google能搜到一些答案,都是正确的,不过看bullet自己的wiki比较全面。
比如我们可以通过一个回调函数来捕捉碰撞,从wiki中我们可以看到有一种回调函数的原型是:
typedef bool (*ContactProcessedCallback)(
btManifoldPoint& cp,//重合点的意思吧,用不到可以无视它
void* body0,void* body1);//发生碰撞的俩个物体
这样我们只需要写好一个符合原型的函数——myContactProcessedCallback,然后将其赋值给bullet全局变量gContactProcessedCallback就行了。
gContactProcessedCallback = myContactProcessedCallback;
最后需要提一下的是,俩个物体间的碰撞在某一次stepSim ...
折腾了两天,各种乱七八糟blog还有wiki什么的翻了个遍,从零开始学就是这样的,痛并快乐着。
我是用的是bullet-2.77,因为googlecode上这个版本有编译好的demo,我可以先下下来看,编译的过程很简单,vs打开工程生成一下就行了,不过这里有可能会报个小小的error,转到出错的位置后,只要将PostBuild那个target全注释掉就行了。
一开始我在用不用OgreBullet这个开源项目上纠结了半天,最后我放弃了它,现在想想还是正确的,OgreBullet是一个封装好的项目,实际上不利于像我这样从头开始学习Bullet的人。
由于项目的目的是要做一个躲避球的游戏,我初步的设想就是写一个能控制物体去躲避物体的demo,这里我选用了最简单的物体,也就是bullet里的基本Shape之一的盒子(box)。
要完成这个目标,我计划分步学习实现。
首先让bullet能和ogre结合起来,即能够通过物理引擎的计算将物体的正确位置显示到界面上,能够创建并发射一系列的盒子。
其次,能够检测出盒子的碰撞,并将于指定物体碰撞的盒子进行删除。
然后,能通过鼠标或键盘来控制指 ...
7人行本来准备打球的,无奈天公不作美,于是改变计划开始寻找桌游店。
普通桌游店一般营业结束都较晚,所以开门时间也就比较晚,我们在找了3家都无人应答正郁闷往哪走的绝望之时,睡眼朦胧的老板开门啦,谢天谢地啊。(店名是FF桌面游戏)
人数受限,很难开出一桌,纠结之下开了七大奇迹,(PS:老板此处不断确认我们是否要玩这个,什么意思。。。),实验局D哥蛋帝猛拼军事,事实证明是赢不了滴,教学局我和伟男同积57分并列第一,伟男紫卡(工会牌)至少拿了25分。。。,我科技拿了比较多的分,军事惨败,还好只输一点。第二局貌似大家都玩的比较熟练了,开始思考如何卡下家,hjj被我和D哥卡得造不出2级奇迹这样巴比伦空中花园威力大减,我得益于早造出了金字塔的三级奇迹,并且左右两边都不发展军事,靠2张军事卡偷得10+分,最后积52分一分险胜。伟男最后没卡好我,不过我第三时代一开始也失误了,应该拿6分的建筑,不应该造3军事的,毕竟后面还有机会。
午饭过后,开了几个欢乐游戏,(小小世界underground规则没看啊,怨念),一个貌似是店员的女生加入了游戏,不过第一个需要美国常识的游戏实在太乏味了(作为裁判的我名字 ...
31号终于考完了最后一门全是选择题的编译原理,终于能松口气了,恰逢D哥同学到交大来玩,加上wzh和竟仔还有东哥,一共6个人从21点玩到了第二天8点,爽是爽,不过回家路上就顶不住了。。。
由于都是新手,为了不让大家产生畏惧感,我只介绍了最简单的卡坦岛,还特意强调这是个人品游戏,规则很快介绍完后,由D哥(白色)、wzh(蓝色)、东哥(橙色)、D哥同学(红色)4人进行了第一局。整局游戏骰运很不平均,8和6总是扎堆出现,而东哥的11只出现过1次。。。前期wzh虽然拥有羊港,但是2和3的两块地盘限制了它的发展;D哥中心2城要不是他同学和东哥手软,早就要被限制到死;Dong哥骰运不佳;而D哥的同学潜力巨大。关键的转折点在于D哥成功突围,并且强行造出了木港,其实个人认为先造6、9、11那个点更好,其间D哥同学试图兵王路王速胜但是失败了,之后就进入了D哥疯狂拿资源建大城的情况,期间D哥一度有连造3路偷路王的机会,所有人都看出来了他自己还蒙在鼓里。。。不过不影响他最后的胜利,最后形势如下图。
第一局,教学局,D哥胜出
第二局由于人比较多,加入了5-6人扩展,看上去大大的版图,在12个村庄放下后就拥 ...