当其他的引擎在教你们如何使用它们的时候,我们来教大家如何去打造那样的引擎,没有什么是不可能的,毕竟这才是真正的授人以渔。
更多的原因或许是因为我们的OpenGL的学员学完OpenGL无法站在一个较高的视点去看待图形学,所以在接触比如动画、数学的时候不知道该学什么,总是在关心一些不重要的问题。跟着我们走过来的学员是知道的,大部分情况下,我们的那些课程是被学员推着前进的,OpenGL Windows端最后一个使用VS2015的录屏版实际上已经是第五次重制了,因为在这之前总是有学员看完视频跑来问我们问题,且确实我们没有在视频中讲那些我们认为理所当然不用讲都能懂的东西,导致知识的不连贯。目前总体来说,知识是连贯的。
Unity3D
终于,我们的引擎课程的文字更新开始了,虽然目前还处于打草稿阶段,但是我们会慢慢的把内容都丰富起来,让同学们形成一个更立体的认知。我们今天来带领大家一起来看看我们这个小技术圈子里的强者:Unity3D。我们来看看Unity3D是如何一步一步走到今天的,这样或许让你在未来自己打造引擎的路上能够清楚的判断自己当下是处于什么样的形式。
一开始Unity3D的创始人在2004年创立的是一个叫Over the Edge Entertainment的公司,当初在Mac上开发了一款游戏叫GooBall的游戏。2005年他们认识到他们使用的工具的巨大价值,所以开始转向做游戏引擎。这样Unity1.0就诞生了。他们的第一次发表是在 Apple Inc.'s Worldwide Developers Conference这个大会上,作为Mac端的扩展工具Unity发布。很快的Unity就开始支持在Windows平台使用了。
Unity3D的各版本的发布日志可以看出,他们每个版本都做了些什么,我们可以通过它们的更新日志看出来初期版本都是一个非常挫的东西。Unity的早期各个版本的更新日志可以通过下面的连接访问,我们可以看出他们前期的调试和各种API的改变,不见得比两年前的战火引擎强大:
2006年的时候,他们获得了Apple Design Awards的Best Use of Mac OS X Graphics奖项。此时他们还是个PC游戏的开发工具。
就在2007年,iphone第一代发布了!此时放眼望去,居然只有Unity支持iphone,这样在很长的一段时间内,Unity成为那时候唯一的开发iOS游戏的工具。我们在这里要问同学们一句了,要是这样的机会再次降临到你头上的时候,你如果只是会使用Unity或者Unreal,你能抓住这样的机会吗?有的人在游戏行业混了几十年了,他们的技术是自己钻研的,但是如果你也走同样的道路自己钻研,那岂不是一样要花费大量的时间,熬到大叔的年纪?相信我吧,这个世界在急速的发展,永远不缺机会。
我们知道2007年自从乔帮主把iPhone带来世界后,Android就迅速的抄出来一个同样的系统。现在来看,Android的*或许正在碾压iPhone阵营。当初有商业分析机构就分析,到2015年为止,全球的智能手机持有者会达到22亿,但是这个数据其实在2012年就实现了。急剧膨胀的智能手机市场就带来了急剧成长的移动游戏市场的扩张。我也是坐上了那一班火箭,做出了移动端相对在国内算是第一批的MMO ARGP手机游戏。大势所趋,运气算是非常好的了。要不然有的人在游戏行业做了十几年都没坐过月流水如此高的游戏。
所以我们可以看到移动设备的急剧膨胀、游戏市场的急剧膨胀,也促使Unity走向成功。我们要知道5G的到来带来的是数不胜数的机会,只要你做的事情在帮助行业形成更好的产业规范,就可以上!但是我们也一直在坚持一个观念,5G时代是一个生机勃勃的时代,更多的是百花齐放,所以我们希望在引擎行业也能出现这样的情景。到时候人们的引擎都是原型都是出自战火引擎,我们也算是脸上有光。
2008年,Unity3D的公司名称正式更名为Unity Technologies。
如果说在之前,Unity3D是运气好,坐上了移动时代的爆发火车的话,那2009年是Unity新的扩张的开始,从2009年开始,他们陆陆续续开始支持了各种游戏平台,比如Sony,PS,XBox等到现在已经有25个平台了。我们在这里要学习的是,当你的工具在一个市场成功了之后,你要把你的工具扩张到其他的领域。
现在Unity为了做上市,官网做的更是非常酷炫,但是我们通过玩王者荣耀可以看出来,跟做游戏的人关系不大,大都是做电影或者啥的别的。前不久,我跟一个同学约玩王者荣耀,他说他两周前才开机玩过的,居然现在要下载1.7GB的补丁才能玩,所以就没约成。要是采用战火引擎开发,怎么可能需要这么大的更新补丁,你们说是不是呢?要是引擎有更好的架构是不是不需要这么大的补丁呢?是不是玩家流失就会少一些呢?
我们可以看到任何产品都有他的不足,所以Unity3D也是有的。大家不要被他现在的庞大所吓倒,我们在引擎课程中会给大家分析如何跟巨人作战,并举出很多好玩的有意思的例子。巨人怕什么样的人~。
神助攻之Unreal
有时候我们不禁感叹,Unreal那会干嘛去了。大家都在自诩Unreal是神一般的存在的时候,Unity已经悄悄的攻城夺寨了。我们来看看Unreal的发展:
Unreal第一个版本是在1998年就发布了的。但是我们知道Unreal其实一直被人诟病的就是连开发者的机器他们都无法正常运行。它需要你配置每个时代最优秀的显卡,你才能打开Unreal,我记得那时候我就是因为这种原因没有打开Unreal。
我们看到Unreal很明显就是一帮纯技术开发和维护的,或者说他们自己都没想过商业化这个东西。不过这或许与欧美国家的风气有关系。到2014年,Unreal的普及率掉到了3%。cocos是个免费的东西,免费的东西就是如此,要死不活的。2014年市占率8%。2014年自研引擎的市占率是29%,Unity那一年的市占率也是29%。
Unreal作为一个老牌游戏引擎,在移动互联网时代没有爆发,真的是一件非常遗憾的事情。或许做工具的开发人员你要想着如何为别人着想才能成功,而不是像我们这样,每次开发什么功能都是怎么能偷懒怎么来。
国情与文化差异
或许在西方国家,比如美帝,他们是计算机的发源地,都是跟比尔盖茨一个时代的程序员,所以都自负有一身好本领不屑于用别人的引擎,因为他们有水平去做出来最适合自己项目的引擎和配套工具。整体来说,Unity3D的主要市场是亚洲市场,中国,本身我们在近几十年都在追赶欧美的路上,所以受到的教育和接触到的技术都不如他们前沿,但是我们一代人一代人正在慢慢改变这样的一个现状。所以中国人做游戏的时候又想有好的画质和效果,又不会核心技术的时候,就只能用引擎了。要知道2000年左右第一代中国游戏程序员都是非专业游戏程序员,有的是从玩家变过来的,那些读了计算机系出来的,比如丁磊,算是苗子比较正的程序员了。
所以程序员水平的差异就导致了,Unity3D在各个国家和地区的普及率不一样。
最后,我们写这篇文章想表达的是,学习引擎的同学们不要害怕现在的巨人,时间是对你有利的,变化中的时代是对你有利的,巨人要改变是很困难的事。就比如热更新的问题,Unity的C#和Unreal的C++,他们到现在都不改成动态语言。这就是机会。
让我们在接下来的引擎课程中,学会从更高的角度去看待游戏相关的技术,让自己知道哪一块知识学什么,学到什么程度就够了,并且在这一过程中囤积技术资本,静待时变。