Re: [请益] 碰到与主管在设计理念上不合该怎么自保

楼主: TSW (翘班帝国)   2016-10-16 20:11:55
前面几位大大已经很详细的解释何谓政治问题与解决方法,
所以我觉得有必要稍微来讨论一下技术问题,
先自我介绍一下,我之前曾经跟几位好伙伴一起搞过个云端运算+游戏的平台,
详细可以参考 http://kami-gami.jp/
(这个是2012年的成果,该专案已死)
正好我是负责制作游戏引擎、游戏脚本、运算实体跟协作负载平衡的人,
自认为有点资格稍微提供一些浅见(也只有一些浅见XD)
以下假设你们是用 C 或 JAVA 土炮一个游戏服务器出来。
※ 引述《tommady (tommady)》之铭言:
: 我是原po, 先感谢各位前辈的指教和建议,
: 小弟觉得还是画图来解释可能比较清楚.
: 我主管的想法: thought1
: https://goo.gl/fz9ktO
这张图有几个问题
1. server 部分的绪配置不太合理。我不太懂为什么要拆成三个绪来做,你可以参考传统
服务器的结构,理论上会有一个主绪+多个子绪。主绪负责管理整个process的事情,
子绪负责其他所有事务。通常每个子绪都完全相同没有差别。
2. game logic 端的事情其实一个绪也办的到,请参考 libev、select、epoll
3. 我看不到资料是如何回传的,这其实很影响设计。
上面三个问题,可能表示你对整体架构还不够了解,你应该多去了解一下。最起码 game
server 的部分要画的完整些,不然也只能用猜的。
: 我的想法: thought2
: https://goo.gl/3dFlLi
前一张图有的问题,这边也有,另外还多了几个缺点
4. 我看不到 game server 如何将 command 传递给 game script,这部分据你所说,应该
是你跟你主管最主要的歧异。这边不画清楚的话,有画跟没画一样喔XD
5. 假设 command 是 follow 在 start 之后一起传递,那等于说:
‘你每次要处理 command 的时候都一定要先 wait start’
‘你的 game script 的 process 没有 sleep 的能力’
如果你 game script 的 process 启动时要读取各种资料,会额外多花很多时间。
(一般会从资料中心读取一些使用者资料、购买资讯、游玩纪录等)
: 其中,
: thought1的game logic thread1 处理命令,
: thought2的command handle,
: 都是同一个function,
: 只是由哪一个地方执行, 而有了争议.
: 小弟以为, 按照我的想法, 可以减少重复的"听"这个动作,
: 也减少不必要的IPC传送, 还有一堆的Mutex.
: 还请各位指教指点.
: 感谢.
你应该再多去了解一下整体设计,很多时候不需要急,让时间证明一切。
以上是一些个人浅见,完全没有谈论到 response time 、 memory usage 、 scalable
因为你们的专案离这些细节还差太远,只是一个最基本的 game engine 而已,
(而且还不支援使用者脚本)
先把东西弄出来再说吧,没必要为它吵架。
作者: tommady (tommady)   2016-10-16 20:20:00
我们用Golang实做, 所以和client建立连线或者client传来命令的时候是单独的一个goroutine我的想法是game server收到命令, 就单纯在该goroutine解决, 而不是还得传channel给game logic去解决.
楼主: TSW (翘班帝国)   2016-10-16 20:25:00
game server 跟 game script 是一对多的关系吗?
作者: tommady (tommady)   2016-10-16 20:27:00
理想是一对多, 但是主管明讲, 要一对一
楼主: TSW (翘班帝国)   2016-10-16 20:28:00
一对一的话就随便,真的,就是个 shit 。
作者: tommady (tommady)   2016-10-16 20:29:00
这也是令一个争执点...唉...y
楼主: TSW (翘班帝国)   2016-10-16 20:31:00
建议你可以稍微问一下公司内对这专案的评价如果是 someone wanna buy some shit 就 OK如果不是就快闪XD哦忘了说,仅供参考XD
作者: tommady (tommady)   2016-10-16 20:32:00
收到, 小弟已经开始准备投履历了XD, 谢谢您.
作者: tka (tka)   2016-10-16 20:44:00
是百臂!
楼主: TSW (翘班帝国)   2016-10-16 20:45:00
是TKA!!!!!!
作者: pttworld (批踢踢世界)   2016-10-16 21:42:00
讨论串原po应该不会投到文原po之所在吧。
楼主: TSW (翘班帝国)   2016-10-16 21:51:00
impossible 小弟我现在是养生状态
作者: pttworld (批踢踢世界)   2016-10-16 22:33:00
知足是幸福,有钱是贵族,羡慕是纯朴。
作者: tommady (tommady)   2016-10-17 07:27:00
感谢您的建议, 5的建议我们有考虑, 2的建议正是争议点.所以我才坚持game logic不应该做"听"的行为.
作者: bndan (seed)   2016-10-17 13:15:00
所以是百臂倒了..囧?? 不然怎说失败 = =??
楼主: TSW (翘班帝国)   2016-10-17 14:33:00
倒很久了@@
作者: genesic (嗯?)   2016-10-17 14:55:00
根据我的经验,花了多余的时间做出了一对多,但最后在用的时候都是在一对一所以我很认真的建议,那个你们可以比较快做出来就用哪个

Links booklink

Contact Us: admin [ a t ] ucptt.com