那些年我们一起做的游戏 —— 弹珠游戏

上一个游戏——逃出生天我们做个开头,就发现趣味性不足,放弃了。后面我们就一直在思考,到底怎么样的游戏是好玩的游戏,那个时候正值愤怒的小鸟兴起,我们觉得物理引擎驱动的小游戏很有意思,而且比较简单,决定模仿着做一款弹珠游戏,引入一个开源的物理引擎BOX2D。

一开始接触这个物理引擎时很迷惑,觉得很多做法都很绕。必须设置一个物理世界(box),然后在里面创建物体,物体还要设置很多种类,刚体,关节…,然后还有很多属性,质量,摩擦等等。然后要操作这个物体,不是设置它的位置,而是给它施加力或冲量。这一切对于以前做2D游戏的思维都是很大的转换,曾经我就想了好久要怎么让这个物体在下一帧设置到我指定的位置。

后来经过老大的指点思维就转换过来了,物理引擎就是用来驱动动画的,为了模拟真实的物理世界,我们需要创建一个物理世界,然后对这个世界给予外部作用,这个世界的事物到底发生怎么样的变化,就是物理引擎控制的。我们要做的只是给他配个交互接口,配个界面,从而观察这个物理世界即可。

ball1

于是我用以前的素材做了一个demo,闹钟样子的小球是母球(在对它操作时变成绿色的样子),通过鼠标拖拽可以形成两点一线,决定发射的方向,两点之间的距离决定发射的力度。

ball2

在母球发射后,通过碰撞收集太阳样子的小球,从而获得分数。母球在运动的过程中带有一个粒子特效的尾巴。

ball3

每次操作会看到上一次发射的痕迹,方便调整力度与角度。

BOX2D这个物理引擎因为它的轻巧高效以及开源的特质,已经被很多手机游戏采用,corona SDK中更是直接集成了BOX2D。通过这次的接触,对物理引擎有了一定的了解,增长了见识,还是挺不错的。可惜的是,这个游戏只止步于这个demo,因为电脑上的操作方式,体验感受,跟手机 平板还是有所不同,这样子的物理小游戏不太适合做在PC上,所以在demo出来后就被否决了。

其实现在想想,当初我们都考虑得太多了,作为一个学习锻炼,只要坚持做完就好了,好不好玩倒是其次。不过即使是现在,我们总是难免会看得很多,想得很多,真正坚持做的却很少。总是强调追随内心,但我们却看不清自己的内心啊。只能说我们都 too young too simple 了。

Tagged , , . Bookmark the permalink.

发表评论

邮箱地址不会被公开。