游戏开发和软件开发有啥不同?
3个回答
展开全部
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、做尝试,项目制作时仍然可能有较大幅度的设计修改。游戏开发很多时候是测试驱动的,开发者需要和设计师紧密配合。很多只有先做出原型,才知道这种做法不好玩。
另外游戏产品的生命期也是比较短的,特别是移动端游戏。
所以典型的软件开发管理方法在游戏开发中显得灵活度不足。成熟的游戏开发团队,在项目管理方面往往有独特的方式方法。
说到软件开发,我们很容易想到的是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、做尝试,项目制作时仍然可能有较大幅度的设计修改。游戏开发很多时候是测试驱动的,开发者需要和设计师紧密配合。很多只有先做出原型,才知道这种做法不好玩。
另外游戏产品的生命期也是比较短的,特别是移动端游戏。
所以典型的软件开发管理方法在游戏开发中显得灵活度不足。成熟的游戏开发团队,在项目管理方面往往有独特的方式方法。
享知信息
2023-09-21 广告
2023-09-21 广告
敏捷开发是一种快速响应变化的方法,旨在提高软件开发的效率和灵活性。以下是一些常用的免费敏捷开发工具:1. Trello:一款灵活的看板工具,可用于敏捷项目管理和任务跟踪。2. JIRA Agile:一款功能强大的敏捷项目管理工具,支持看板和...
点击进入详情页
本回答由享知信息提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询