我正在设计一个小型足球游戏,其中游戏引擎(计算玩家移动等)在服务器上运行,渲染和键盘/鼠标处理由客户端完成。对于服务器(Haskell),我想使用以下内容:
服务器基本上运行两个线程:happstack服务器接收HTTP GET请求,将键盘/鼠标命令放入队列中,从第二个队列中读取当前游戏状态,并回答HTTP GET请求。
第二个线程运行一个Yampa游戏引擎,如Yampa Arcade paper所述:游戏引擎尽可能快地计算新回合(无打勾号)并将结果放入渲染队列中。
- 用于客户端-服务器通信的Happstack
- 用于游戏引擎的Yampa / Reactimate
服务器基本上运行两个线程:happstack服务器接收HTTP GET请求,将键盘/鼠标命令放入队列中,从第二个队列中读取当前游戏状态,并回答HTTP GET请求。
第二个线程运行一个Yampa游戏引擎,如Yampa Arcade paper所述:游戏引擎尽可能快地计算新回合(无打勾号)并将结果放入渲染队列中。
一般问题:这个架构看起来可行吗?
具体问题:如何设计服务器端渲染队列:是否使用Chan?如果游戏引擎的平均速度比客户端上的“打勾”更快,队列将变得越来越长。如何用Chan处理这个问题?
非常欢迎您的评论!