本期为GAMES104《现代游戏引擎:从入门到实践》视频公开课文字实录第2期。本课程由GAMES(图形学与混合现实研讨会)发起,游戏引擎技术专家王希携手游戏引擎一线开发者共同研发。
课程共计22个课时,将介绍现代游戏引擎所涉及的系统架构,技术点,引擎系统相关的知识。为配合学习实践,课程组在 GitHub 上开源了小引擎Piccolo,上线1个月即获得了2900+star, 累计下载量已超过20000+。
PS:错过了上期内容的同学可以点击下方链接阅读哦。
以下内容为公开课视频转文字版本,为阅读通顺,有删减
01「游戏引擎的历史」
全球第一款游戏引擎
视频游戏行业的历史非常短,大概只有50多年。行业早期的机器很简陋,这个机器同学们有没有玩过?叫红白机。这里面有很多童年的快乐,比如大家觉得特别经典的魂斗罗、马里奥。
那个时代实际上没有游戏引擎的概念,游戏都非常简单。那时候开发游戏最核心的能力是什么?是如何把一个复杂的元素放到一个非常小(比如40KB)的存储空间里去。
看任天堂的报告,它会告诉你,那时候为了节约资源,比如把白色的云彩变个颜色放到地上,就变成了一片草丛。把一只小乌龟正面反面地来回播放,就变成了它在地上走。
记得在美国工作的时候,有位微软副总裁跑过来做报告,他告诉我们这么一件事,说在加入微软之前,他一年做了四款游戏。当时我们听傻了,因为我们几百人做三年才能做一款3A游戏,那个时代他一个人就能做四款游戏。
为什么?因为那个时代的游戏非常简单。我一直认为那是游戏的黄金年代,大家有很多创意、野蛮生长,就像寒武纪生命大爆发一样,生命会变成各种各样的形态。
第一个提出游戏引擎的是谁?我觉得是约翰·卡马克——传说中的卡神。
我认为他是行业里的教父级人物,直到今天他还在为Facebook的Oculus在努力。
*约翰·卡马克最近宣布成立了一家专注于通用人工智能的新公司Keen Technologies。
我非常崇拜和敬佩他,最近听了一个他讲VR虚拟现实的报告,还是那么谦卑、务实,在讲一些具体东西。
他是个非常睿智的人,在那个时代做了一款叫Wolfenstein(德军总部)的游戏,它非常经典,可以说是开创了FPS时代。
做游戏的时候,我经常跟团队讲,大家千万不要被现成的东西束缚住。比如今天的游戏从业者会说,我要做一款什么什么类型的游戏,但实际上任何一种现在看到的游戏类型,都是被一款产品给创造、定义出来的。我觉得未来世界会有很多新的引擎出来、新的游戏类型出来。
而在那个时代,世界上没有一个物种叫做游戏引擎,但John Carmack看到了一个东西。他说,在写各种各样游戏的时候,有很多代码是可以重用的,这些重复的东西能不能抽出来在产品中共用?要不要把它定义成一个叫做game engine的东西?这位老哥说干就干,接着就做了第二款游戏DO