SlideShare una empresa de Scribd logo
1 de 40
Descargar para leer sin conexión
关于Bigworld 的一些话题


        深红网络:杨铭
� 什么是bigworld
� bigworld的特点
� 一些注意事项
• 什么是bigworld
     bigworld
     bigworld?

  Bigworld是一套 老外开发的MMOG 解决方
 案。
构成
• 客户端:
  渲染引擎, 内容创建工具,navgen工具
  max,maya 导出插件等

• 服务器端:
  cellapp, baseapp, loginapp, dbmgr,
  cellappmgr, baseappmgr。
   服务器端工具(web_console, space_viewer)
• 谁在用Bigworld?
     Bigworld?
   网易,世纪天成,深红等

• Bigworld 的一些作品
  《天下2》, 《创世西游》,《猎国》
   《坦克战争》等等
• Bigworld 开发平台:
•    Linux,python, MySQL,C++
�bigworld的特点
BigWorld 一些特点

• 分布式架构      • 完善的控制后台

• 动态平衡技术     • Web访问支持

• 无缝大地图      • C++扩展

• 可靠的udp协议   • Bot 支持

• 灾难恢复技术     • 其他
拓扑图: 分布式架构
动态划分的cell
动态平衡图
无缝大地图: Real-Ghost
UDP 协议
• 可靠,有序
  游戏协议

• 非可靠,有序
  可定制。 聊天,坐标同步
灾难恢复
• Baseapp自动恢复

• Cellapp自动恢复
BaseApp 恢复
Cellapp 恢复
• Cellapp 自动从 对应的baseapp 重建

• 如果某个 Entity 没有base部分,则不会重建。
  比如, monster.

• 可以设置,不需要恢复
完善的控制台
•   集群控制工具
•   远程进程注入,便于调试
•   性能分析,profile
•   Watcher
•   Space viewer
Web 访问支持
• Bigworld.so, 支持 http方式从外部访问
   比如,手机游戏等

• http方式访问 urs,ebilling等。
  支付,urs等。
  (bg任务方式: 多线程,以及 select模型)
C++ 扩展
• CPU 密集型,或者IO 操作。
  如 物理校验,复杂的AI,A*等
  如 外部网络链接,服务器端资源加载

• Extra 扩展entity
Bot
• 便捷的大规模机器人测试

• 便捷编辑机器人AI
其他
•   Mysql存储, seconddb. 未做脏数据处理。
•   Xml 定义存储。双面刃。
•   Client,cell,base 之间的 rpc调用
•   一切皆是 entity
• 无处不在的异步操作
• 属性自动同步,坐标同步方式(高流量)
• 属性可见域控制
�一些注意事项
谨慎控制
• 到底如何放置 cell,base 逻辑
  省事的代价,是后期的重构
• 规划好entity属性,存储属性
  过多的属性,导致内网的流量剧增
• 更多的分时逻辑
  超时,有时候不仅仅是卡机,而是宕机
• 精准的属性访问控制
• 小心的控制LOD, AOI,利用起witness
关于大宝的问题
�其服务器动态均衡技术,在实际使用时,
 有没有遇到什么问题?

• 数据在cell间同步,容易产生bug。飞速,buff,<-
  -- 复杂python 对象
• 过于密集的场景传送,可能引起抖动
• 无处不在的异步,会潜在引导逻辑集中在cell上
• 属性可见性控制不好,会引起很大效率问题
�策划在设计内容时,有没有一些特殊的约
 定或者制约?

• 与所有MMOG 一样,同屏人数
• 过于密集的传送,调戏动态平衡?迷失之地
• 不是问题的问题:少动那些不在线的玩家数据
�机器数量的增加与可承载人数上限的增
 加,是成线性比例关系吗?

• 从全服来看,基本如此。 每个游戏逻辑的
  core,可以支持200-300人。
• 问题: 不要过于集中在一起
其他
• 程序开发效率确实比较高,至少对程序而
  言
其他
• 对客户端不要有太多期待,尤其是UI
其他
• 如果bigworld宕机了,往往就是灾难
其他
• 10万人同服不是问题。问题是,我们的策
  划能控制这样大的世界吗?
其他
• 不支持事物,不支持外键
其他
• treatAllOtherEntityAsGhost? 我们自己犯的
  错
Thanks

Más contenido relacionado

Similar a 关于Bitworld的一些话题222

浏览器渲染与web前端开发
浏览器渲染与web前端开发浏览器渲染与web前端开发
浏览器渲染与web前端开发Duoyi Wu
 
Comment System of 56.com
Comment System of 56.comComment System of 56.com
Comment System of 56.comHo Kim
 
Gentek应用介绍20111123
Gentek应用介绍20111123Gentek应用介绍20111123
Gentek应用介绍20111123oemgame
 
姚彤 从360手机卫士的研发经历看大型移动应用开发
姚彤 从360手机卫士的研发经历看大型移动应用开发姚彤 从360手机卫士的研发经历看大型移动应用开发
姚彤 从360手机卫士的研发经历看大型移动应用开发Trinea Trinea
 
张松国 腾讯微博架构介绍08
张松国 腾讯微博架构介绍08张松国 腾讯微博架构介绍08
张松国 腾讯微博架构介绍08drewz lin
 
Android裝置開發過程的軟硬整合關鍵及挑戰
Android裝置開發過程的軟硬整合關鍵及挑戰Android裝置開發過程的軟硬整合關鍵及挑戰
Android裝置開發過程的軟硬整合關鍵及挑戰tick
 
開放原始碼 Ch3.1 mobile - oss - oss行動領域-1 (ver1.0)
開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0) 開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0)
開放原始碼 Ch3.1 mobile - oss - oss行動領域-1 (ver1.0) My own sweet home!
 
Introduction to NodeJS
Introduction to NodeJSIntroduction to NodeJS
Introduction to NodeJSTechParty@UIC
 
Nodejs & NAE
Nodejs & NAENodejs & NAE
Nodejs & NAEq3boy
 
合久必分,分久必合
合久必分,分久必合合久必分,分久必合
合久必分,分久必合Qiangning Hong
 
Full stack-development with node js
Full stack-development with node jsFull stack-development with node js
Full stack-development with node jsXuefeng Zhang
 
数据架构方面的一些探讨
数据架构方面的一些探讨数据架构方面的一些探讨
数据架构方面的一些探讨Chao Zhu
 
美团技术沙龙04 美团下一代分布式存储系统
美团技术沙龙04   美团下一代分布式存储系统美团技术沙龙04   美团下一代分布式存储系统
美团技术沙龙04 美团下一代分布式存储系统美团点评技术团队
 
Chasingice
ChasingiceChasingice
Chasingice冰 白
 
Appcan平台介绍
Appcan平台介绍Appcan平台介绍
Appcan平台介绍36Kr.com
 
改善Programmer生活的sql技能
改善Programmer生活的sql技能改善Programmer生活的sql技能
改善Programmer生活的sql技能Rack Lin
 
Minecraft應用
Minecraft應用Minecraft應用
Minecraft應用群宇 賴
 
前端开发工具 - 编辑器篇
前端开发工具 - 编辑器篇前端开发工具 - 编辑器篇
前端开发工具 - 编辑器篇keelii
 
Toutiao 2013 Jan Series B Funding Deck
Toutiao 2013 Jan Series B Funding DeckToutiao 2013 Jan Series B Funding Deck
Toutiao 2013 Jan Series B Funding DeckMatthew Brennan
 

Similar a 关于Bitworld的一些话题222 (20)

浏览器渲染与web前端开发
浏览器渲染与web前端开发浏览器渲染与web前端开发
浏览器渲染与web前端开发
 
Comment System of 56.com
Comment System of 56.comComment System of 56.com
Comment System of 56.com
 
Gentek应用介绍20111123
Gentek应用介绍20111123Gentek应用介绍20111123
Gentek应用介绍20111123
 
姚彤 从360手机卫士的研发经历看大型移动应用开发
姚彤 从360手机卫士的研发经历看大型移动应用开发姚彤 从360手机卫士的研发经历看大型移动应用开发
姚彤 从360手机卫士的研发经历看大型移动应用开发
 
张松国 腾讯微博架构介绍08
张松国 腾讯微博架构介绍08张松国 腾讯微博架构介绍08
张松国 腾讯微博架构介绍08
 
Android裝置開發過程的軟硬整合關鍵及挑戰
Android裝置開發過程的軟硬整合關鍵及挑戰Android裝置開發過程的軟硬整合關鍵及挑戰
Android裝置開發過程的軟硬整合關鍵及挑戰
 
開放原始碼 Ch3.1 mobile - oss - oss行動領域-1 (ver1.0)
開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0) 開放原始碼 Ch3.1  mobile - oss - oss行動領域-1 (ver1.0)
開放原始碼 Ch3.1 mobile - oss - oss行動領域-1 (ver1.0)
 
Introduction to NodeJS
Introduction to NodeJSIntroduction to NodeJS
Introduction to NodeJS
 
Nodejs & NAE
Nodejs & NAENodejs & NAE
Nodejs & NAE
 
合久必分,分久必合
合久必分,分久必合合久必分,分久必合
合久必分,分久必合
 
Full stack-development with node js
Full stack-development with node jsFull stack-development with node js
Full stack-development with node js
 
数据架构方面的一些探讨
数据架构方面的一些探讨数据架构方面的一些探讨
数据架构方面的一些探讨
 
美团技术沙龙04 美团下一代分布式存储系统
美团技术沙龙04   美团下一代分布式存储系统美团技术沙龙04   美团下一代分布式存储系统
美团技术沙龙04 美团下一代分布式存储系统
 
Chasingice
ChasingiceChasingice
Chasingice
 
Appcan平台介绍
Appcan平台介绍Appcan平台介绍
Appcan平台介绍
 
改善Programmer生活的sql技能
改善Programmer生活的sql技能改善Programmer生活的sql技能
改善Programmer生活的sql技能
 
A
AA
A
 
Minecraft應用
Minecraft應用Minecraft應用
Minecraft應用
 
前端开发工具 - 编辑器篇
前端开发工具 - 编辑器篇前端开发工具 - 编辑器篇
前端开发工具 - 编辑器篇
 
Toutiao 2013 Jan Series B Funding Deck
Toutiao 2013 Jan Series B Funding DeckToutiao 2013 Jan Series B Funding Deck
Toutiao 2013 Jan Series B Funding Deck
 

Más de 勇浩 赖

论 Python 与设计模式。
论 Python 与设计模式。论 Python 与设计模式。
论 Python 与设计模式。勇浩 赖
 
一种多屏时代的通用 web 应用架构
一种多屏时代的通用 web 应用架构一种多屏时代的通用 web 应用架构
一种多屏时代的通用 web 应用架构勇浩 赖
 
2012,我的技术之选
2012,我的技术之选2012,我的技术之选
2012,我的技术之选勇浩 赖
 
页游开发中的 Python 组件与模式
页游开发中的 Python 组件与模式页游开发中的 Python 组件与模式
页游开发中的 Python 组件与模式勇浩 赖
 
为什么 rust-lang 吸引我?
为什么 rust-lang 吸引我?为什么 rust-lang 吸引我?
为什么 rust-lang 吸引我?勇浩 赖
 
Python 于 webgame 的应用
Python 于 webgame 的应用Python 于 webgame 的应用
Python 于 webgame 的应用勇浩 赖
 
Behavior+tree+ai lite
Behavior+tree+ai liteBehavior+tree+ai lite
Behavior+tree+ai lite勇浩 赖
 
敏捷网游架构与性能的新玩法
敏捷网游架构与性能的新玩法敏捷网游架构与性能的新玩法
敏捷网游架构与性能的新玩法勇浩 赖
 
先用再学 - 借助 Xna 快速开发游戏原型
先用再学  - 借助 Xna 快速开发游戏原型先用再学  - 借助 Xna 快速开发游戏原型
先用再学 - 借助 Xna 快速开发游戏原型勇浩 赖
 
03 -黄朝兴--腾讯游戏
03 -黄朝兴--腾讯游戏03 -黄朝兴--腾讯游戏
03 -黄朝兴--腾讯游戏勇浩 赖
 
06 -甄焱琨--知识转化为资源
06 -甄焱琨--知识转化为资源06 -甄焱琨--知识转化为资源
06 -甄焱琨--知识转化为资源勇浩 赖
 
07 -林伟铃--成长中的36氪
07 -林伟铃--成长中的36氪07 -林伟铃--成长中的36氪
07 -林伟铃--成长中的36氪勇浩 赖
 
01 -阿朱--简单事情夯实做
01 -阿朱--简单事情夯实做01 -阿朱--简单事情夯实做
01 -阿朱--简单事情夯实做勇浩 赖
 
如何做好沙龙演讲
如何做好沙龙演讲如何做好沙龙演讲
如何做好沙龙演讲勇浩 赖
 
虚拟世界是怎么炼成的(图片版)
虚拟世界是怎么炼成的(图片版)虚拟世界是怎么炼成的(图片版)
虚拟世界是怎么炼成的(图片版)勇浩 赖
 
Techparty story
Techparty storyTechparty story
Techparty story勇浩 赖
 
2010,我的技术之选
2010,我的技术之选2010,我的技术之选
2010,我的技术之选勇浩 赖
 

Más de 勇浩 赖 (20)

论 Python 与设计模式。
论 Python 与设计模式。论 Python 与设计模式。
论 Python 与设计模式。
 
一种多屏时代的通用 web 应用架构
一种多屏时代的通用 web 应用架构一种多屏时代的通用 web 应用架构
一种多屏时代的通用 web 应用架构
 
Tp web
Tp webTp web
Tp web
 
2012,我的技术之选
2012,我的技术之选2012,我的技术之选
2012,我的技术之选
 
页游开发中的 Python 组件与模式
页游开发中的 Python 组件与模式页游开发中的 Python 组件与模式
页游开发中的 Python 组件与模式
 
为什么 rust-lang 吸引我?
为什么 rust-lang 吸引我?为什么 rust-lang 吸引我?
为什么 rust-lang 吸引我?
 
Python 于 webgame 的应用
Python 于 webgame 的应用Python 于 webgame 的应用
Python 于 webgame 的应用
 
Behavior+tree+ai lite
Behavior+tree+ai liteBehavior+tree+ai lite
Behavior+tree+ai lite
 
敏捷网游架构与性能的新玩法
敏捷网游架构与性能的新玩法敏捷网游架构与性能的新玩法
敏捷网游架构与性能的新玩法
 
先用再学 - 借助 Xna 快速开发游戏原型
先用再学  - 借助 Xna 快速开发游戏原型先用再学  - 借助 Xna 快速开发游戏原型
先用再学 - 借助 Xna 快速开发游戏原型
 
Stekin
StekinStekin
Stekin
 
03 -黄朝兴--腾讯游戏
03 -黄朝兴--腾讯游戏03 -黄朝兴--腾讯游戏
03 -黄朝兴--腾讯游戏
 
06 -甄焱琨--知识转化为资源
06 -甄焱琨--知识转化为资源06 -甄焱琨--知识转化为资源
06 -甄焱琨--知识转化为资源
 
07 -林伟铃--成长中的36氪
07 -林伟铃--成长中的36氪07 -林伟铃--成长中的36氪
07 -林伟铃--成长中的36氪
 
01 -阿朱--简单事情夯实做
01 -阿朱--简单事情夯实做01 -阿朱--简单事情夯实做
01 -阿朱--简单事情夯实做
 
Python 温故
Python 温故Python 温故
Python 温故
 
如何做好沙龙演讲
如何做好沙龙演讲如何做好沙龙演讲
如何做好沙龙演讲
 
虚拟世界是怎么炼成的(图片版)
虚拟世界是怎么炼成的(图片版)虚拟世界是怎么炼成的(图片版)
虚拟世界是怎么炼成的(图片版)
 
Techparty story
Techparty storyTechparty story
Techparty story
 
2010,我的技术之选
2010,我的技术之选2010,我的技术之选
2010,我的技术之选
 

关于Bitworld的一些话题222