为何要学习游戏引擎底层技术

笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,国家专利发明人;已出版书籍:《手把手教你架构3D游戏引擎》电子工业出版社和《Unity3D实战核心技术详解》电子工业出版社等。

最近这段时间,开始写一些关于3D游戏引擎底层实现的文章并附上源代码,目的是唤起开发者学习引擎底层的兴趣。随着引擎封装的越来越好,很多人都抱着会用的思想,把人家的东西用到极致作为奋斗的方向。作为我们开发者来说这是非常可悲的,这会导致写引擎底层的人越来越少,最终这些技术都会掌握在少数人中。以Unity引擎为例,Unity3D引擎降低了开发门槛,只要懂C#语言就会用Unity,傻瓜式的操作,大量的插件,作为开发者的我们不用费力气就可以把一款游戏搭建出来,回想一下,你在搭建的过程中学到了什么?估计是只是熟悉了几个插件的使用而已。

现在Unity3D引擎已经占领大部分市场了,游戏开发已经进入了量产的阶段了,成千上万的开发者,只是会写点简单的逻辑而已。很多人都想成为技术大牛,但是又苦于自己对底层技术一窍不通。记得我大学毕业去网易面试时,面试者对于项目的开发并不是特别在意,而最在意的是你对底层技术的掌控,问的问题都是涉及底层的开发比如数据结构中的二叉树,它内部是如何实现的?或者让你自己动手写一个List类封装等等。网易也有自己的引擎研发团队,他们的游戏好多都是用自己的引擎研发出来的,在运行性能和包体都可以自己掌控。很多人可能会说,现在什么年代了,还自己研发引擎?作为游戏公司,自己研发的引擎至少代表了公司的研发实力,久游公司大家估计都听说过,他做的也是很大,但是它做了那么多年没有自己的游戏引擎,都是使用别人的,最终还是败落了。苏州蜗牛一个至今还没上市的游戏公司,公司拥有自己研发的3D引擎,至今做的还是不错的,《太极熊猫》、《九阴真经》等给公司带来了很多的利润。另外游族公司并购了北京青果灵动科技有限公司,该公司拥有完全自主知识产权的跨平台开发引擎Fancy3D,可支持企业开发基于跨平台的大型复杂多人交互式3D游戏应用。目前,基于Fancy3D引擎研发的包括《黑暗之光》在内的游戏产品10余款。其中,《黑暗之光》月流水峰值达到1.5亿,最高同时在线人数达到20万。并购的钱也是很多的,还有很多类似的案例在此就不一一列举了。

在这里不是鼓励开发者自己去研发引擎,引擎的研发是一个团队的努力,虽然我们不能去开发引擎,但是作为单个的个体,我们不能还局限于逻辑的开发,自己应该主动的去学习了解引擎内部的实现。拿虚幻4引擎为例,很多人应该看到了,它现在也把代码放出来了,但是用的人非常少,或者只局限于用蓝图实现几个漫游功能,如果开发产品,还需要对它的引擎底层进行优化,如果我们对底层开发一无所知,谈何优化?谈何修改?

拿我自己再举个例子,我从事IT行业已经十多个年头了,算是行业中的一名老兵,没有辉煌的成就,平平淡淡,做了十多款游戏,没有月流水几千万的,只是够养活团队的。从一名普通程序员逐步成长到上市公司技术总监,在知名的IT公司也做过,在创业公司也做过,经历了这么多,自己在业余时间也开发过几款3D游戏引擎,虽然不是很成熟,但是都可以用它们实现几个Demo,比如实现的海水渲染引擎,获得了国家发明专利。现在在创业公司负责公司整个项目研发工作,对于公司的产品渲染使用的是自己研发的3D游戏引擎。公司项目的效率优化,工程设计,Shader编写都是我一个人去做,我之所以能够做这些与我平时自己学习3D游戏引擎有很大的关系。

现在的IT开发者对于3D引擎底层的学习关注度越来越少了,这样持续下去,中国游戏行业的高级工程师会逐渐衰退,最后沦落为编写逻辑代码工具,一旦遇到底层引发的问题束手无策。这样的程序员如何能开发好产品?现在开发的产品要想把效率优化好,除了编写逻辑合理外就是优化底层代码。

学习引擎底层技术会帮助你逻辑理清思路,至少你在编写逻辑时如果遇到问题,能快速的定位到问题位置。如果遇到系统问题,你可以自己封装做到可控等等。

人工智能在快速发展,人工智能的开发是硬件跟软件的结合,软件就需要哪些会底层开发的程序员去做。底层开发不仅局限于编程语言还有一些底层算法的封装,如果我们对于底层算法的封装了然于胸就是后面跨界都没有任何问题。啰哩啰嗦了这么多,大家还是要去多关注一些底层算法的封装,学习这个其实不难,网上很多开源的3D游戏引擎,比如开源引擎Ogre,另外Cocos2dx也做了一部分3D的工作,我在博客中也做了一个系列讲座,我还编写的一本入门级3D游戏引擎书籍《手把手教你架构3D游戏引擎》电子工业出版社,都可以用来学习,一点一点的学习,假以时日肯定会成为真正的大牛。

仅以此文唤起大家学习3D游戏引擎的兴趣!

时间: 2024-10-08 08:54:32

为何要学习游戏引擎底层技术的相关文章

国内自主研发的游戏引擎一览

国内自主研发的引擎究竟有多少.因为我在某论坛看到某些人说.只有完美和剑侠3 才是称的上是国产,不是自己的引擎开发的游戏不叫国产 我汗. 不太赞同. 还有国内自主的真的只有这两个么 我也不认同. 有人说 那是抄的有人说那是完全自主的   这个我不知道,,,下面来..(有不对的 有少的 希望大家增加或者指正) 国内自主研发的引擎知多少.哈.我在网上搜了下.除了大家熟知的完美时空和金山剑侠3的引擎以外,还有这些,,不管他们是好是坏 是新是旧,是只放消息即将推出~   是完全自主还是什么的?还是它们的游

《游戏引擎全局光照技术》到底是一本什么样的书?

你可能觉得<游戏引擎全局光照技术>是另一本图形学理论知识科普读物,对不起,你错了!本文以问题的方式介绍该书的特点,更多信息的试读内容下载欢迎访问:http://www.thegibook.com 1. 这本书面向的读者群体是谁?本书面向所有需要了解计算机图形学中渲染相关原理的职位,包括游戏,影视动画,以及其它需要使用Unreal Engine等游戏引擎来处理工作的行业: 2. 这本书定位什么级别?中高级,这本书最核心的目的是帮助具备一定基础的读者系统地梳理各个庞杂的计算机图形学知识体系,如果您

腾讯TEG架构平台部总监冯亮:游戏内部云底层技术揭秘

摘要:在腾讯内部游戏云一直是最大一块,所以最棘手的问题.最新的技术.最高效的运营体系都会最先出现在游戏云上.在今年第二届游戏运营技术论坛上,腾讯TEG架构平台部总监冯亮为大家揭秘了游戏内部云底层技术. 在腾讯内部游戏云一直是最大的一块,所以最棘手的问题.最新的技术.最高效的运营体系都会最先出现在游戏云上.在今年第二届的游戏运营技术论坛上,腾讯TEG架构平台部系统研发中心总监冯亮为大家揭秘了游戏内部云底层技术.冯亮主要负责腾讯内部使用的Linux发行版/内核和虚拟化平台,致力于打造腾讯内部高效.稳

游戏引擎

游戏引擎概述 游戏引擎是指一些已编写好的可编辑电脑游戏系统或者一些交互式实时图像应用程序的核心组件.这些系统为游戏设计者提供各种编写游戏所需的各种工具,其目的在于让游戏设计者能容易和快速地做出游戏程式而不用由零开始.大部分都支持多种操作平台,如Linux.Mac OS X.微软Windows.游戏引擎包含以下系统:渲染引擎(即“渲染器”,含二维图像引擎和三维图像引擎).物理引擎.碰撞检测系统.音效.脚本引擎.电脑动画.人工智能.网络引擎以及场景管理. 详细介绍,请猛戳这里...... 常见的游戏

最大的幻术-游戏开发-到底是先学游戏引擎还是先学游戏编程

学习游戏的目的 我们学习游戏制作,游戏开发,游戏编程,游戏XX,我们的目的只有一个,打造一个非常牛逼,非常屌,非常让人开心的虚拟体验.我们用自己的学识让玩家在虚拟世界征战,生活,一步一步的让玩家幸福!那么我们的目的只有一个,让玩家知道自己的幸福在哪里,并且学会追求自己的幸福.当然,每个人对幸福的定义不一样.那么,我们只好让玩家来体验我们所来表达的最通俗的,最普遍的幸福体验,然后慢慢引导玩家去寻找自己的幸福体验.可能,在最后玩家都会离开游戏,离开虚拟世界,(对,这是真的,玩家需要一步一步达到定点,

游戏开发热门技术浅析

最近手游开发很热,今天我们来看看目前比较主流的手机游戏开发技术,以下仅仅是个人了解的皮毛,为想了解和步入游戏行业的朋友做一参考. cocos2d 我们先来看一幅图: 要看懂这幅图就先要了解一下cocos2d的生命历程,下面我来做一下简要的归纳和介绍吧. 2005年,Ricardo和朋友萌生了用Python语言 "一星期编写一个游戏"的想法.在2005-2007年间,他们设计了许多种这样的游戏.值得注意的是,每次在设计一个新的游戏时,其游戏引擎都是重新开发的. 2008年2月,他们在阿根

Android 8款开源游戏引擎

1.Angle  (2D    Java) Angle是一款专为Android平台设计的,敏捷且适合快速开发的2D游戏引擎,基于OpenGLES技术开发.该引擎全部用Java代码编写,并且可以根据自己的需要替换里面的实现,缺陷在于文档不足,而且下载的代码中仅仅包含有少量的示例教程. 最低运行环境要求不详. 项目地址:http://code.google.com/p/angle/ 2.Rokon  (2D    Java) rokon是一款Android 2D游戏引擎,基于OpenGL ES技术开

Java 3D游戏引擎——JME(java Monkey Engine)

转自:http://bbs.gameres.com/forum.php?mod=viewthread&tid=180732 JME(java Monkey Engine),一个非常棒的Java 3D游戏引擎 一直以来,由于性能等原因,Java并不是3D图形应用的主流平台,但随着各种新技术的出现,这种情况有了很大改变.从开始的JIT.Static compilers,到现代的HotSpot技术,使Java程序的运行效率越来越高,目前已经接近于C++程序.此外,通过JNI技术,Java程序可以调用任

Android 八款开源 Android 游戏引擎

原文地址 本文内容 Angle Rokon LGame AndEngine libgdx jPCT Alien3d Catcake 最近无意间看到一篇关于 Android 搜索引擎的文章,于是搜索了,学不学是其次,主要是要有这方面的知识--技多不压身嘛~ 下面罗列出八款常见的 Android 游戏引擎,以供参考.收费.下载量过小.不公开源码,以及鄙人不知道(-_-)的引擎不在此列. Angle Angle 是一款专为 Android 平台设计的,适合快速开发的 2D 游戏引擎,基于 OpenGL