V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  oobleck  ›  全部回复第 2 页 / 共 2 页
回复总数  28
1  2  
2013-08-10 14:47:58 +08:00
回复了 rrfeng 创建的主题 游戏 网络游戏还不能做到取消分区/服的配置吗?
@rrfeng

从游戏开发商的角度看这个问题,其实不是能不能做,而是要不要做的问题。开发商的目标是收入和口碑(口碑一般来说也是为了长远的收入,但不绝对)。为了达到这个目标你需要讨好玩家,讨好玩家靠的是游戏体验。我们先抛开技术问题,看玩家的游戏体验是什么样的。

游戏体验包括很多个维度,我们单看玩家数这个维度。一般来说 mmorpg 中虚拟世界里玩家数量增加会带来游戏体验的提升,同时会反映到收入的提升。这和人口数不是成线性关系的,你肯定不会因为同服人数由 2000 增加到 200 万而多付 1000 倍的钱是吧。所以人口和收入的关系应该是一个类似 y = log(x) 的曲线。

我们再看制作成本。开发成本包括框架制作和内容制作,框架包括主剧情、游戏玩法、系统的策划及技术实现,内容包括场景、任务、怪物、支线剧情及美术实现。假设 wow 保持同样的地图大小,同服人数增加到目前的 1000 倍。对于一部分人来说可能会带来游戏体验的提升,而对大部分人来说这是游戏体验的灾难——挖不到矿,抢不到怪,看不到风景。这就是人口密度太大的问题,和碰撞体积没什么关系。所以肯定存在一个最优的人口密度可以使玩家的体验最大化,多了或者少了都不行。为保持这个人口密度就使得场景大小和人口数成线性关系。场景增加带来了内容制作,所以制作成本和同服玩家数之间的关系是类似 y = a + bx 的曲线。

你会发现上面两个曲线有两个交点把人口数分成三段,第一段制作成本高过收入,第二段收入高过制作成本,第三段制作成本又会超过收入。所以为了保证公司不倒闭,必须把单服人口数限制在一个区间内,超出这个区间,多了少了都不行。这就是 wow 为什么会合服的原因,这也是 wow 为什么会分服的原因。

再说技术实现,难度肯定会有,但配合合适的游戏设计方案都可以解决,把 qq 看做是大型多人在线聊天游戏的话,现在也有同服几亿人同时在线了。
2013-08-09 17:24:05 +08:00
回复了 rrfeng 创建的主题 游戏 网络游戏还不能做到取消分区/服的配置吗?
@rrfeng
魔兽世界千万级玩家,同样人口密度的情况下
开 200 个服务器,制作成本几乎为 0
游戏场景增加 200 倍,制作成本至少增加几十倍,要么增加几十倍的开发人员,要么就永远延期
2013-01-18 18:00:06 +08:00
回复了 tangyuan 创建的主题 Linux 学习linux(无gui只侧重命令行)的好材料
Advanced Bash Scripting Guide
2013-01-10 14:14:22 +08:00
回复了 21grams 创建的主题 问与答 有什么网站可以在线把utf编码转成汉字的?
2012-09-27 15:01:45 +08:00
回复了 alexkh 创建的主题 问与答 求翻译 - 一道正则题目的英文翻译
同ls,是自治系统,即internet上的一个节点,213,23,45这些是as对应的编号,在BGP(边界网关协议)中会用到,as path为经过多个as的一条路径
http://en.wikipedia.org/wiki/Autonomous_system_(Internet)
2012-09-26 22:35:55 +08:00
回复了 workaholic 创建的主题 求职 将要面世百度的“运维研发工程师”,各位大神提提意见
运维研发工程师不是运维工程师哦

在百度运维研发工程师是开发运维工具的,重点在研发

比如自动化管理大批服务器的工具开发,监控、日志管理平台的开发,网关服务开发,还有流量负载均衡及容灾系统的设计开发等等

重点在算法、tcp/ip协议
2012-09-26 15:24:04 +08:00
回复了 zhangxiao 创建的主题 问与答 关于异步编程一直有些疑惑
你说的多线程应该指的是同步多线程

同时处理多任务主要要解决的问题是怎么保存每个任务的上下文,比如同时下载多个文件,需要保存当前下载了哪些内容,接下来应该请求哪些内容

而同步多线程和是解决这个问题的两种不同方式

同步多线程采用的方法是保存整个调用栈,下次再轮到这个任务时再恢复调用栈来继续之前未完成的操作。就好比外星人把你大脑中的记忆保存下来,洗脑之后让你干别的事,完了之后再把你大脑复原到洗脑之前,对你来说,就好像中间的一些都没发生过一样

异步的方式是,代码中自己保存每个任务的上下文,只保存需要的上下文即可。好比你一件事做到一半要去做别的,就要先把这件事在小本儿上记下来,等做完别的回来看下小本儿,就知道刚才做到哪了,然后接着做。

所以可以明显看出来
同步多线程比异步多做了很多操作(本来只用在小本儿上记下来一点的,结果把你整个大脑的记忆都拷贝下来了),这样在同时进行的任务比较多的时候,时间都浪费在洗脑(线程切换)上了,所以异步效率更高

但同步多线程也不是没有优点,对于程序员来说不同手动记录上下文,操作系统会自动调度,写起来更方便(毕竟小本儿要自己手抄,洗脑是外星人帮你洗)
1  2  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   892 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 20ms · UTC 22:31 · PVG 06:31 · LAX 14:31 · JFK 17:31
Developed with CodeLauncher
♥ Do have faith in what you're doing.