如何在WP7上用XNA写2D游戏(一)
游戏背景:
时间是欧洲中世纪,一位英雄坚守着他国家最后的城堡。一旦敌人攻破这个城堡,他的任务就失败了。这位英雄有着百步穿杨的本领,还有强大的魔法技能。虽然敌人发起了一波波潮水般的攻击,但他都顽强的击退了。
敌人不甘失败,派出了各种兵力,长矛兵,盾牌兵,骑兵,后来还调来投石车,空中的狮鹫骑士。敌人势要把这个城堡攻下,这位最后的英雄能守住城堡吗?
开发历程:
这个游戏我从过年开始构思,然后和美术方面的朋友沟通,本打算用XCODE写在Iphone上,后来发现自己XCODE游戏开发经验不是很足,并且App store上的游戏竞争激烈,类似的游戏也有了。于是我转到WP7平台上,用自己最拿手的C#来开发。
我花了2周左右的时间熟悉了XNA框架,本来想用Sliverlight写的,权衡了下,觉得在WP7上写游戏还是XNA正统。游戏原型出来,验证用手拉动弓箭来控制方向和力度能够实现后,我就开始正式写这个游戏。
期间,对于操作模式有两种打算,一种是用手拉,一种自动射击模式。用手来可以考验用户的操作性,但是时间长了,玩家就会觉得手很疲劳。于是我又写了自动射击模式,玩家只要手点到某个方向,就可以自动射击。在游戏正式发布时,我想提供这两种模式,提供给用户切换。
然后就是和朋友沟通游戏UI方面的问题,探讨兵种的动画设计,技能设计。
完成的功能有:
1.给城堡设置了血量,降到0就失败,城堡损伤效果会有动态效果。
2.写出了普通,火,冰箭的魔法飞行效果
3.模拟出了重力加速度下的飞行抛物线。
4.游戏的设置保存XML并储存,以及序列化和反序列化
5.选中技能图标的闪烁动画。
6.写完了多重,多重火,冰箭
7.给兵种添加了阴影效果
8.增加了技能CD效果
9.增加了技能树界面,新的技能需要金币来学习
开发心得:
CastleDefense 游戏开发到现在,基本完成核心的功能,但是游戏关卡的可玩性感觉还不够高,游戏难度需要精心调整。坦白的说,和国外团队游戏大作相比,自己写的游戏还是比较简陋。
不过,任何一个游戏和开发者都是需要成长的,就算暴雪也是从一个小工作室起步的。希望大家给出中肯的意见,欢迎拍砖和鼓励。
我也是在工作之余来开发的,时间精力的确有限。不管怎么样,我会继续完成这个游戏。
游戏玩法:
点击屏幕,让弓箭射向进攻的小兵。 屏幕左下角是技能图标,可以点击选择技能,如果技能为红色,说明没有学习该技能,技能有CD限制。
屏幕下方* 齿轮 按钮 点击后出现技能学习界面,需要花金币来学习技能。
Tips: 投石车最怕火攻,体积大的兵种是BOSS,最好优先消灭,请使用冰冻箭降低它的速度。
游戏难度现在设定很高,我玩到第9关就手忙脚乱了,当然这个只是测试版,还需要做很大修正的。请大家多提意见,好来完善这个游戏。
游戏视频:
游戏Demo下载XAP包地址:
微软APP HUB的Beta测试也在提交中,如果希望未来在Zune里下载到Beta测试版,请留下你的LiveID(也就是你的wp7手机关联的LiveID,也就是电子邮件地址).
本文版权属于williams所有