6

小团队的第一场比赛应该选择什么,当他们的时间不多但有很大的野心时?我是一位经验丰富的程序员,但在此之前没有做过任何游戏编程。我的设计师非常有才华和艺术性,他大约一年前就开始使用 3D,但从那以后就没有做过了,所以他可能需要一些时间来重新学习它,我不确定他是否能够做到尽管他的平面设计技能非常出色,但他还是做得很好。

我们主要关心的是尽快完成游戏,并且要轻松完成,因为这是我的第一个游戏编程项目。同时,我们不希望有任何限制可能会阻碍我们以后的进步,或者以其他方式使游戏在某些方面变得不好玩。

例如,我了解到某些动画在 2D 中是不可能的,例如旋转等。我希望能够让玩家的角色能够变形为动物,并且必须能够射击怪物,(比如射击一支箭,看到它飞过并击中了另一个人)。这些东西在二维中可能吗?

未来,如果我们想从 3D 转到 2D,是否可以不完全重写游戏?

4

6 回答 6

9

您不必使用 3D 来实现“3D 外观”。旋转、运动或变换之类的东西可以预先录制或渲染为动画或图像序列,并无缝集成到 2D 游戏中。在 2D 中唯一不可能的事情是在您的“游戏空间”内自由导航(如自由行走或飞行、任意转动等)。

然而,在决定 2D 或 3D 时,主要关注点应该是游戏玩法。有些游戏绝对需要 3D(射击、模拟),而其他游戏则完全不需要(冒险、谜题……)。因此,您实际上不必做出决定,只需选择更适合您的游戏创意的选项即可。

就个人而言,如果可能的话,我会避免在您的第一次游戏尝试中使用 3D,以消除随之而来的所有限制和麻烦。

使用 3D 时,您通常必须决定一个 3D 框架,这将严重影响您的软件设计、游戏外观和整体性能。例如,Java3D 带来了一个您必须适应的复杂类结构。为了让这些 3D 东西能够正常工作,我们付出了很多努力。像旋转正方形这样简单的事情会演变成包含四元数的矩阵运算。每个效果都必须在复杂的 3D 世界中完成,并且其 2D 投影外观与您的预期一致。更不用说 3D 应用程序经常遭受难以克服的非常刻板的外观。

在 2D 中,您从字面上避免了一维复杂性。您可以按照应有的方式进行所有操作,您可以使用标准图形应用程序和打开的文件格式来简化设计人员和开发人员之间的工作流程。许多伪 3D 效果,如视差运动、景深和预渲染图稿,都可以在 2D 世界中呈现惊人的外观。

于 2008-12-28T15:53:56.893 回答
5

你应该去二维。您已经说明了采用这种方法的几个原因:

  • 你是一个小团队,3D 需要更多的工作。
  • 这是你的第一个游戏,所以你需要让它尽可能简单,否则项目可能会失败(你会面临很多风险!)
  • 3D 艺术家需要重新学习工艺!
  • 你有一个(似乎是自己设定的)截止日期。
  • 等等。

3D 需要很多时间,最好将其投资于改进游戏的其余部分。想想 3D 时代之前存在的所有精彩游戏。

不要害怕接受限制:虽然 3D 可能会给您带来很多可能性,但 2D 可能会带来更多创造性的工作!

于 2008-12-28T16:00:50.563 回答
3

我会考虑几个因素:

  1. 是手机游戏还是小程序游戏?如果是这样,我会选择2D版本。在这种情况下很难获得正确的 3D。
  2. 你的设计师更喜欢什么?他能否更快地为角色建模、纹理和动画,而不是创建 2D 角色所需的所有精灵?
  3. 工具支持。您的设计师可以在 2D 和 3D 中生成哪些输出格式?中间件是什么格式,你要使用,能够处理吗?您的 3D 引擎能否加载或至少转换 .obj 文件(只是一个示例,可以使用任何其他模型格式。)?

即使你想走 3D 的路,你仍然可以制作 2D 游戏(有时称为 2.5D 或伪 3D)。此外,还有一些不错的第三方框架可用于 Java 中的 2D 和 3D 内容。您不必使用 java2D/java3D。

于 2008-12-29T00:00:50.063 回答
2

鉴于您的要求,我会选择 2D 。您有更多工具可供选择。有更多可用的人才来承包艺术品……而且资产管道更简单。最终,一切都将取决于游戏本身的优点。3D 有时对普通用户来说更难理解。

根据您的概念化,旋转和变形在 2D 中应该是完全可能的。您甚至可以考虑使用伪 3d 方法 ala Paper Mario ..

如果您在设计代码结构时考虑到这一点,那么从 2D 迁移到 3D 应该不是主要问题。..

于 2008-12-28T15:56:53.660 回答
2

我也推荐2D。3D 游戏对用户计算机的图形要求更高,而碰撞检测等许多事情在 2D 中要简单得多。您甚至可以制作 3D 角色模型,然后将它们投影到 2D 以制作实际游戏的精灵。Puzzle Pirates ( http://www.puzzlepirates.com/ ) 采用了这种方法,它在一致的照明等方面效果很好。

于 2008-12-28T16:03:10.980 回答
1

我认为编写 2D 或完整的 3D 游戏需要一种完全不同的设计方法,以后无法轻易修改:SUN 为这两个开发决策提供了Java 2D APIJava 3D API。对于第一款时间紧迫的游戏,我会投票支持 2D 版本。如果游戏玩法有趣且设计精美,那么 3D 不是必须的。

于 2008-12-28T16:00:07.770 回答