游戏界现状
作者:volfmath 日期:2009-12-25
我在这个行业呆了快2年半了。其中辗转过2,3个公司,有业内很大的知名公司,也有业内名不见经传的小公司。从业过程中也认识了不少在各大公司的同行。如果不出意外的话,基本上我不打算继续在这个行业呆下去了,尽管我现在收入颇丰,但是我觉得这不是我想要的生活方式。
那么我们来讨论下目前整个国内游戏行业的状况。我觉得是非常糟糕的。据我估算,有一定游戏制作水平的人员应该不到万分之一,而这当中很多老人已经从事行政工作,另外一些虽然在技术的一线,但是由于年长或者其他原因,工作时长较少,也不足以面对纷繁复杂的行业进步。当然更重要的原因是以下几个方面:
1.策划:估计策划是整个目前游戏行业里最受非议的职业了,策划之所以受到如此待遇,我想差不多两个方面原因,主观上,是从业人员素质低下,游戏行业的迅速发展人员奇缺,导致迅速扩张后无法控制人员素质。大部分策划在我看来不是不适合做这项工作,而根本上就不适合工作。他们自以为比别人多玩了几个游戏就知道什么策划,简直的是莫大的笑话。极其混乱的思维,缺乏理性的规划,以及少的可怜的经验,加上不努力工作几乎已经导致策划成为整个开发的瓶颈了。
由于策划的水平过低,导致程序必须关注他们本来不熟悉的系统及逻辑,而把大部分时间浪费在逻辑上。策划的水平也直接影响到美术制作过程中对数据,质量的规划,最终多次返工。(后面我会说好的团队的样子)
当然没有经验也有很多客观因素,在目前中国这个急功近利的社会。策划从一开始就没有办法按照自己的思路来规划游戏本身,他们只能东抄西抄。形成一种恶性循环。不要忘记宫本茂也不是一天练成的,他也是经历了无数的失败以后才创造了马里奥,如果只是一味的模仿,怎么会有进步?
2.其他两个职业,程序与美术。游戏的高速发展,也把两个本不值得关注的职业推上社会的舞台。
美术说白了就是一群成绩差的孩子为自己找一个出路,尽管美术是一个我觉得很高尚的职业,但你不得不承认在中国这种缺乏人文精神,艺术气息的国家里,美术是不受尊重的。当然我们并不缺乏热爱美术的人,但是如果一个人真的热爱美术,我想他是决计不会再游戏行业呆多久的,因为这里只会扼杀美术。游戏行业里美术如果细分,至少可以分为艺术与技术两个部分,技术不用说,从我工作至今,认识的美术中技术很强的少之又少,因为要让一个画画的人去了解图形显卡是件很困难的事情。艺术呢?也没好到哪里去,原因我刚才已经分析过,国外的游戏往往能刺激美术这项工作的发展,而在国内,美术越来越往民工发展。
那么我们来讨论下目前整个国内游戏行业的状况。我觉得是非常糟糕的。据我估算,有一定游戏制作水平的人员应该不到万分之一,而这当中很多老人已经从事行政工作,另外一些虽然在技术的一线,但是由于年长或者其他原因,工作时长较少,也不足以面对纷繁复杂的行业进步。当然更重要的原因是以下几个方面:
1.策划:估计策划是整个目前游戏行业里最受非议的职业了,策划之所以受到如此待遇,我想差不多两个方面原因,主观上,是从业人员素质低下,游戏行业的迅速发展人员奇缺,导致迅速扩张后无法控制人员素质。大部分策划在我看来不是不适合做这项工作,而根本上就不适合工作。他们自以为比别人多玩了几个游戏就知道什么策划,简直的是莫大的笑话。极其混乱的思维,缺乏理性的规划,以及少的可怜的经验,加上不努力工作几乎已经导致策划成为整个开发的瓶颈了。
由于策划的水平过低,导致程序必须关注他们本来不熟悉的系统及逻辑,而把大部分时间浪费在逻辑上。策划的水平也直接影响到美术制作过程中对数据,质量的规划,最终多次返工。(后面我会说好的团队的样子)
当然没有经验也有很多客观因素,在目前中国这个急功近利的社会。策划从一开始就没有办法按照自己的思路来规划游戏本身,他们只能东抄西抄。形成一种恶性循环。不要忘记宫本茂也不是一天练成的,他也是经历了无数的失败以后才创造了马里奥,如果只是一味的模仿,怎么会有进步?
2.其他两个职业,程序与美术。游戏的高速发展,也把两个本不值得关注的职业推上社会的舞台。
美术说白了就是一群成绩差的孩子为自己找一个出路,尽管美术是一个我觉得很高尚的职业,但你不得不承认在中国这种缺乏人文精神,艺术气息的国家里,美术是不受尊重的。当然我们并不缺乏热爱美术的人,但是如果一个人真的热爱美术,我想他是决计不会再游戏行业呆多久的,因为这里只会扼杀美术。游戏行业里美术如果细分,至少可以分为艺术与技术两个部分,技术不用说,从我工作至今,认识的美术中技术很强的少之又少,因为要让一个画画的人去了解图形显卡是件很困难的事情。艺术呢?也没好到哪里去,原因我刚才已经分析过,国外的游戏往往能刺激美术这项工作的发展,而在国内,美术越来越往民工发展。
关于优化的问题总结
作者:volfmath 日期:2009-11-05
引擎本身做的很好,不会对速度产生太大影响。但是使用者往往会由于开发经验过低等等因素,导致游戏运行速度太慢。这里有些是因为对Gamebryo系统的不熟悉造成。
美术上:美术如果不熟悉Art文档,不熟悉图形技术的话,用任何引擎都是白搭。其实大部分的浪费都是美术造成的。下面先说说美术的优化
1.注意Mesh的颗粒度,什么意思呢。就是主要不要有太多小物件。三角面很少的Mesh,如果材质相同的话,完全可以合并起来。
1.关于Gamebryo中的update与update select。这是avobject里重要的两个函数,也是Gamebryo中更新场景图最重要的函数之一。update select是做了优化的,也就是说,如果变换矩阵没有做出变换的话,gamebryo不会更新world信息,这样会节省一定的时间,所以如果是静态物体,请优先使用UpdateSelect.
相反动态物体,比如人物。如果确定他一定不是静态的话,请不要使用UpdateSelect,因为这会多做一次对变换矩阵是否改变的判断,这是没有意义的。
美术上:美术如果不熟悉Art文档,不熟悉图形技术的话,用任何引擎都是白搭。其实大部分的浪费都是美术造成的。下面先说说美术的优化
1.注意Mesh的颗粒度,什么意思呢。就是主要不要有太多小物件。三角面很少的Mesh,如果材质相同的话,完全可以合并起来。
1.关于Gamebryo中的update与update select。这是avobject里重要的两个函数,也是Gamebryo中更新场景图最重要的函数之一。update select是做了优化的,也就是说,如果变换矩阵没有做出变换的话,gamebryo不会更新world信息,这样会节省一定的时间,所以如果是静态物体,请优先使用UpdateSelect.
相反动态物体,比如人物。如果确定他一定不是静态的话,请不要使用UpdateSelect,因为这会多做一次对变换矩阵是否改变的判断,这是没有意义的。
终于又重新开博了
作者:volfmath 日期:2009-09-25
上个月,因为同一个服务器上有一个blog留言里卖枪信息,所以整个服务器被停了。
当然在这样一个傻逼,弱智,脑残是常态的国家里,我早已习惯。
虽然这次是铁通在干2B的事情,但是我还是要说,电信,联通,移动和他一样2。
铁通在处理这个问题上一贯显示了我党优良的作风品质,立即关闭不通知本人,甚至拔线处理。视人权为粪土,值得我们学习。这次博客新开了,我还会继续写一些开发上总结的问题。。
希望卖枪的留言不要再来了,因为看我博客的人根本买不起枪。所以广告是无意义的广告。如果真有本事把枪卖给我们铁通的同志,我是会为你们高兴的。
当然在这样一个傻逼,弱智,脑残是常态的国家里,我早已习惯。
虽然这次是铁通在干2B的事情,但是我还是要说,电信,联通,移动和他一样2。
铁通在处理这个问题上一贯显示了我党优良的作风品质,立即关闭不通知本人,甚至拔线处理。视人权为粪土,值得我们学习。这次博客新开了,我还会继续写一些开发上总结的问题。。
希望卖枪的留言不要再来了,因为看我博客的人根本买不起枪。所以广告是无意义的广告。如果真有本事把枪卖给我们铁通的同志,我是会为你们高兴的。
Tags: 开博
Gamebryo的材质系统
作者:volfmath 日期:2009-07-15
一个模型(有一大堆顶点跟索引数据组成)描画的方式,跟材质有很大的关系。
Gamebryo提供了一个很强大的材质系统。
首先gamebryo使用了一个自定义的Pipeline,这个也是在之前的文章中介绍过的。其实这个Pipeline就是大家最常用的一些Shader。GB帮我们总结出来了,并做成了一个标准的材质。这在GB里叫StandardMaterial。
标准材质跟Pipeline是相对应的。但是标准材质的实现是非常困难的,可以查阅NiStandartMaterial,大约有5000多行代码。GB会首先查找一下Shader文件夹下的那些Shader。
这些Shader的文件名是由一对数字+字母组成的。这些文件都是不重复的,因为GB内部通过Hash码得出这些值。如果在Shader文件夹下没有,那么GB会把当前的渲染方式记录到这个Shader中去,作为缓存。
当然你也可以构建自己的Material系统,比如GB的NiCommonMaterial里也给出了一些构建自己材质系统的例子,不过这是非常复杂,基本思想都是需要维护一个Shader树。
Gamebryo提供了一个很强大的材质系统。
首先gamebryo使用了一个自定义的Pipeline,这个也是在之前的文章中介绍过的。其实这个Pipeline就是大家最常用的一些Shader。GB帮我们总结出来了,并做成了一个标准的材质。这在GB里叫StandardMaterial。
标准材质跟Pipeline是相对应的。但是标准材质的实现是非常困难的,可以查阅NiStandartMaterial,大约有5000多行代码。GB会首先查找一下Shader文件夹下的那些Shader。
这些Shader的文件名是由一对数字+字母组成的。这些文件都是不重复的,因为GB内部通过Hash码得出这些值。如果在Shader文件夹下没有,那么GB会把当前的渲染方式记录到这个Shader中去,作为缓存。
当然你也可以构建自己的Material系统,比如GB的NiCommonMaterial里也给出了一些构建自己材质系统的例子,不过这是非常复杂,基本思想都是需要维护一个Shader树。
话说我的新钢琴
作者:volfmath 日期:2009-06-16
上海植物园游记
作者:volfmath 日期:2009-05-02
关于C++,我觉得好的设计法则
作者:volfmath 日期:2009-05-02
谈谈批量渲染
作者:volfmath 日期:2009-04-20
随着显卡寄存器数量越来越多,批量渲染已经不是什么稀奇的事情了.
其实,根据我最近研究发现,暴雪早在DX8时代就做了批量渲染这件事,所以一举占据了RTS老大的地位.很凑巧的时候我现在的项目也是个RTS类游戏.所以批量渲染就成了一个亟待解决的问题.
Gamebryo是支持MeshInstancing的,就是模型的批量渲染。
哦,先介绍下DX9支持的几种Instancing的方式吧,一种叫HardwareInstancing,中文叫硬件批量渲染吧,其实是DX9提供了SetStreamSourceFreq这个接口,让你可以把一个数据源多次使用,比如我们要批量需然一组模型,每个模型有自己的Translation信息,但是他们的顶点和索引数据是共用的。例如,你要批量10个这样的模型的话,只要抽取出他们不同的数据上传到一个数据源中,然后顶点和索引数据重复使用十次就可以了。
另外一种是ShaderInstancing,所谓Shader Instancing,意思就是,把Instancing数据传到vertex shader里去,在渲染的时候通过一些方法索引到这些Instancing数据,用来对顶点数据做不同的描画。
其实,根据我最近研究发现,暴雪早在DX8时代就做了批量渲染这件事,所以一举占据了RTS老大的地位.很凑巧的时候我现在的项目也是个RTS类游戏.所以批量渲染就成了一个亟待解决的问题.
Gamebryo是支持MeshInstancing的,就是模型的批量渲染。
哦,先介绍下DX9支持的几种Instancing的方式吧,一种叫HardwareInstancing,中文叫硬件批量渲染吧,其实是DX9提供了SetStreamSourceFreq这个接口,让你可以把一个数据源多次使用,比如我们要批量需然一组模型,每个模型有自己的Translation信息,但是他们的顶点和索引数据是共用的。例如,你要批量10个这样的模型的话,只要抽取出他们不同的数据上传到一个数据源中,然后顶点和索引数据重复使用十次就可以了。
另外一种是ShaderInstancing,所谓Shader Instancing,意思就是,把Instancing数据传到vertex shader里去,在渲染的时候通过一些方法索引到这些Instancing数据,用来对顶点数据做不同的描画。
Tags: 批量 渲染 gamebryo 骨骼动画 Instancing
重游北京三大见闻
作者:volfmath 日期:2009-04-09
月初重游了北京,除了一些个人事情以外,基本都在和同学吃喝。
之前去过两次,一次待在中关村那边,一次在南二环附近。这次是在东三环。
以前在上海也没待多久,所以不好对比评价,这次不一样,在上海生活也一年了,有个大体的认识。
见闻之一: 关于交通的。
北京公共交通实在太便宜,不能这么说,应该说是在比较合理。北京的公共交通才叫真的公共交通,上海的那叫抢劫。跟土匪一样。
先说准公共交通吧,出租车,北京白天10快,晚上11,上海白天11,晚上14。跑的远的话似乎北京更便宜,我没具体实验,反正这个差距已经不小了。
之前去过两次,一次待在中关村那边,一次在南二环附近。这次是在东三环。
以前在上海也没待多久,所以不好对比评价,这次不一样,在上海生活也一年了,有个大体的认识。
见闻之一: 关于交通的。
北京公共交通实在太便宜,不能这么说,应该说是在比较合理。北京的公共交通才叫真的公共交通,上海的那叫抢劫。跟土匪一样。
先说准公共交通吧,出租车,北京白天10快,晚上11,上海白天11,晚上14。跑的远的话似乎北京更便宜,我没具体实验,反正这个差距已经不小了。










![Validate my RSS feed [Valid RSS]](valid-rss.png)
![Validate my Atom 1.0 feed [Valid Atom 1.0]](valid-atom.png)
