在游戏开发中稍后从2D过渡到3D

时间:2010-03-30 09:49:55

标签: c# rad

我想开发一款游戏,但为了快速进行原型设计,我希望尽可能保持简单,所以我会在GDI +和WinForms中用自上而下的2D做一切(嘿,我喜欢他们!),所以我可以专注于游戏本身的逻辑和架构。

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

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

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

让我们说游戏就是你从后面观看一个家伙的游戏,你在游戏世界中游戏并与物体互动。因此,目前的鸟瞰视角是可行的。

感谢。

3 个答案:

答案 0 :(得分:4)

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

SDL非常好,但老实说,如果你想开始编写你的游戏,XNA是不可思议的。

如果您已经熟悉C#,那么您可以按照在线教程进行操作,但只需在XNA上阅读一本书即可让您真正开始学习。

答案 1 :(得分:3)

这对于评论来说太长了但是......你的游戏物理世界几乎应该与你用来查看它的视图类型无关。作为一个例子,RTS(比如说魔兽争霸III)提供3D视图和“迷你地图”并不罕见。如果你考虑一下,2D的魔兽争霸1与魔兽争霸3没有什么不同(魔术3D是假的,但用真实3D代表)。

另一个例子,你说的是看一些角色走路:它与CounterStrike不一样(好吧,在CS你 这个家伙但是无论如何),你有你的3D视图并且也是小地图。除了游戏玩法之外,我肯定可以只使用我的小地图来走动“Dust”(最着名的CS地图之一):我不需要3D视图来走动(现在当然是为了瞄准我不能使用迷你地图)。

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

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

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

现在你需要使用的世界取决于你想要的东西:哎呀,有“2D物理/ 3D视图游戏”,“3D物理/ 2D视图游戏”,“2D物理/ 2.5D视图游戏” (如果你不知道电子游戏开发中的'2.5D'术语,那么GIYF等)

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

答案 2 :(得分:1)

我不是游戏程序员,但我知道在2D和3D中建模物理问题之间的区别很大。

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