我正在设计一款游戏,但是这个问题适用于任何需要集群中的节点和主服务器之间进行双向通信的情况。我是很新的集群,但我积极计划在围棋和偶尔D.D或Go群集游戏服务器
我真的想用现代语言(不是C/C++),所以我选择了这两种语言的原因是:
- 阵列片
- 良好的并发支持
- 跨平台&本地编译(多编译器实现)
- GC(两个工作在精确GC)
我读过https://stackoverflow.com/questions/3554956/d-versus-go-comparison和The D Programming Language for Game Development。
在高层次上,我的比赛会做的大部分处理服务器端,与客户端只是从他们的角度呈现游戏状态。游戏旨在扩展,所以它需要在群集中进行操作。组件大部分是CPU绑定的,并且异步地更新到主服务器,这与客户端共享游戏状态。大多数计算取决于用户输入,因此这些事件需要发送到各个组件(因此是双向RPC)。
的原因,我喜欢d:
- 手册内存管理
- 模板/ CTFE
- 代码的安全性(@safe,合同,输入/输出)
的原因,我喜欢去:
客户端可能会写入D,但这不应该对服务器产生影响。
我倾向于D,因为手动内存管理被烘焙到语言中。虽然它没有RPC的漂亮库,但我理论上可以实现这一点,但我无法在Go中优雅地实现手动内存管理。
鉴于两种语言之间的选择,你会用哪种方法解决这个问题?
真的没关系。选择一个你更喜欢的,并开始编码! –
@BrendanLong - 这是问题的一部分,我喜欢他们两个!我只是寻找一些指导,以这种或那种方式推动我,最好来自具有集群/游戏设计经验的人。 – tjameson
尽管这个问题并没有真正的建设性(通过本网站的定义),但它的制定很好,可以看出作者花费了大量的精力来研究这个领域,所以它很值得阅读。荣誉。 – kostix