【原】一年前做的小游戏,WeirdTank

大二的时候做的,接触XNA后做的第二个游戏。

当时看了一个叫Phun的物理演示工具,觉得非常有意思,就想把物理效果加入到2D游戏里。设计WeirdTank时接受第一次失败的教训,系统设计的很简单,纯2D贴图,只有单机模式,先把最简单的Demo实现了再说。事实证明我们的水平也就仅仅做完这些(WYH同学画地形的时候还是偷偷用了点3D的概念~)。

引擎的设计用了很多时间,不停地修改类的接口。刚刚学习设计模式,刻意的把一些模式套用进去,最后的结果还是很乱,有些代码依然是复制粘贴的。

wt

现在看来,游戏程序就不该有复杂的继承关系……

物理引擎选用开源的Farseer Physics。Farseer Physics是设计给XNA和Silverlight用的,现在版本是2.1.1,已经很完善了。我们用的时候还很不稳定,帮助文档也不全,只能边看源码边查物理引擎的资料。最痛苦的是最后平衡性调不好,连物理量的数量级的不知道……

Farseer Physics的设计使用了Box2D引擎的一些东西,Box2D是用C++编写的一个非常强大的跨平台的2D物理引擎,作者叫Erin Catto,查物理引擎的资料的时候看到了他在GDC的演讲,后来才知道人家是暴雪的物理模拟师……

Farseer Physics的截图:

图片1

Box2D的截图:

2

我们的WeirdTank还是在微软项目评审中骗了个小奖,其实我觉得也不算骗,做游戏本来门槛比较高,学ASP.NET两个月能做个小站了,学游戏两个月很难出作品,至少游戏美工就比网站美工难找。当然,本来就只提交了个Demo的半成品,结果已经不错了……

几张当时的截图:

Snapshot20086191120

关节的动作是给结点施加力矩计算出来的。

Snapshot20086191128

爆炸后散掉的敌人的零件:

Snapshot20086183229

Snapshot20086192012

Snapshot20086191216

WYH同学做的简易的地图编辑器……

地图编辑器1

 

PS:这些天又在考虑把2D物理加到网游中,做一个赛车游戏,呵呵,有空写写策划案,现在找工作压力好大……

posted @ 2009-09-12 17:40  柒笑侠  阅读(787)  评论(1编辑  收藏  举报