作者VVll (信)
看板GameDesign
标题Re: [程式] 关於动态调整游戏平衡的做法
时间Thu Jul 4 21:29:35 2013
※ 引述《yan04870449 (杨伯)》之铭言:
: 假设一下情境
: 1.这是一款以socket为连线基础的网路游戏
: 2.拥有一个Web後台来观察游戏伺服器所使用的资料库内的数据
: 3.游戏中有类似转蛋的功能,而我们假定这个转蛋是设定一个百
: 分比来决定抽到的内容物的品质
: 而问题是这样子的
: 现在我希望透过修改伺服器原始码以外的方法去变更游戏中转蛋
: 的百分比,关键的需求在於
: 1.伺服器停止服务的时间越短越好
: 2.变更後的设定越快启用越好
: 最理想的就是伺服器不用重启,或是转蛋功能不会瞬间停止服务
: 就可以让设定被启用。
: 我自己目前有一些想法
: 1.使用jsp建立socket进到server,以传送封包的方式通知伺服器变更
: 2.一样建立socket,但是直接使用VC#或VC、Java等直接建立使用者介面
: 3.让伺服器可以接收80port并解析http的请求,在使用一般web来发送
: 4.建立cache server,将设定放在cache server里面
: 目前我觉得1跟2不适用,因为我认为让server外部有机会可以操作server
: 风险蛮高的;而3是自己如果要实作似乎有点吃力,但或许可以找现成的;
: 目前最顷向使用4,因为这个做法对於伺服器在水平扩充或是多台合作时有
: 很好的效果,只是又回到原本的问题...要如何修改cache server里面的设
: 定就要看每一种cache server所提供的方法了。
: 小弟不才想请版上前辈指点一下,是否有其他的解决方案;或是在现行的一
: 些网路游戏中是不是已经有甚麽例子可以参考。
写支 额外的後台程式 去做变更
修改DB的资料 与server记忆体中载入的变数值
并且 限定在特定的网域/IP下 才能进行变动
当然 变动也要记得写log
如果是MMO类型的游戏
比较简单的方法 就是透过chat ex/gm setRate 3345678(转蛋id) 99(机率)
基本就是限定GM帐号才能操作 安全点就是增加网域/IP检查
还有像FPS游戏的话 可以开启console介面去下command
毕竟是个olg server
事件处理的机制 与测试指命 都是基本
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.240.237.84
1F:→ gyd:不过很常遇到只有嘴上说说却没有提供详细需求的 07/04 23:40
2F:→ caras:「啊你就什麽设定都开给我自己调就好了」这样吗? 07/04 23:48
3F:→ LayerZ:遇到出嘴巴的千万不要好心帮他做好... 07/05 01:00
4F:→ LayerZ:我最近被开需求,常常会问一堆很白痴的基本问题... 07/05 01:01
5F:→ azureblaze:遇过要求用Unity做一套Unity给他的XD 07/05 01:01
6F:→ LayerZ:故意问,但是出嘴巴的连自己开的需求都不懂,这时後做出来 07/05 01:02
7F:→ LayerZ:反而会出事= = 07/05 01:02
8F:→ VVll:请把使用者当笨蛋 不厌其烦的厘清需求xd 07/05 01:27
9F:→ LayerZ:把使用者当笨蛋跟开需求的人是笨蛋是两回事.. 07/05 02:16
10F:→ gyd:一个是需要问, 一个是问不出来吗 XDDD 07/05 02:26
11F:推 yan04870449:我认同把使用者当笨蛋XD 07/05 10:12
12F:→ caras:这边的「使用者」指的是同组的企划…… 07/05 21:20