0

由于缺乏资金和时间,我们不得不在 2D 中制作我们的游戏,尽管我(开发人员)更喜欢在 3D 中完成。我讨厌用户加入游戏,只是认为图形看起来很糟糕然后离开。虽然我想我们只需要尽力而为。

话虽如此,我想以这样一种方式开发游戏,即如果时机成熟,我们可以尽可能轻松地移植到 3D。我知道必须从头开始重写整个内容的游戏。我不想那样做,所以我想在游戏编程时使用一些技巧/指南,这样当我们转向 3D 时,它就像更改 1-5 个图形渲染类的代码一样简单(或关闭)并且 3D 图形将运行。

PS这是一个多人角色扮演游戏(不是MMORPG,现在规模要小得多)

4

4 回答 4

5

实现这一点的最简单方法是以 3D 编写游戏,并使用 3d 到 2d 投影(例如平面或立面)渲染视图。如果游戏的内部机制是 2D 的,并且您尝试移动到真正的 3d 帧,那么您可能会更好地重写。这在一定程度上还取决于您所说的 3D 是什么意思,以及您是否有有效的映射选项。例如,微软的帝国时代是 3D 渲染的,但作为 2D 计划可以很好地工作。另一方面,像《半条命》或《雷神之锤》这样的第一人称射击游戏则不会。

于 2009-01-01T15:24:28.013 回答
3

由于缺乏资金和时间,我们不得不在 2D 中制作我们的游戏,尽管我(开发人员)更喜欢在 3D 中完成。我讨厌用户加入游戏,只是认为图形看起来很糟糕然后离开。虽然我想我们只需要尽力而为。

我不认为一切都必须是 3D 才能看起来不错。做得好的 2D 看起来比一些标准的 3D 图形好很多倍。要获得出色的 3D 图形,您必须投入大量精力。如果您的预算不允许这样做,我宁愿尝试在游戏开发上投入大量精力。

想想(有点过时的)暗黑破坏神 II,它不是 3D 但仍然有一些漂亮和好看的图形。

当然可以构建一个可以更轻松地更改图形表示的体系结构,但我认为它几乎永远不会像您描述的那样简单。当然,如果您只是为了 3D 而需要 3D,则可以这样做(而不是您现在渲染 3D 模型的位图),但这有点毫无意义。如果你想使用 3D,玩家应该能够使用它(例如通过移动相机,拥有更多的自由度,......)但这必须在游戏的整个设计中加以考虑,因此要认真考虑影响游戏性。

于 2009-01-01T15:26:49.770 回答
2

您可以使用 GL 正交视图。这将允许您仅使用 2D 坐标在屏幕上绘制,如果您稍后想要 3D,请从正交视图切换到透视视图并且您拥有 3D,但是我认为它不会帮助您重用代码,因为 2D 正交视图通常使用纹理完成,您不能将纹理转换为 3D 网格。

也许更好的方法是在 3D 中完成所有操作,然后将相机设置为从上方看,如果您稍后这样做,您可以通过重新定位相机并制作更好的模型和纹理来切换到 3D。这个选项听起来更好,但在不更改代码的情况下,您可以在 2D 到 3D 的可移植性之间进行更多的工作。

于 2009-01-01T15:27:01.830 回答
1

MVC模式应该会有所帮助。

我想你已经知道了,但是你看过Java3D吗?也许有一个基于此的可替换的 3D 渲染视图(但不一定是经过打磨和生产就绪的)将使您保持诚实,这样您就不会以某种可怕的方式与 2D 联系在一起。它可以像渲染你的 2D 东西一样简单,添加一些 Z 定位。

于 2009-01-01T15:24:13.067 回答