7

编写一个新的 3D 引擎很有趣,但我有很多。程序员开始一个新的程序员是否理智?有需要的行业板块吗?

4

4 回答 4

6

这样做的理由:

  1. 您想了解如何制作 3D 引擎,并且并不真正关心除了您自己之外是否有人使用它。
  2. 现有的引擎都没有做你想做的事,修改它们的源代码太麻烦了(如果你能得到它的话)。
  3. 你有这么棒的想法,没有其他引擎做过,所以你要这样做,因为你正在做的任何事情都不存在。

不这样做的理由:

  1. 您没有足够的这些资源:时间/预算/专业知识。
  2. 现有引擎完全符合您的需求。
于 2010-09-28T21:08:13.447 回答
5

构建新的 3D 引擎有很多原因(不分先后):

  • 旧的是第一人称射击游戏,但你想要一个飞行模拟器。
  • 旧的可以,但是不好用或者bug太多
  • 别人拥有旧的
  • 新硬件特性 XYZ 与旧引擎根本不兼容
  • 有人付钱给你建造一个
  • 你以前从未建造过。
  • 你的游戏(模拟)只需要 χ,但旧引擎提供 χ、ψ、ζ、α、β、γ、δ,甚至 π。

我现在正好在空闲时间构建一个基于 OpenGL 的 3D 引擎。通过自己实现它,我扩展了我对 OpenGL 的基本知识,而不是通过编程到其他人的接口(比几年前我实现自己的软件仿射纹理映射引擎时所做的更多)。缺点是我可能永远不会完成它:)

于 2010-09-28T21:16:52.077 回答
1

这与我是否应该编写自己的程序/技术/框架 X 而不是使用现有的问题非常相似?”这已经被问了很多,所以我不会讨论通常的样板原因。

虽然这个问题的答案总是有些主观,但很大程度上取决于提出问题的背景。

如果有人问我想了解游戏引擎和渲染,那么编写自己的游戏引擎总是有益的,因为开发代码可以说是最好的学习方式。但是,也可能已经存在可供学习的良好的开源良好文档引擎。

如果这是一项商业努力,那么它更多的是一个现有引擎是否提供所需的问题。现代商业引擎是由一些真正聪明的人编写的,包含所有最新的花里胡哨,所以它们很可能就足够了。使用两个最流行的游戏引擎开发的游戏数量之多就证明了这一点:idTech 和 Unreal 引擎。但是,可能仍然没有与技术相关的禁止因素来使用现有引擎,而编写自己的引擎会更好。例如,是否可以负担得起,发动机是否可以获得足够的许可,以及是否可以提供许可。

于 2010-09-28T23:08:43.637 回答
1

通常,如果您需要一个并且还没有适合您需要的一个,则您编写一个。

是否有人需要为他们制造的引擎,因为不存在适合他们需求的引擎?大概。

于 2010-09-28T21:08:04.703 回答