第一,选择什么样的架构。
不同的游戏适用不同的架构。卡牌游戏架构、MMO游戏架构、MOBA游戏架构、FPS游戏架构
第二,选择单线程还是多线程。
操作系统的同步与异步,进程与线程。
第三,如何在游戏中使用脚本。
lua语言、lua与C、C++的交互
第四,如何处理网络通讯。
消息队列(zmq等)、epoll(libevent等)
两种处理方式:
一种是跟游戏服务器耦合带一起,游戏服务器既处理问落接入相关的逻辑,也处理游戏逻辑。
一种是把网络通信部分剥离住来,向游戏服务器提供一种以消息为单位的、非阻塞的、有Qos能力的中间服务,游戏服务器看不到网络的细节。
第五,如何处理游戏通信协议。
序列化(protobuf等,lua的pbc库)包头包体设计
第六,如何设计存储结构。
不同的游戏适用不同的架构。卡牌游戏架构、MMO游戏架构、MOBA游戏架构、FPS游戏架构
第二,选择单线程还是多线程。
操作系统的同步与异步,进程与线程。
第三,如何在游戏中使用脚本。
lua语言、lua与C、C++的交互
第四,如何处理网络通讯。
消息队列(zmq等)、epoll(libevent等)
两种处理方式:
一种是跟游戏服务器耦合带一起,游戏服务器既处理问落接入相关的逻辑,也处理游戏逻辑。
一种是把网络通信部分剥离住来,向游戏服务器提供一种以消息为单位的、非阻塞的、有Qos能力的中间服务,游戏服务器看不到网络的细节。
第五,如何处理游戏通信协议。
序列化(protobuf等,lua的pbc库)包头包体设计
第六,如何设计存储结构。