会软件开发是不是就会游戏开发?

如题所述

游戏开发并不是软件开发,而是包括软件开发在内的内容制作。简单来说,游戏开发就好像要制作一部网剧那样,大部分工作其实和软件开发并没有什么关系。当然,这和“软件”的定义有关。广义的软件,也可以包括内容本身。所以我们这里所说的软件指计算机程序。只不过,游戏作为一种高度的交互式媒体,其内容的展现并不是线性的,而是需要依据玩家的输入进行反馈式呈现。这就要求游戏内容的播放器——游戏代码或者游戏引擎具备一定的智能,而并非是如同视频播放器那样机械地重复固定逻辑。而且这种智能,不同的游戏差别显著,而不是像视频音频播放那样大致相同。因此,在游戏的开发当中,会有一部分编码工作。在早期,这部分包括了整个游戏逻辑和游戏运行的平台:游戏播放器的编写工作。后来随着硬件的进步,游戏规模越来越大,程序也越来越复杂,为每一款游戏从零开始写代码变得低效甚至不可接受,于是项目人员开始考虑尽可能多地重用之前项目的代码,只对必须的部分进行重构。这就是游戏引擎的雏形。再后来,随着游戏内容发展的不断成熟,游戏的玩法也开始趋于固定,分化出十来种游戏类型。类型的固定使得定义需求成为可能,原本依附于特定游戏或者工作室的内制游戏引擎也终于可以脱离具体的内容独立存在,这就是商用引擎的诞生背景。而软件工程的前提就是标准化。所以在游戏引擎出现之前,是没有什么软件工程的概念的。但是今天的游戏引擎,特别是商用引擎,则是软件工程方法论的产物。在这个背景下,游戏内容制作本身与游戏引擎的开发形成了比较清晰的界限。但是,受限于当前技术水平和内容制作的复杂性、独创性,目前依然没有人能够很完美地定义清楚游戏引擎的需求,所以实际游戏的开发,特别是中大型游戏的开发总是或多或少地涉及到对引擎的二次开发,这才让人有了游戏开发类似于软件开发的感觉。从游戏开发发展的趋势上来说,必定是走向进一步分离软件开发部分到下层,从而解放更多地生产力给内容制作的。也就是游戏开发本身将会变得越来越不像传统软件开发,而是趋向于内容制作。即便是今日,大型游戏项目的制作团队往往多达数百人,如果算上其它合作公司甚至能上千,但是其中真正从事软件开发(编程)工作的,一般也就是几十人这样。在这里是没有什么软件工程概念的,一定要说的话,基本就是敏捷开发,adhoc。但是到了游戏引擎团队那就不一样了。那里是完完全全的传统软件开发团队,完全在软件工程的掌控之下。要委托他们做事,都得事先提需求,排队,等个好几个月甚至一年,这样。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-12-16
1、技术栈差异很大

说到软件开发,我们很容易想到的是Java、iOS、APP、微信、淘宝等等。

软件开发用到的技术栈相当广泛,常用的编程语言就不少,且每种语言又可能对应一种或多种技术栈,可谓眼花缭乱。

前端(用户直接体验的那部分):安卓APP用Java,iOS APP采用Swift等苹果系的语言,网页端用JavaScript。电脑端原生应用程序会有更多选择,比如C#、Java、Python等等都有。

后端(在互联网中提供服务的那部分):国内受阿里的引领,后端Java占比很大。另有PHP、Python等等很多选择。

所以一般大学为了更好和社会接轨,软件开发方向应该多学一点Java,有利于实践。个人认为对于大学生来说,C/C++基础非常重要。

游戏开发也是以编程为基础的,只不过现代游戏的开发离不开游戏引擎,大致上看,游戏引擎的选择有几种:

学习Unity、UE4等成熟的商业引擎。学习与实践无缝衔接。

开源的非主流轻量级引擎,比如MonoGame等,引擎不完善的部分需要自己造轮子,有利于锻炼技术。

自己写引擎。目的是了解和掌握游戏开发的底层技术。

大部分学校应该是上面1、3两种方案结合,或者只讲1 引擎的使用。

在Unity中编辑三维地形

现在Unity引擎比较火爆,开发方面可以只用C#,易学易用。但是从整体上看,C++应该是游戏世界的通用语言,无论游戏引擎还是功能模块的开发,都可能用到C++。

所以从这个角度看,你会发现游戏开发的技术栈与软件开发相比,区别还是相当大的。

2、项目开发和管理思路,差异较大

一般来说,商业软件开发更为严谨,游戏开发显得灵活一些。

商业软件开发,在架构、接口设计、框架选用上,会比较讲究。而游戏开发虽然也看重架构设计,但和商业软件还是有所区别。

这背后的原因,一是因为商业软件在 基础 的功能上有较好的稳定性;二是一旦商业软件有了用户基础,它很可能会存在非常非常久的时间,比如淘宝这个软件已经存在了至少十几年的时间。

而游戏开发,立项时就需要做原型、做Demo、做尝试,项目制作时仍然可能有较大幅度的设计修改。游戏开发很多时候是测试驱动的,开发者需要和设计师紧密配合。很多只有先做出原型,才知道这种做法不好玩。

另外游戏产品的生命期也是比较短的,特别是移动端游戏。

所以典型的软件开发管理方法在游戏开发中显得灵活度不足。成熟的游戏开发团队,在项目管理方面往往有独特的方式方法。
第2个回答  2021-12-16
两者还是有区别的,软件开发包含的很多包括游戏开发的一部分,而游戏开发开发的是单纯游戏类型,两者还是有区别的。
相似回答