我觉得游戏的逻辑开发不论是服务器还是客户端 C++ 都会慢慢的退出主流。因为逻辑与需求是密切相关的,而游戏开发的需求变化之频繁是你无法想像的,而在频繁变更调整的情况下,C++ 的不足被放大,比如编译速度慢,不能方便的热修复(经过精心设计的架构是可以的),出错就程序崩溃退出等等,所以我觉得游戏的逻辑开发会逐渐被脚本语言所替代,虽然 C++ 的性能优势明显,但是抵不住硬件越来越便宜,CPU,内存开销都不是事,更何况脚本语言出错了,程序一般不会直接退出,可以通过热修复抢救一下,可以抢救这个优势可是太大了,想想游戏上线了,砸了 N 多广告费,结果因为 BUG 导致程序崩溃,玩家体验不好,广告费可全打水漂了,如果可以通过热修复抢救一下,结果就不一样了。
上面说的跟题目关系不大,接下来说 C++ 部分。因为逻辑用脚本来实现,核心框架还是用 C++ 实现,所以这就要求 C++ 部分的代码极其可靠,CPU和内存使用上都尽可能的高效。其实一款游戏的代码绝大部分都是逻辑,基础部分主要是服务器的结构划分,进程/线程模型,网络,持久化,定时器,以及提供便于使用的接口给脚本使用。
下面根据自己玩游戏的经历去思考游戏后面的逻辑: