作者realmeat (真肉)
看板GameDesign
标题Re: [程式] 如何建购云端运算下的多人游戏?
时间Fri Apr 16 02:00:18 2010
睡不着, 来回答你的问题
※ 引述《QgameQ (123)》之铭言:
: 小弟刚开始学习 会一点DIRECTX
: 现在想做一个多人游戏的架构 就像onlive一样
我想你应该是想说online
: 使用者只负责接收影像与简单指令的工作来进行游戏
: 伺服器负责运算所有玩家的命令以及把结果制成影像分别送给每个玩家
: 主程式放在伺服端
: 玩家客户端程式只需要对应伺服端要求所产生的介面
: 还有播放影音的功能
: 目前想到的问题主要有两个:
: 1.如何制成影像
: 用directX所绘制出来的画面 如何压缩成影像以进行传输
: 要再画出後另外写程式将之撷取下来
: 还是可以利用缓冲区的资料直接制成影像呢?
如果你这样做, 就直接把影像 送给client端就好,
记得要压缩, 频宽的费用也要算进去,
: 2.多人玩家之下
: 每个玩家都有不同的位置与镜头位置方向
: 而一个主程式只有一个镜头
: 如何用一个主程式即可依照到每个玩家的位置方向制成各种角度的影像呢?
: 关於问题2
: 如果说每个新玩家进来就多开一个主程式给予使用 似乎可以解决问题2
: 但这样似乎太吃伺服端资源 可能不到10个人伺服端记忆体就用光了
: 如果说是用thread的概念 爲每个新玩家产生一个thread
: 在thread里重新设定一个camera但主要的绘图资料还是不变呢?可以解决吗?
: 我刚开始在学习所以很多不懂 望各位多包含
: 也希望能集思各种不同的想法来做这种架构的游戏
首先, 不知道是我误解了云端运算, 还是你搞错了
第一件事情是现在炒的正热的云端运算, 其实并不是一台电脑做server而已
而是很多很多台一起当server, 印象中是称做cluster
cluster 本身也是有主从关系的, (master 以及 slave)
好处是透过平行运算的方式来处理很大宗的资料
如果你要这样做, 我第一个考虑的会是要怎样有效率的把工作分配到每一台上面
分散运算的情况可以把每一个运算的部分交给slave处理,
就是运算以及交回运算结果
就效能上的问题应该不是最大的问题, 钱砸下去就有了
其实3Dmax 就有类似的算图的系统,
不过算是比较差的就是3Dmax 要把所有图档都载入才会开始工作,
这方面会比较花时间, 不过一台算的时间跟10台一起算当然是10台比较快.
运算方面, 其实电脑很多效能都花在萤幕的显示上面
3D运算又是超级花资源的, 这样做的server建置的费用以及频宽使用费用都会提高
是否要把成本转嫁到消费者身上, 而消费者是否能接受?
这就是另外要考虑到的
如果是实验性质,
可以考虑做看看,
另外2D的门槛会比较低一点,
另外不论2D, 3D 影像送出去之前, 请把影像压缩
最後忘了说,
cluster这东西是可以租用的,
也就是你可以不用花钱买机器还有花心思去打理机器的问题
如果真的很便宜的话, 频宽+租用费用, 可能会有搞头
--
来困
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.204.146.139
※ 编辑: realmeat 来自: 123.204.146.139 (04/16 02:16)