0
点赞
收藏
分享

微信扫一扫

软件工程师与游戏开发者深度对比:技术路径与职业选择

软件工程师 vs 游戏开发者 – 哪个更适合你?

行业充满机遇。计算机科学毕业生正处于选择职业道路的绝佳位置。例如,你可以选择成为软件开发人员或游戏开发人员。

为了帮助你更轻松地做出决定,我们将探讨软件开发和游戏开发的不同方面。阅读本文后,你将掌握做出决定所需的所有信息。

如果你不是计算机科学毕业生,而是刚开启编程之旅,请继续阅读,本文将解答你的许多疑惑。

在开始之前,我们先简要解释软件开发和游戏开发。

什么是软件开发?

软件开发是计算机科学的一个领域,涉及软件创建,个人和团队在其中设计、原型化和开发软件。

每个软件的核心都是程序——一组让计算机执行任务的指令。作为软件开发人员、程序员或工程师,你需要编写指令组合。然而,这个角色并不像听起来那么简单。

通常,软件开发包含四种基本软件类型:

  • 系统软件:提供核心功能,如磁盘管理或操作系统。

    • 编程软件:包括编译器、调试器、链接器等。
    • 应用软件:让你执行任务,最佳例子包括生产力套件、媒体播放器和办公软件。
    • 嵌入式软件:在设备上运行并控制机器(如汽车、网络和机器人)的软件。 你可以通过多种方式参与软件开发。软件开发角色多种多样,如下所示:
  • 程序员/编码员:执行特定任务编码,例如编写进行搜索、合并数据库或路由通信的代码。他们使用Python、C、C++等编程语言。

    • 软件工程师:关注软件开发的更广泛方面,包括使用建模语言工具设计解决方案。他们关注软件复杂性并为程序员和开发人员生成任务。
    • 软件开发人员:处理整个软件开发生命周期,还编写代码并进行测试和维护。此外,他们还管理开发团队。

什么是游戏开发?

游戏开发关乎创建视频游戏。团队或个人参与游戏开发过程的设计、开发和发布。

作为游戏开发者,你必须处理游戏开发的不同方面,包括编码、工程、概念化、渲染和测试。然而,有特定角色来简化游戏开发过程,尤其是在大型项目中。

如果你来自非编程背景,会发现游戏开发很难。但它确实提供了更多非技术性创意方面,如声音和设计。

你会发现框架和游戏引擎是游戏设计的核心。这些提供了图形用户界面(GUI)来简化视频游戏的设计和编码。如果你刚起步,可能会觉得Construct和Game Maker等游戏引擎有用。但行业领先的游戏引擎是Unity、Unreal Engine和Cry Engine。

如果你选择成为游戏程序员,可以从初级程序员开始,专注于更专业的方面,例如:

  • 游戏引擎程序员
    • 物理引擎程序员
    • AI引擎程序员
    • 图形引擎程序员
    • 工具程序员 在游戏开发中,你可以选择任何适合你的角色,包括游戏开发者、设计师(关卡和声音)、艺术家、程序员和测试人员。

软件开发者 vs 游戏开发者

软件开发和游戏开发比以往更接近。因此,如果你考虑从软件转向游戏开发,或反之,你会发现过渡相对容易。

从宏观角度看,游戏和软件开发是相似的。但两者不同,尤其是在目标和结果方面。此外,它们还需要不同的承诺、要求和期望。

软件开发者与游戏开发者的差异

在本节中,我们将仔细看看软件开发者与游戏开发者的差异。

  • 软件开发人员创建符合用户期望的应用程序和服务。目标明确,软件开发更 streamlined 地走向成功。但游戏开发并非如此,因为很难知道游戏是否会成功。
    • 在加班方面,游戏开发者比软件开发者工作更多。游戏行业的“crunch”(加班赶工)是一个常见问题(我们将在“工作时间”部分详细讨论)。
    • 与软件开发相比,游戏开发需要更具创意的方法。但这存在争议,许多人可能不同意。
    • 成为游戏开发者比成为软件开发者需要更多经验。这是因为游戏开发更复杂。
    • 游戏开发者通常需要比软件开发者了解更多。他们需要了解游戏机制、玩家心理、关卡设计等。另一方面,软件开发人员可以掌握特定技能并在需要时学习新东西。
    • 软件开发人员可能不像游戏程序员那样担心性能,游戏程序员在开发游戏时始终需要将性能放在心上。

软件开发者与游戏开发者的相似之处

  • 软件开发者和游戏开发者都编写代码。
    • 两者都经历产品/游戏生命周期。
    • 两者都使用编程语言实现目标。游戏开发者依赖C/C++等高性能编程语言。另一方面,软件开发者的编程选择取决于他们开发的应用程序类型。例如,如果他们开发Web应用程序,他们使用JavaScript、Python等编程语言。
    • “Crunch”时间在软件和游戏开发者中都很常见。

薪资:软件开发者 vs 游戏开发者

金钱是帮助你决定选择哪条道路的拼图之一。

游戏开发者

根据built.in的数据,游戏开发者的平均薪资为114,589美元,平均现金补偿为13,021美元,总计平均127,610美元。初级职位的年薪起薪为70K美元,高级职位的年薪高达220K美元。此外,游戏开发者的平均薪资取决于公司规模,较小团队的薪资构成更高。

根据Glassdoor.com的数据,数字较低。他们报告的平均年薪为80,094美元,更能代表行业状况。入门级游戏开发者的年薪为65,901美元。而根据Talent.com,报告的平均年薪为100K美元。

如果我们取所有这些来源的平均值,我们得到平均年薪102,570美元。

软件开发者

根据Glassdoor.com的数据,软件开发者的平均年薪为95,516美元。如果你刚起步,年薪可达83,587美元。如果我们看USNews.com,软件开发者的平均年薪为110,140美元。最后,talent.com报告的数字为107,300美元。

如果我们平均所有这些来源,我们得到平均年薪104,318美元,这高于游戏开发者的平均薪资。

资格和技能

游戏开发者

  • 计算机科学本科或更高学历
    • 对角色动画和数字资产有基本了解
    • 良好的C或C++编程知识
    • 对Unreal、Cryengine或Unity等游戏引擎有良好的工作知识
    • 如果从事移动游戏开发,熟悉Android或iOS
    • 良好的沟通技巧

软件开发者

  • 计算机科学本科或更高学历
    • 至少对一种编程语言有基础或中级知识,可以是Java、JavaScript、Python、C或C++。
    • 了解Linux等开源技术
    • 了解敏捷方法和软件开发生命周期
    • 良好的沟通技巧
    • 至少对一种软件开发框架有工作知识
    • 理解数据工作原理,尤其是在关系数据库中,并能用SQL或类似技术编写查询
    • 计算机网络知识

职责

游戏开发者

游戏开发者需要履行以下职责:

  • 具有创造力并开发新的游戏设计理念
    • 通过原型设计和迭代改进游戏玩法
    • 将视觉想法转化为代码
    • 与艺术家、制作人、质量分析师和设计师合作
    • 提高代码质量
    • 发布后维护游戏
    • 跨平台管理游戏
    • 将游戏从一个平台移植到另一个平台

软件开发者

软件开发人员有以下任务和职责:

  • 将新想法编程为代码
    • 构建代码并部署到生产环境
    • 发布后维护和测试代码库
    • 知道如何使用流行的软件开发工具
    • 知道在编写代码时如何记录软件
    • 知道如何优化代码以实现更快的应用程序

工作环境和工作时间

游戏开发者

“Crunch”(加班)在游戏行业是常见做法,尤其是在项目发布期间。Kotaku发表了一篇关于Rockstar加班的深入文章,确定crunch是“常见现象”。事实上,一位前Rockstar员工在文章中表示,公司规定每周工作80小时,大多没有加班费。

Vulturebeat还报道,76%的游戏开发者仍在crunch条件下工作。

但是,你应该担心吗?其实不必。尽管crunch很常见,但它完全取决于你公司的文化和项目。许多公司认为crunch是低效和管理不善的表现。如果你查看GDC的2021年游戏行业状况调查,你会发现并非每个人都工作超过传统的40小时。

软件开发者

平均而言,软件开发人员的工作环境比游戏开发者更好。但你仍然会发现公司要求软件开发人员加班,尤其是在产品发布期间。

在大多数情况下,具有“正确”措施的公司,如透明度、良好规划和敏捷方法,足以避免crunch文化。你公司的文化决定了你的工作文化和工作时间。通常,预计每周为公司工作40小时。

工作保障/风险水平

游戏开发者

关于工作保障,你会在网上找到矛盾的信息。许多消息来源称游戏开发者的工作保障较少或没有。但对大多数公司来说,情况并非如此。

在大多数公司,你作为游戏开发者的工作与你的项目相关。简而言之,你完成一个项目,然后接手另一个项目。这可以让你灵活地选择项目并做一些有趣的事情。

然而,你总能找到大规模裁员的情况,尤其是当其他大型游戏行业巨头收购公司时。此外,不成功的项目可能导致裁员。好的一面是,游戏开发者很少失业。根据你所在的城市或地点,你可以找到新的机会,尤其是拥有良好的网络技能。

软件开发者

与游戏行业相比,软件行业提供更好的工作保障。但这也取决于你正在进行的项目以及你对团队的价值。

在大多数情况下,如果你拥有非凡的技能,几乎不必担心工作保障。从技术上讲,私营部门不提供工作保障。但与其他行业相比,就业机会更高。如果你失业了,只要拥有出色的技术技能,你就可以获得多个机会。

哪个适合你?软件开发还是游戏开发?

在本节中,我们将看看不同的场景。让我们开始吧。

软件工程师能成为游戏开发者吗?

做出选择完全取决于你的经验。而要获得经验,你需要构建东西。

因此,如果你是一名软件工程师并想投身游戏开发,你必须制作一款游戏。简而言之,你将游戏开发作为一种爱好,最终在对自己技能有信心时切换。这种方法也有益,因为在你准备切换时,你将拥有演示和游戏的作品集。

如果你考虑从软件转向游戏开发,必须确保你拥有必要的技能。你应该至少了解两种行业标准游戏引擎之一,Unreal Engine或Unity。你可能还需要学习新的编程语言。

游戏开发者能成为软件开发者吗?

但是那些想转向软件开发的游戏开发者呢?

尽管开发者在成为游戏开发的一部分后选择软件开发的情况很少见,但你可以自由选择自己的道路。可能有多种原因,包括缺乏成长机会,让自己安定在更稳定的工作环境中。

无论如何,从游戏开发转向软件开发更容易。在这里,你可能需要学习新的工具集或编程语言。至于方法,你可以遵循我们上面提到的相同途径。从业余项目开始并构建作品集。

一旦准备好,就迈出这一步!

如果你刚起步怎么办?

最后,我们还有刚起步的人。

在这种情况下,一般建议是做项目(再次!)。迟早,你会发现哪个行业符合你的长期目标和激情。你可以选择从事严肃的软件开发并为乐趣创建游戏,或反之。选择权在你手中!

举报

相关推荐

0 条评论