在FLASH平台上开发大型MMO游戏

1,933 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,933
On SlideShare
0
From Embeds
0
Number of Embeds
577
Actions
Shares
0
Downloads
41
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

在FLASH平台上开发大型MMO游戏

  1. 1. 在 FLASH 平台上 开发 MMO 网游 谈熠 2010 年 4 月
  2. 2. FLASH 和网络游戏
  3. 3. 单机游戏和 MMO 网络游戏 单机游戏 MMO 网络游戏
  4. 4. 网络游戏的复杂性在于 计算压力 数据传输时间 带宽压力 渲染压力 负责所有计算 显示游戏状态 接受用户输入
  5. 5. 影响游戏产品成功的因素 <ul><li>在技术层面有三个因素: </li></ul>程序质量! 程序质量!! 程序质量!!!
  6. 6. 如何避免印象产品成功的因素 程序:不要出错 降低范错误的频率 减少范错误的可能 提高代码质量 精简代码实现
  7. 7. 为了便于表达,我设置两个变量 代表:客户端组 client-side guys 代表:服务器组 server-side guys
  8. 8. 常见的开发工作流程 … 一种紧密耦合的状态 tightly coupled 低效,易出错,难管理
  9. 9. 解耦客户端的开发 吃过了吗? 还没,您呢? <hello> 吃了吗 </hello> {hello:“ 吃了吗” } 010011101001101 … /hello/ 吃了吗
  10. 10. 采用代理模式( Proxy Pattern ) function send(){ connectionObject.send() } RealConnection 可能是 xml, json, bin socket, restful http … Server send() ServerProxy @connectionObject send() RealConnection send()
  11. 11. 用 flash.utils.Proxy 优化代理实现 server.walkTo(x,y) // 发出 socket 数据包 “ WALKTO X Y“ server.attach(targetId) // 发出 socket 数据包 “ ATTACK targetId“
  12. 12. 优化后开发团队工作流程 <ul><li>优点: </li></ul><ul><li>降低团队之间的依赖 </li></ul><ul><li>工作效率提高,调试难度降低 </li></ul><ul><li>缺点 </li></ul><ul><li>系统整合时间长 </li></ul><ul><li>初期构架的错误到后期才会暴露 </li></ul>系统整合
  13. 13. AS3 的单元测试 <ul><li>针对对象的方法进行正确性检验的测试 </li></ul><ul><li>帮助开发人员编写代码,减少 bug </li></ul><ul><li>提升反馈速度,减少重复工作 </li></ul><ul><li>避免递归性错误的发生 </li></ul><ul><li>让代码维护更容易 </li></ul>
  14. 14. Flexunit4 提供的简便功能 <ul><li>和 FLEX BUILDER4 高度整合 </li></ul><ul><li>meta-data 驱动 </li></ul><ul><li>通过 expects 进行异常捕捉 </li></ul><ul><li>通过 [ Theory ] 提供“测试驱动开发 TDD” 工作方式 </li></ul>
  15. 15. 如何进行异步测试? <ul><li>AS 程序开发,需要大量异步测试 </li></ul><ul><li>采用 async 进行异步测试 </li></ul>
  16. 16. 如何避免客户端测试对服务器端的依赖? <ul><li>采用 mockito-flex 杜撰 (mock) 测试所依赖的数据 </li></ul><ul><li>结合 mock story 和 theory 进行 TDD 开发 </li></ul>
  17. 17. 通过 ANT 脚本进行编译 <ul><li>ANT 编译提供的灵活性 </li></ul><ul><li>FlexUnit4AntTasks 在 Adobe OpenSource 代码库中可以获得 http://opensource.adobe.com/svn/opensource/flexunit/branches/4.x/FlexUnit4AntTasks </li></ul>
  18. 18. 持续整合! <ul><li>AS 程序 + FLEX UNIT 单元测试 + ANT 脚本编译 + CruiseControl => 持续整合 </li></ul><ul><li>将设计错误和实现错误控制在最小范围内解决 </li></ul>
  19. 19. 持续整合的工作流程 优点: - 通过 TDD 方式指导开发 - 部门互相解耦,大幅提供开发效率 - 将设计错误和实现错误控制在最小范围内解决, - 大幅提高代码质量 持续整合
  20. 20. 谢谢! 谈熠 QQ: 2152525 Email: yi2004@gmail.com 开发者网站 : www.swfsh.com

×