什么是“游戏程序员”?


Answers:


44

当公司谈论雇用一名游戏程序员时,他们所谈论的是一名程序员,他将负责直接涉及游戏体验的代码。也就是说,程序员将负责实际构建游戏,而不是引擎或更大的游戏系统。但是除此之外,事情变化很大:

一些公司希望游戏程序员可以实现用户界面。有些没有。有些公司希望他们实现AI代码,而有些则没有。有些人希望他们实现音频代码,有些则没有。老实说,游戏程序员中的“游戏” 是“我们没有聘请专家做的所有事情”的行业简写。因此,这些程序员需要非常多才多艺,并且需要能够快速学习新学科。

我在五个不同公司的商业行业担任游戏程序员近15年。

我的经验是,在一些公司中,游戏程序员被认为是初级或入门级的职位。毕竟,只从事单个游戏的程序员不需要像那些需要同时支持许多不同游戏的系统上的程序员那样复杂,这是引擎程序员所需要的。在这样的公司中,如果游戏程序员真的做得很好,那么如果有一天他可以证明自己的价值,他可能会被提升为引擎团队。或者,如果他在特定领域表现出才能​​,他可能会成为专家。

在其他公司中,游戏程序员被认为是中级职位。从事单个游戏的程序员需要有一些有用的经验并且可靠。经验不足的程序员可能会得到不受欢迎的工作以减少工作(数据管道,工具等),并最终被允许升职为“游戏程序员”工作。在这种系统中,继续做得很好的游戏程序员可能会升任项目领导角色,或者升任引擎团队。

在其他公司中,游戏程序员被视为高级职位,也被视为半设计职位。这些程序员被认为是优秀的,经过验证的程序员,而且具有强烈的设计敏感性和资格,因为他们直接接触对玩家的游戏体验产生最大影响的代码。在这种系统中,真正优秀的游戏程序员可能永远永远是游戏程序员-这被认为是他可以填补的最有价值的职位。

根据一般经验,公司的游戏越好,他们认为游戏程序员的职位就越高级(因此,实际从事这样的工作越困难)。


18

我总是发现它有助于举例说明。

  • 游戏程序员将被赋予以下任务:实施近战战斗系统,实施健康再生机制或实施玩家跳跃控制。

  • 引擎程序员(您会称呼不是专门为游戏程序员的人)将被赋予以下任务:实施延迟照明,动画系统或网络层。

关键区别在于“客户”是谁。对于游戏程序员来说,它是设计团队-他们的任务是使设计变为现实。对于引擎程序员,通常是其他程序员。引擎程序员制作技术和系统,然后由游戏玩法程序员和内容创建者用来实现设计。

引擎程序员编写的代码在很大程度上与游戏无关,而同一技术通常可以在多种游戏中使用。游戏程序员倾向于编写与所制作游戏非常相关的代码。而且总是存在重叠-有时要实现游戏性,您需要一些新的引擎代码。

游戏编码不比引擎编码更难或更容易。但是,肯定是稍微不同的技能组;您通常需要更有创造力,并能够提出解决方案。您的目标不是创建完美的可重用系统(引擎程序员的理想选择),而是创建最佳的游戏实现。因此,引擎编程中的一项资产(注意细节和精心设计的结构)可能会成为游戏编程中的障碍(在这里,适应性和迭代时间更为重要)。优秀的游戏程序员知道何时正确执行操作(何时设计可靠并且代码将在许多地方使用)以及何时快速执行(何时仍在设计中,并且您的代码很有机会)一旦测试就被丢弃)。

最重要的是,游戏程序员必须能够在引擎程序员所不能达到的水平上与设计团队合作。除了明显的沟通技巧外,这意味着您需要比引擎程序员更熟悉其他游戏设计,因此当设计师说“使其像Zelda一样工作”时,您就知道他们在说什么。

要学习成为一名引擎程序员,您需要深入研究一项技术并学习其工作原理,并可能实现自己的版本。游戏只是展示技术的舞台。

要学习成为一名游戏程序员,您需要使用别人的引擎,并以尽可能多的方式使用它。换句话说,如果您想成为一名游戏程序员,那就制作游戏,而不是技术


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.