贺老师
发表于 2020-12-31 19:36
谢谢邀请:)
楼上如 @kubisoft和 @大饼前辈都答得很好。
这个问题有点像剑宗和气宗。
游戏开发就是耍剑,耍剑耍得好看了,观众就会赏钱。
学习气宗,虽然能让你握剑更加有力,耍上一天一夜也不喘气,还能夹带一些紫气,但对于耍剑来说,无关好不好看。精通了C++,然后呢?和游戏一点关系都没有。因为耍剑不单讲气,最重要是讲艺。
因此,自然是剑宗更加有效更加贴切。游戏开发里面有很多field specific的知识和技能,虽相似,但和软件开发仍然不能一概而论。更别以为学好游戏开发的知识容易,其实路途同样艰难,只是难的地方不一样。
那么游戏开发来说,剑宗和气宗是不是就一定不兼容呢?也不是。有时候,你需要一些特别的机制或者特别的效果,前人可能没有实现过,又无法从美术方面下手或者修改设计,就需要你有扎实的编程基础来实现它。像游戏引擎就是这样,想要更漂亮的画面、更好的运行效率、更方便的工作流程,才会推动引擎发展。但游戏都没做过,又怎知道现有技术不能支撑你所想所要呢?精通C++又解决了什么问题呢?
举个例子,今年IGF学生组的最佳游戏,The Risk of Rain,我一看,那么精致的画面、出色的手感、完善的机制,绝对是不简单啊,一看开发者,竟是华盛顿大学机械专业和商学专业的两位年轻人开发的,用的还是GameMaker。
从此我豁然开朗,游戏开发就是耍剑,耍得好看才有饭吃,哪怕你华山掌门人。
------------------Update 1------------------
这个问题能引起那么多不同意见,很有意思。
重新浏览了一遍大家的答案,主要有两种见解。
一方是正好是我说的剑宗,主张一开始就以游戏开发相关知识为主要学习方向;
另一方是气宗,主张一开始以计算机底层知识为主要学习方向。
而C++则是这一题目里两方主张的矛盾的外在表现。
正如我答案的主体部分,我个人比较偏向剑宗。
一个原因是我没有进过AAA的大公司,以往两次实习都是在独立游戏公司,他们的氛围都是以快速实现为主要目的。
所以我也耳濡目染,将实现视为游戏开发当中最重要的东西。
因此我较为主张初学游戏开发的话,也以实现为目的,比方说,选一款引擎,不断地制作游戏。在这一个过程当中,我们会不断地接触到新的知识:
一开始,我们在Update里面写代码,我们接触到了Game Loop,
我们创建角色图像,接触到Sprite的概念,
我们想用键盘控制角色移动,我们接触到了Input System,
我们想让角色跳跃,接触到了Physics Engine的概念,等等等等...
现在我们对Game Loop有了了解,对Physics Engine有了了解,知道它们在游戏中的作用,那么对我们学习这些领域,是有莫大好处的。
正如最近关于很火的“设计模式”问答,现在的观点主要是“你得遇到问题了,才真正懂得某一个模式的好处”。我觉得关于游戏开发的学习,也是这样的。
当然,我不会说哪位在座哪位老师的意见是错的,因为游戏开发本身就是一个新生学科,甚至连学科也称不上,自然没有对的和错的路。