在早期早期,像“冰冻人”这样的引擎是什么样的?[关闭]


15

我在《战地风云》中玩得很开心,一切都被它的外观和声音震撼了。我只是想知道游戏引擎是如何开始生活的。在编写代码时,它最终会做什么,在完美地渲染所有纹理,光和粒子之前,它做了什么?

是否有任何好的文章,在线文章或任何人看到的例子?


1
不是直接的答案,但观看此视频的全部5部分可能会让您对技术有所了解youtube.com/watch?v=EN549g0GNgc#t=9m22
Stowelly 2011年

Answers:


25

如果您是从 开始,并注意极少数大型游戏引擎是从头开始编码了,并且注意,这是一个例子,不一定是如何始终工作。。。

渲染:

首先渲染平面阴影的立方体。向其添加基本的灯光效果。添加一种移动相机的方法。现在,您可以绕着一个无聊的立方体飞行,它悬浮在无限的黑色空隙中。好极了。

接下来,您可能要导入模型。至少,您的艺术家可以制作一个演示模型(茶壶是令人惊讶的传统),但他们可能拥有可以交给您的实际游戏模型。同样,我们现在仍坚持使用平面阴影,因此它看起来像是由制成的。。。好吧,这不是现实的东西,而是磨砂塑料和瓷器之间的交叉点。,但没有良好的照明。而且我们仍然处在完全静止不动的地步。

接下来的三个主要步骤可以按任何顺序进行。

  • 首先,您需要地形。大多数现代游戏将渲染分为“静态几何体”和“角色”,其中静态几何体包括不变的事物(墙壁,地面,路灯柱),而角色包括确实发生变化的事物(玩家,车辆,可破坏的灯柱)。两者的基本渲染概念相同,可以对静态几何进行优化,而不能对角色进行优化。您将需要地形来使游戏工程师真正着手,因此,如果他们在等您,那么是时候至少安装基本的地形渲染了。

  • 其次,您需要纹理化。这是一个巨大的主题,您很可能会达到一个里程碑,要做一些其他更关键的事情,然后再重复一次。您的第一遍可能只是向模型添加纹理。第二次通过可能会改善照明和表面行为。您的第三遍可能会增加阴影(我可以填写整个讨论阴影的回复)。根据您在玩哪种游戏,这可能会变得非常复杂。您还可以在这里的某个位置将整个游戏引擎切换为延迟渲染。

  • 第三,您需要动画。您的动画师(假设您不居住在1995年)将为其模型设置动画装备,包括贯穿模型的骨骼以及有关在某些动画过程中骨骼如何运动的信息。您可能会从按需播放动画的能力开始,然后添加将动画混合在一起的能力。

完成所有这些操作之后,就该着手进行兼容性了。如果您正在开发AAA游戏,那么您可以采用某种方法在多种不同的硬件上测试代码-也许是内部的,或者您是外包给测试公司的,无论如何。您的许多代码将在特定的图形卡或特定的驱动程序版本上中断,并且您可以修复尽可能多的代码。

现在也该考虑优化了。渲染是一个很大的速度问题,因此现在您必须弄清楚如何在最深层次上利用硬件,以便尽可能快地运行。如果您认为这可能与“兼容性”冲突,那么您是对的!完全可以!您会发现,最佳的优化将完全不适用于某些卡。您可以平衡所有这些因素。

在这一点上,您的美术师将需要新的纹理处理工具或新的动画功能,并且关卡设计人员将需要新的地形渲染技术。返回“可以按照任意顺序完成接下来的三个主要步骤”,然后重复进行直到游戏完成。

游戏玩法:

我将跳过在视觉上不太明显的部分。首先,您必须等到地形渲染进入,尽管在那之前您可以做很多后端工作。

一旦掌握了这些,就可以设置一些基本的冲突。这很可能会采取以下形式:飞到游戏中的某个位置,然后按一下放下立方体的按钮。立方体掉落并撞击地面。一旦魔方始终如一地落在地面上,您就可以开始设置玩家的移动,因此您可以像玩家一样在世界范围内奔跑。

一旦完成了基本的运动物理学工作,您将再次进入“这些可以同时完成”部分之一:

  • 战斗需要实施。您需要可以在某物上射击的事物,并且所有这些事物都需要适当地表现。

  • 物理需要实现。碰撞已经起作用,但是碰撞只是物理学的一小部分。当有人用吉普车从坦克上爬下时,一切都需要大致按预期进行。

  • 游戏机制需要实现。你怎么知道什么时候赢了或输了?事物多久生成一次,由什么控制?如果共产党征服了一个产卵点,为什么它会继续产卵无政府主义的车辆呢?诸如此类的事情。

同样,所有这些可能都需要花费任意时间,具体取决于您的设计师希望您完成多少工作。您还将花费大量时间来查找错误(“嘿,看看当我将坦克推向这架喷气战斗机的机翼时会发生什么”)。请注意,在无纹理的世界中,或者在角色装备位置处四处运行的模型,都会发生很多这种情况。,或者只是大盒子上刻有“ TANK”字眼的坦克时,。

用户界面:

UI实际上可以在主要渲染代码进入之前启动,因为UI和游戏世界渲染倾向于使用完全不同的代码路径。而不是从多维数据集开始,您将以一个框开始,然后将纹理添加到该框,然后将文本添加到该框。

在这一点上,您的生活花费了很多时间来尝试编写通用小部件,同时仍然留出了足够的UI时间,以便设计师和游戏机制开发人员可以用模糊的逼真度来测试游戏。有时,您的UI美术师会对UI产生一致的感觉,然后您将开始处理最终的UI元素,同时在实际播放器上测试这些UI元素以确保它们是可理解和可用的。

我可以根据需要更多地谈论这些,但是如果我这样做,它将变成一个巨大的响应,所以现在,我不会:)


4
太棒了..谢谢您的时间和迷人的见解!
2011年

If the Communists conquer a spawn point, why does it keep spawning Anarchist vehicles?正在制作有关西班牙内战的游戏?
彼得·泰勒

1
不错,但您的信息仅适用于基本游戏,不适用于AAA游戏。如今,技术只是成功的一半,而工具则是另一半。只需环顾UDK,您就会看到其中包含了许多不同的功能。
PeterØlsted'11

1
同样,如今,使用漫反射,镜面反射,环境和发光(以及其他),纹理和着色器的简单概念变得更加流行。看看现在如何创建材料。udk.com/elements/img/galleries/features-shaders-hero.jpg
PeterØlsted2011年

1
这是一个很棒的回应。
jcora 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.