1

我想开发一款游戏,但为了快速制作原型,我想让它尽可能简单,所以我会在 GDI+ 和 WinForms 中以自上而下的 2D 完成所有工作(嘿,我喜欢它们! ),所以我可以专注于游戏本身的逻辑和架构。

我考虑将整个游戏逻辑(服务器)放在一个程序集中,WinForms 应用程序将成为该游戏的客户端,如果/当时间合适,我会编写一个 3D 客户端。

我很想使用 XNA,但我还没有真正研究过它,所以我不知道是否需要太多时间来加快速度 - 我真的不想花太多时间做其他事情比游戏逻辑,至少在我有灵感的时候。但在从 2D 过渡到 3D 时,我不必放弃一切并转移到新平台。

另一个想法是克服它并至少学习 XNA/Unity/SDL/某些东西到那个水平,这样我就可以制作与 GDI+ 中相同的 2D 版本,而且我不必再担心切换框架了。

假设游戏是那种你从后面看一个花花公子的游戏,你在游戏世界中奔跑并与物体互动。所以现在鸟瞰视角是可行的。

谢谢。

4

3 回答 3

4

你真的应该咬紧牙关,看看你提到的框架之一。

SDL 相当不错,但老实说,如果您只想开始编写游戏,XNA 是令人难以置信的。

如果您已经在 C# 方面有经验,您可以按照在线教程进行操作,但是只需阅读一本有关 XNA 的书就足以让您真正开始学习。

于 2010-03-30T13:11:23.353 回答
3

这对评论来说太长了,但是......您的游戏物理世界应该几乎独立于您用来查看它的视图类型。例如,RTS(比如魔兽争霸 III)提供 3D 视图和“迷你地图”的情况并不少见。如果你仔细想想,2D 的《魔兽争霸 1》与《魔兽争霸 3》没有什么不同(后者是假 3D,但使用真实 3D 表示)。

另一个例子,你正在谈论观看一些角色行走:它与 CounterStrike 没有什么不同(好吧,在 CS 中你老兄,但无论如何),你有 3D 视图小地图。除了游戏玩法,我肯定可以只使用我的小地图在“Dust”(最著名的 CS 地图之一)周围走动:我不需要 3D 视图来四处走动(现在当然要瞄准我不能使用小地图)。

在很多游戏中,“物理世界”与“3D世界”是不一样的:否则不同配置的人将无法玩网络游戏。

另一个 CounterStrike 的例子:我有一个非常老的蹩脚的 celeron 和一个蹩脚的显卡,几乎不足以运行游戏,所以我修改了游戏,为角色使用“低多边形”模型(这大大提高了渲染速度,因此游戏在我蹩脚的配置上非常可玩)。我仍然可以玩网络游戏。为什么?因为改变视图世界并不会改变物理世界

所以“视图”真的不应该过多地影响你的模型,因为视图是一个细节。现在当然你必须以某种方式决定你想要什么:但是如果你提到的“老兄”可以使用 2D 自上而下视图以及等距视图以及“类似 FPS”的 3D 视图来跟踪,那么无论如何,以与视图完全无关的方式模拟您的“物理”。这样您就可以从简单的东西开始:2D 视图,使用像素(如 CounterStrike 或魔兽争霸 3 小地图)。稍后您可以开始添加 3D 视图。

现在你需要使用什么样的世界取决于你想要什么:哎呀,有“2D 物理/3D 视图游戏”、“3D 物理/2D 视图游戏”、“2D 物理/2.5D 视图游戏”(GIYF 如果您不知道视频游戏开发中的“2.5D”术语)等。

我的观点是:视图与模型/物理无关(再一次,否则人们无法玩反恐精英或魔兽争霸的网络游戏)。

于 2010-03-31T08:01:52.150 回答
1

我不是游戏程序员,但我知道 2D 和 3D 建模物理问题之间的差异是巨大的。

我同意从 2D 开始是个好主意,但不要期望能够在 3D 版本中重用大部分代码。3D 是另一种动物。

于 2010-03-30T10:00:43.313 回答