Daly的游戏人生

山寨版小游戏~~~

    实习的日子,最大的成果就是做了两个小游戏。一个是山寨版的雷电,一个是网络版疯狂的石头。
    两个都是3人团队赶出来的作业,雷电用了1周,石头用了2周半。这一个多月很好的体会了敏捷开发,重构,团队合作。
    由于是赶出来的东西,还有很多小Bug, 但怎么说也是个完整的程序了。

    山寨雷电用的是破解出来的Starcraft 2的3D模型,用opengGL做了一个极简单的"引擎",仅做模型渲染用。敌人的出现次序通过配置文件指定,由于时间关系这里的配置方法太简陋,关卡的配置文件应该可以做得更好。自己添加了一些美术资源,比如爆炸碎片是队友用3DMax画的面片。爆炸用photoshop编辑过的。
    战机发出的激光束实现了一个简单的骨骼动画,激光束是一条虚拟的"绳子"(即骨骼),图元在绳子的左右两边进行渲染。最初的设计用粒子效果,但是当战机左右移动时候,激光粒子就会散开,改用骨骼动画之后不会有这个情况,因为"绳子"一直跟随战机。

    山寨疯狂的石头用纯python打造,有server和client端,server管理游戏大厅。client端用了pygame做底层库(实质是SDL库),CPU占用率有点高。
    支持8个房间,一个游戏场景最多4个人网络对战,通过推不同效果的箱子攻击对方。用冰冻,爆炸等效果。通过做这个小游戏很好地理解了动作游戏的网络同步问题,期间还研究了一下盛大泡泡堂的通信方式。在有网络延时的环境下,如何处理玩家响应,逻辑同步,防止外挂三个方面平衡是个挑战。在本设计中,位置由客户端往服务端同步,而对于伤害,攻击,推箱等逻辑则需由服务器同一仲裁,客户端需等待服务器仲裁结果再作出反应。
   
    
  




posted on 2010-06-18 13:38 Daly 阅读(782) 评论(1)  编辑 收藏 引用 所属分类: 游戏开发游戏脚本语言

评论

# re: 山寨版小游戏~~~ 2010-06-18 23:51 Sunshine Alike

挺好的,支持了~  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理