我在写FPS XNA游戏。这会是多人,所以我想出了以下内容:为FPS游戏编写XNA游戏服务器的最佳方式是什么?
- 我做两个不同的组件 - 一个用于游戏逻辑和第二绘制它与游戏无关的东西(像火箭步道)。
- 连接的类型是客户端 - 服务器(不是对等),因此每个客户端首先连接到服务器,然后游戏开始。
- 我完全决定使用
XNA.Framework.Game
类来让客户在窗口(或全屏)中运行游戏,并且使用GameComponent
/DrawableGameComponent
类来存储游戏对象并更新&在每一帧上绘制它们。
接下来,我想找到问题的答案:
我应该在服务器端呢?我有几个选择:
- 在服务器上创建我自己的
Game
类,它将处理所有的游戏逻辑(只有,没有图形)。我不使用标准Game
类的原因是当我打电话给Game.Run()
时出现白色窗口,我无法弄清楚如何摆脱它。 - 使用某种方式原始XNA的
Game
类,这是已经有GameComponent
收集和更新事件(每秒60次,正是我需要的)。
UPDATE:
我得到了更多的问题:
首先,我应该用什么插座模式? TCP还是UDP?而如何居然让客户知道这包,就是要处理后一个?
其次,如果我打算使用exacly GameComponent
类将其存储和处理服务器的游戏对象,如何让他们向在客户端上绘制?继承他们(当他们被结合到一个组件)?还有别的吗?
这真的很有帮助。 – AgentFire 2012-03-27 07:02:37