一个人独立开发 3D 3d游戏引擎开发可能吗

中国领先的IT技术网站
51CTO旗下网站
三年一个人使用虚幻引擎(UDK)开发的一个游戏心路
对于我个人来说,完成她的意义不仅在与完成了一个儿时的愿望,也是一次战胜自我的旅程,3年的时光,经历了种种变荡。最终,通过压榨自己的业余时光,学习新语言,新游戏平台,3D建模,3D动画,美工,音效,FLASH,各种配置。
作者:来源:CocoaChina| 09:57
这个游戏没有做任何宣传(这个帖子算是第一个吧),其实也是实在没有额外的精力了,业余时间,靠兴趣搞东西的苦逼所在吧。
发这个帖子也是想能和一个人开发过游戏,和想一个人打算开发游戏的童鞋们交流一下,其中有多少坑掉里的兄弟才能体会吧。
最初,源于一个梦,和一个儿时的愿望。
对于我个人来说,完成她的意义不仅在与完成了一个儿时的愿望,也是一次战胜自我的旅程,3年的时光,经历了种种变荡。最终,通过压榨自己的业余时光,学习新语言,新游戏平台,3D建模,3D动画,美工,音效,FLASH,各种配置。完成了一个新难度的挑战。默然回首,之前认为很难的东西,现在回首真的已经不 算什么。也理解了一个人,一个小团队,能创造出整个world都使用的APP。真的不在云端之上。《我的世界》notch十年磨一剑。Dubbo,六个阿里研发兄弟,创造了每天支撑2000多个服务,30多亿访问量。Redis,Antirez一个的开源贡献。。。潘坑行拍钜彩强梢阅嫦摹
2012年,梦境中玩了一个体感的火箭游戏,醒来后觉得很有意思,于是蓄谋已久的游戏开发计划便有了最初的主题。
希望他是一个纯粹的游戏,不搞内购,不加广告,在觉得不知道玩什么的时候,能有个消磨时光的乐子。圆儿时一个愿望。
关 于为什么使用虚幻引擎(UDK),源于第一次见到虚幻在移动平台上的表现,然后就被她深深的震撼了,目前来看虚幻引擎在IOS平台上的表现力仍然是最强 的,没有之一。&无尽之刃&系列就是铁证。这就是我为什么非常二的选用UDK的原因(没有考虑任何商业目,但若想用最小的成本完成最好表现力的游戏,还是真心建议想做游戏的同学们3D游戏用unity3D,2D游戏用cocos2D,虚幻引擎的表现力代价是过于复杂,太难以驾驭 了,unreal4 的表现让我们拭目以待)。
对于个人开发者,额,准确点来说作为一个业余个人开发者。一个人开发一个游戏,还不知死活的选用UDK引擎来开发3D游戏。尤其是对于一个程序猿来说,3D建模,3D动画,二维贴图,FLASH...复杂的unreal script,和UDK引擎,真是应了那句话:&不会画画的厨子不是好程序猿&+ &No Zuo No Deal&。其中艰辛真的只有做过的人才能体会。
我 是玩红白机长大的那一代,从最初的红白机,后来的&中型机&,再到DOS 版红警,仙剑,PC上的各种经典...到今天儿子吊在脖子上和我一起玩xbox的《山脊赛车》。几乎玩便了从FC时代开始所有经典的单机视频游戏(《坦克大战》,《超级玛丽》...到后来的《三国志》,《吞噬天地》,《重装机兵》,《幽游白书》,到《95版仙剑》,《星际》,《魔兽》,《大菠萝系列》, 《GTA系列》不胜枚举...)。随着年纪的增加,做一款真正好玩的游戏的念头便越发强烈。
原本计划是完成一款自己心目中的游戏,献给30岁的自己。然后,拖拖拉拉居然搞了3年,暮然间到了大叔的年纪。很佩服那些可以放下一切,全职做游戏的牛X同学们。没有勇气全职来做,只好用业余时间来完成,牺牲了很多陪伴家人的时光,很是愧疚。
这 个游戏献给已过而立之年的大叔自己和我最亲爱的家人。
其实最终完成的时候,才发现想要的收获已经在不知不觉中完成了。开始时也YY过能赚些银子,到后来还是体会到了没有期望,便没有失望。
一个用业余时间搞的东西,也不再期望有啥惊喜了,祈求下载的兄弟和妹子们别骂我就万福啦,可能更多的收获是战胜自我的过程。
同时也有一些感慨:
我想我们都生在了一个美好的年代。在我们的有生之年都有机会体验到真正的虚拟现实。带上虚拟眼镜的刹那,你可以去任何梦中之境,成就无限可能,且可以真正的感同身受...
相传,华夏古代的修士们,修行大成之前,修者们都要经历&入妄境&与最终破境而出的劫数,历劫成功便成就大成真人或罗汉。而妄境之中便是一个完美的 &我的世界&,所有的感观如同亲身经历,并且随心所愿;这不就是虚拟现实技术完美的状态吗,她是一条成就普通人的妄境之路。而妄境的编织者便是我们这几代游戏,或娱乐内容的开发者。
对普通人来说是否是一种完美的精神鸦片?
古人们也给了我们答案:入妄境,还是为了破妄境,在妄境中体验拿起与放下,得到与失去;做到感同身受后的知行合一,在妄境的小轮回中体验,何为与而不害,何为为而不争,何为为善去恶,何为内观其心,心无其心;外观其形,形无其形;远观其物,物无其物;何为,朝为青丝,暮为雪!【责任编辑: TEL:(010)】
大家都在看猜你喜欢
头条头条专题专题专题
24H热文一周话题本月最赞
讲师:5人学习过
讲师:30人学习过
讲师:5人学习过
精选博文论坛热帖下载排行
在开始学习WAN资料时,我经常面对资料深度不够或者为电气工程师编写的书。另外,在看了几本书,并且对Internet进行了研究以后,我觉得应当...
订阅51CTO邮刊在百度上搜索了很久都没有找到如何在Android上面真机断点调试的方法,没办法只能科学上网到谷歌上去找,终于在Unity官网上找到了Android真机断点调试的办法。&br&1.首先在手机上开启USB调试功能,并安装驱动(这一步很多手机助手都可以完成)。&br&2.用USB电缆连接手机和电脑。&br&3.确保手机和电脑在一个局域网内,简单的说就是电脑和手机共用一个路由器,网段一样。&br&4.打开电脑上CMD窗口,输入以下命令:&br&
adb tcpip 5555(该命令打开手机adb网络调试功能)&br&
正常情况下输入命令后控制台会出现回显&br&
restarting in TCP mode port: 5555&br&
打开手机查看手机的IP地址(不会请百度)假设手机的地址是192.168.1.x输入命令&br&
adb connect 192.168.1.x&br&
如果一切正常控制台会回显以下内容&br&
connected to 192.168.1.x:5555&br&
如果你想查看是否连接成功请输入以下内容&br&
adb devices&br&
控制台会回显连接的设备&br&5.如果一切连接成功,请拔掉USB电缆,选择File-&Build&Run,在编译之前要勾选上Development Build 和Script Debugging这两项(在build setting里面勾选不要忘记否则是不能调试的)电脑会自动编译文件并将APK推送至手机,在手机上同意并安装。6.当程序运行后再Monodevelop里面打开Run-&Attach to process 会发现你手机的选项,选择手机,在脚本里面添加断点,你发现可以调试了,那叫一个爽!出现问题再也不用去瞎猜,或者添加Debuglog了。&br&新补充:有些同学因为某些原因没有实现最后调试这一步,我深表遗憾,为了给大家证明确实是可以这么做的,我特此贴出我的成功截图,我的两个手机联想K3note 和小米2都没有问题(不要吐槽手机太破,对我来说完全够用,开发游戏的我现在基本不怎么玩游戏了),三星T815平板还没试不过相信没有问题。请大家坚定信心,这条路肯定是是行得通的,出了问题好好检查下到底是哪里不对。&br&&img src=&/dccffc5b97816dec76a587f_b.jpg& data-rawwidth=&1105& data-rawheight=&616& class=&origin_image zh-lightbox-thumb& width=&1105& data-original=&/dccffc5b97816dec76a587f_r.jpg&&如果这篇文章对您有帮助或者你对此表示认同请点赞,提升排名让更多需要的人看到本文,谢谢!&br&
本文版权所有如无本人授权请勿转载,如需转载请联系作者,一个字按一软妹币收费!
在百度上搜索了很久都没有找到如何在Android上面真机断点调试的方法,没办法只能科学上网到谷歌上去找,终于在Unity官网上找到了Android真机断点调试的办法。 1.首先在手机上开启USB调试功能,并安装驱动(这一步很多手机助手都可以完成)。 2.用USB电缆连…
谢邀。&br&&br&本人 cocos2d-js 资深用户,公司由于本人原因目前使用 spritebuilder + cocos2d-js 应该有两年。&br&&br&我觉得 cocos creator 带来的最大的好处应该是它真正地&b&建立了一个好的开发流程&/b&。&br&&br&我对我们公司的开发流程颇为自豪,我愿意在这里简单描述一下它,并列出它给我们带来的好处。&br&&br&&ul&&li&双击一个应用建立一个全新工程&/li&&ul&&li&这个工程包含了基本的 UI 工程,有基础的 UI 结构和一些常用的包装过的控件(声音开关,付费,广告,评价按钮等)&/li&&/ul&&li&双击一个应用可以通过 UI编辑器,xcode,代码IDE 等方式打开工程&/li&&li&程序新建合适的 UI 文件或 node 文件&/li&&ul&&li&程序对 UI 进行绑定,开始编码&/li&&/ul&&li&美术根据程序建立的文件进行 UI 布局,制作动画等&/li&&ul&&li&熟练的美术可以自己新建合适的文件&/li&&/ul&&li&程序根据美术的需求调整绑定,调用动画&/li&&li&程序可以使用 chrome debug,可以随时用 console 调用任何语句,修改内存&/li&&/ul&&br&此外还有部分发布相关的流程不表。&br&&br&可以想象一下我们公司每天上班什么光景。&br&&ul&&li&程序每天开着 chrome 编码;&/li&&li&美术开着 spritebuilder,PS,改图改动画,一边 build 到自己手机看效果;&br&&/li&&li&策划开着关卡编辑器,一边改关卡,一边 build 到自己手机看效果;&/li&&/ul&还有各种相关人士需要时不时看版本,不好意思有点忙,你拉一下自己 build 吧。&br&&br&&b&带来的好处:&/b&&br&&ol&&li& 各种杂事不需要麻烦程序员(目前还没办法做到完全不麻烦)&/li&&li& 一到两个程序员完全可以完成完整项目&/li&&li&
足够细腻的游戏细节&/li&&li&(几乎是)每天都可以准时下班&br&&/li&&/ol&&br&&br&可以预见得到的是,&b&使用 creator 基本上可以复制我们花费了一年多时间所建立的工作流程。&/b&当然,前提是当前的解决方案得足够的健壮,编辑器本身不要带来新的问题,这点是需要时间验证的。&br&&br&附上我们最新游戏视频,25号正式上线,有兴趣的朋友可以支持一下,然后查看开发人员列表,programmer 一栏的人数不会让你失望。&br&&br&&a class=&video-box& href=&///?target=http%3A///v_show/id_XMTQ1MTM0OTAxNg%3D%3D.html& target=&_blank&&
&img class=&thumbnail& src=&/F317E6A0A&&&span class=&content&&
&span class=&title&&超级幻影喵 1分13秒视频曝光啦—在线播放—优酷网,视频高清在线观看&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&/v_show/id_XMTQ1MTM0OTAxNg==.html&/span&
&/a&&br&&br&利益相关:&br&&ul&&li&本人曾参加 cocos creator 内测,为 UI 交互提交过修改意见&/li&&li&没错,最后的视频是一个广告!&/li&&/ul&&br&------------华丽丽的赞美分割线----------------&br&&br&最新版的确比内测版好了许多,触控的童鞋们真是辛苦了。&br&&ul&&li&创建项目,debug 很方便&/li&&li&虽然最新版版本号是 0.7,不过 component 项目下的东西可是相当的多了。&br&&/li&&li&新建动画方便了许多,默认录制帧 真的是个好东西&/li&&li&绑定了代码之后,编辑器可以编辑 property 和选择 function 很方便&/li&&/ul&&br&可能对于我这个用惯了编辑器的人来说,并没有多太多的功能,不过对那些用代码做UI布局和动画的团队来说应该可以提升不少效率。&br&&br&-------------吐槽分割线-------------------&br&&br&&ul&&li&相比 component 我还是喜欢通过子节点来组合功能,component 应该更接近接口,而不是类,比如可以给 node 增加 &scrollable& 功能,会比给 node 增加 &scrollview& 组件好理解,然而把 node 拖进 scrollview 里面更好理解;&/li&&li&编辑器交互越接近 Unity,转移到 Unity 的成本就越低;&/li&&li&UI 布局的交互应该学习 PS ,而不是学习 Unity,应该鼓励 2D 美术使用编辑器;(譬如使用 ctrl + 方向 和 ctrl + shift +方向 等快捷键来移动节点)&/li&&li&时间线的交互应该学习 Flash,同样 2D 动画师的交互习惯 和 3D 动画师的交互习惯不一样;&/li&&li&prefab 的交互优先级应该要更高一些,在我们开发过程中,对 prefab 的使用比 scene 的使用频繁太多;&/li&&li&animationClip 文件最好还是取消,可以精简文件数,也减少了设置和索引的成本&/li&&/ul&&br&最后的最后,吐槽一下那些觉得学习 js 麻烦的程序员。
谢邀。 本人 cocos2d-js 资深用户,公司由于本人原因目前使用 spritebuilder + cocos2d-js 应该有两年。 我觉得 cocos creator 带来的最大的好处应该是它真正地建立了一个好的开发流程。 我对我们公司的开发流程颇为自豪,我愿意在这里简单描述一下它,并…
&p&题主大概想了解的是现在的手游的资源处理方式,然后还想问问2d骨骼动画哪家强。&/p&&p&先说资源的处理,当然其中最主要的还是图片纹理资源,其他的比如策划数据,音乐音效可以略过。节省纹理资源的主要目的一般有两个:其一是为了节省内存占用避免程序被系统终止,其二是为了减小最后生成的包的大小。&/p&&br&&p&先看节省内存:RGBA8888,每个像素4字节,完全不压缩,效果最好,一般用于一些界面中需要拉伸的九宫元素,和一些充当门面的比如主界面的小图标之类;RGBA565+Dithering,每个像素2字节,适用于没有alpha通道的纹理,比如一些地图背景之类,效果不错;RGBA4444+Dithering,每个像素2字节,适用于有alpha通道且不需要很高清的纹理,抖动之后会产生一些麻子点点的效果。PVRTC4,ios上硬件支持的压缩方式,每个像素0.5字节,在图片中有渐变的地方会出现分布不均匀的色条,可以用于一些序列帧特效,不过PVRTC4需要图片的尺寸是2的n次方。etc1是大部分android手机硬件支持的格式,每个像素0.5字节,2的n次方必须,缺点就是没有alpha,需要专门生成alpha通道的图,个人感觉效果比pvrtc4要略好,但是加上alpha图的大小就要比pvrtc大一倍了。&/p&&p&拿一张的图作为例子,在内存中的占用,RGBA8888是16mb,565和4444是8mb。而pvrtc4和etc是2mb,效果拔群。当然实际中还要考虑2的n次幂和非2的n次幂带来的差距。通常而言pvrtc4和etc1都是最省的。(哪天老的ios设备都淘汰了,就可以上pvrtc2.0了)。&/p&&br&&p&具体在项目中的做法一般是混合了多种格式在用的,需要注意的是,无论哪种png的格式,为了在程序读取时区分,,最后需要用texturepacker输出为pvr.ccz或者pvr.gz格式,png本身不带像素格式的信息,如果输出成png,最后到内存中又全都展开成8888了……cocos2dx里的实现是这样的。&/p&&br&&p&至于最终生成包的大小,压缩合并了图片之后就看看能不能节省一些策划数据,减少音乐音效的质量了。&/p&&br&&p&coc的做法是各种切切切,切到最小,然后各种拼拼拼,拼到最大,能够节省就绝不会多浪费1像素,对美术的要求高啊,还要程序有足够的资源组合想象力orz&/p&&br&&p&然后就是骨骼动画的选择了, dragonbones对应的工具是flash, spine和cocos studio都是自身,这个主要看美术用哪个用的顺手了,大多数美术习惯了flash。然后就是程序的接口,基本上都有cpp版的,所以问题不大。&/p&
题主大概想了解的是现在的手游的资源处理方式,然后还想问问2d骨骼动画哪家强。先说资源的处理,当然其中最主要的还是图片纹理资源,其他的比如策划数据,音乐音效可以略过。节省纹理资源的主要目的一般有两个:其一是为了节省内存占用避免程序被系统终止,…
楼上大家说得都比较高端,我来推荐一个适合初学者的。&br&《Python交互编程入门》&br&课程链接:&br&&a href=&///?target=https%3A//www.coursera.org/course/interactivepython1& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Coursera - Free Online Courses From Top Universities&i class=&icon-external&&&/i&&/a&&br&&br&这是coursera的一门公开课,内容基本都是教你用通俗易懂的方法来写游戏。学过之后就对canvas之类的有一定了解了。虽然不一定学会之后就能自己写出很厉害的游戏,但能够have fun是肯定的,很适合初学者入门。&br&付费然后通过课程后可以拿到coursera的证书,不付费也不会影响学习的,也就是完全免费的。&br&如果打不开codeskulptor,那就需要自备梯子了。&br&&br&以下内容从课程介绍页面复制过来:&br&&blockquote&“课程分为两个部分,课程面向没有或很少计算机经验的人士,让他们了解如何开发简单的互动程序。我们选择Python作为开发语言,因为Python是一门易学的高层语言,而且被Coursera上的很多计算机课程选用。为了让学生能更容易掌握Python语言,我们开发了全新基于浏览器的程序开发环境,从而学生能够方便地开发互动程序。这些程序以窗口形式运行,包含能与按钮、鼠标和键盘进行互动的图形元素。&br&&br&学生主要通过完成一系列Python“迷你项目”来学习课程内容。为了让课程更有趣,这些项目将包括有趣的游戏,例如乒乓球、二十一点和爆破彗星等。我们不能承诺学生完成课程后,能够成为专业程序开发者,但是他们一定能掌握许多Python开发技能,并且能在学习过程中感到有趣。”&/blockquote&
楼上大家说得都比较高端,我来推荐一个适合初学者的。 《Python交互编程入门》 课程链接:
这是coursera的一门公开课,内容基本都是教你用通俗易懂的方法来写游戏。学过之后就对canvas之类的有一定了…
我来打个广告。。&br&&br&&a href=&/graphics/& class=&internal&&基于物理着色(一)- Behind the Pixels - 知乎专栏&/a&&br&&a href=&/graphics/& class=&internal&&基于物理着色(二)- Microfacet材质和多层材质 - Behind the Pixels - 知乎专栏&/a&&br&&a href=&/graphics/& class=&internal&&基于物理着色(三)- Disney和UE4的实现 - Behind the Pixels - 知乎专栏&/a&
我来打个广告。。
谢邀&br&&br&首先声明, 我不是coco黑. 毕竟开源的引擎不多. 而且cocos2dx这块做的也很努力. 但既然影响面很广. 那么广开言路还是很重要滴&br&&br&&b&架构&/b&&br&1. 缺乏引擎的技术蓝图规划.
一个跨平台的引擎, 编辑器居然选了WPF...也是醉了&br&2. 音频上到了3.X才开始使用的OpenAL? 之前每平台单独封装, 搞的一个跨平台引擎, 各平台支持的格式居然完全不一样...&br&3. 2.X已经觉得图形部分和基础部分写成一个工程已经很大了.到了3.X, 居然直接把所有东西都整合到一个工程里了. 这是懒吗? 殊不知, 包括VC在内的很多编译器都是以工程为并发编译的最小元素. 这么做完全不能利用CPU并发节约时间. 本来引擎bug多, 偶尔需要改下引擎, 动辄编译就很久. 这是要杀人的节奏啊...&br&4. 反射及各种高端技术就不说了, 好歹文档也与官网同步啊, 一个doxygen就搞定的事情. C++好歹可以看代码. 那Lua写起来, 那叫一个费劲, 完全没文档&br&5. UI的设计理念很落后. 能用, 但要做灵活的东西, 简直是噩梦. Unity3D的UGUI和NGUI已经证明组件式UI架构是多么成熟&br&6. 收了Quick-cocos2dx后, 重新改名为Cocos2D-lua. 但其实打开代码对比了半天才发现. 里面代码跟Cocos的C++版本差异非常小. 只是Lua上面多了几个类和绑定而已. 有必要这么独立出来么?&br&&br&&b&代码风格&/b&&br&1. 从2.X跳到3.X, 打开3.X的代码, 有些库和代码从来没见过. 但已经充斥了大量的deprecated. 比如说Lua的网络库.
原来命名是sendTextMsg, 新命名是sendString.
命名非常随意, 任性, 毫无章法可言.对开发者最大的影响恐怕就是不敢升级, 坚持老版本...&br&2. 无论引擎, 编辑器还是UI, 很多地方都看到很多重复代码. 虽然听闻说, 为了照顾初学者, 为了代码简单... 我就呵呵了, 这样只能一步一个脚印的告诉初学者, C++就是可以写重复代码.&br&3. 为了不整高端代码而用宏替代模板本身就是大错特错, 误导了一票初学者&br&&br&&b&测试, 测试, 测试( 重要的东西说三遍 )&/b&&br&1. 引擎本身的测试勉强打60分. 我猜只是靠cpptest这些的测试. 其他的就呵呵了&br&2. 编辑器的测试...这个估计走的跟游戏差不多吧, 都人肉测试, 猜的. 很多功能其实本身可以从代码风格和审查避免一些问题. &br&&br&总体对Cocos2dx的感觉&br&小, 有惊艳的东西. 但用过后, 感觉就是典型的国货, 能用, 但质量差&br&&br&给Cocos2dx团队建议:&br&开放思路, 把引擎真正开放给业界. 用高手, 牛人加入进来一起开发. 别让一个项目组的技术水平引领了中国的游戏水平
谢邀 首先声明, 我不是coco黑. 毕竟开源的引擎不多. 而且cocos2dx这块做的也很努力. 但既然影响面很广. 那么广开言路还是很重要滴 架构 1. 缺乏引擎的技术蓝图规划. 一个跨平台的引擎, 编辑器居然选了WPF...也是醉了 2. 音频上到了3.X才开始使用的OpenAL? …
理论上,由于现代的图形架构是管道(pipeline)形式,要用具体执行环境来评测一个shader的效率,需要让该shader成为瓶颈,然后量度其吞吐量(throughput)。&br&&br&然而,有几个因素造成上述的方法无用或无效:&br&&ol&&li&在游戏开发中,除了游戏机和街机平台,一般的目标平台(硬件、操作系统)并不是完全固定的。屏幕分辨率也是可变的。&/li&&li&游戏过程有很多变数,例如渲染1个接近镜头的NPC和渲染10个远离镜头的NPC,其性能分别难以预测。瓶颈经常会改变。&/li&&/ol&有一些shader是较容易评测的,例如,全屏后期处理的瓶颈在于pixel shader、纹理采样和带宽,其运行复杂度与屏幕分辨率成正比。&br&&br&对于其他shader,最简单的评测方式是,观察shader源代码编译成汇编之后的一般指令及纹理采样指令数目。这是一个非常粗糙的评测方式,但可以用于作一些简单的统计,找出那些可能有问题的shader。这适合像UE给美术随意创建shader的情况。&br&&br&但在游戏开发中,我看到一般的做法是,以执行游戏来作整体评测及优化,而不是单独评测各个部分。一方面是因为游戏有很多变数,另一方面是因为人力成本。所以通常会做一些自动评测整体性能的测试,例如让Bot在场景中行走,记录整体的帧率、CPU/GPU时间、draw-call等。如自动测试程序发现超出预期的数值,就发电邮通知团队。这种测试每天自动执行,可画出按天数的性能图表,知道开发及优化的整体情况。&br&&br&因为题目不是问优化,就不详述优化方法了。但很重要的是,图形程序员应该对图形系统的架构有基本认识,了解shader语言各指令及其编译后的指令,能写出合乎常识的shader。&br&&br&最后,推荐Emil Person在这两年的GDC讲义 &a href=&///?target=http%3A//www.humus.name/index.php%3Fpage%3DArticles& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Humus - Articles&i class=&icon-external&&&/i&&/a&:&br&&ul&&li&Low-Level Thinking in High-Level Shading Languages&br&&/li&&li&Low-level Shader Optimization for Next-Gen and DX11&/li&&/ul&
理论上,由于现代的图形架构是管道(pipeline)形式,要用具体执行环境来评测一个shader的效率,需要让该shader成为瓶颈,然后量度其吞吐量(throughput)。 然而,有几个因素造成上述的方法无用或无效: 在游戏开发中,除了游戏机和街机平台,一般的目标平…
希望能直接导入MOD谢谢&br&&br&死或生的模型现在都齐了
希望能直接导入MOD谢谢 死或生的模型现在都齐了
&b&这些都是Unity引擎的游戏,大家感受一下。&/b&&br&图片来自网络。&br&&br&《外科手术模拟2013》(2013)&br&&img data-rawheight=&710& data-rawwidth=&1270& src=&/f5cabe_b.jpg& class=&origin_image zh-lightbox-thumb& width=&1270& data-original=&/f5cabe_r.jpg&&&br&&br&&br&《瘦长鬼影:降临》(2012)&br&&img data-rawheight=&281& data-rawwidth=&500& src=&/792d33c0fdbef7080dde2fa_b.jpg& class=&origin_image zh-lightbox-thumb& width=&500& data-original=&/792d33c0fdbef7080dde2fa_r.jpg&&&br&&br&&br&《炉石传说》(2014)&br&&img data-rawheight=&720& data-rawwidth=&1280& src=&/c0a45afd33b71a1dfbe573d1d08ac298_b.jpg& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&/c0a45afd33b71a1dfbe573d1d08ac298_r.jpg&&&br&&br&&br&《坎巴拉太空计划》(2015)&br&&img data-rawheight=&675& data-rawwidth=&1200& src=&/68daf4d4ab9ab_b.jpg& class=&origin_image zh-lightbox-thumb& width=&1200& data-original=&/68daf4d4ab9ab_r.jpg&&&br&&br&&br&上面这些游戏除了只玩国产游戏的情怀粉以外应该都至少有所耳闻。&br&有几个还是&b&独立游戏&/b&。&br&&br&&b&你真以为仙剑烂跟引擎有关?!&/b&
这些都是Unity引擎的游戏,大家感受一下。 图片来自网络。 《外科手术模拟2013》(2013) 《瘦长鬼影:降临》(2012) 《炉石传说》(2014) 《坎巴拉太空计划》(2015) 上面这些游戏除了只玩国产游戏的情怀粉以外应该都至少有所耳闻。 有几个还是独立游戏…
没看过虚幻的代码,不过看名字和行为来猜,应该是用来检测POD的. &br&&br&POD是C++中一个无比重要的概念,也是一个非常容易被忽略的概念,每个类都应该有责任和方法告知类的使用者本类是否为POD类.那么如何告知呢? C++11中完全可以使用std::is_pod&& ,或者&br&std::is_trivial&& 来检测,但是或许是没有C++11或者处于另外的考虑,有时候我们自己也可以想个其他办法来检测POD,虚幻这种方法我还是第一次见,我猜,在代码深处的某个地方肯定有这样一个模板定义:&br&&br&&div class=&highlight&&&pre&&code class=&language-text&&template&typename T&
class TIsPODT
&/code&&/pre&&/div&&br&然后,每增加一个类,比如你举得例子FPlane,我就特化一个TIsPODType&&,特化成:&br&&div class=&highlight&&&pre&&code class=&language-text&&TIsPODType&FPlane&
&/code&&/pre&&/div&然后用一个enum来告知它是不是POD就行了.&br&&br&//--------------------------------------------------------------------&br&&br&至于什么是POD呢? 我觉得在C++中POD的最大意义是这说明它的构造和析构是平凡的(trivial),&br&平凡的构造函数意味着这个构造函数什么都不做,比如一个int(); 或者一个 float(); 只是占一下内存,&br&构造函数本身不做任何事. 对于拷贝构造函数来说,POD的拷贝构造函数意味着 完全可以使用memcpy的方法构造一个副本. 为什么POD如此重要? 因为假如你有个类:&br&&br&&div class=&highlight&&&pre&&code class=&language-text&&class Array {
Array() { p=new int[100]; }
~Array() { delete[] }
&/code&&/pre&&/div&&br&这个类显然不是POD,也不是平凡的,如果你使用memcpy的方法创建它的副本,那么就会出现很恐怖的事情: 同一段内存被两个指针指向,会被delete[]两次:&br&&br&&div class=&highlight&&&pre&&code class=&language-text&&A
Array b=a;//你完了
&/code&&/pre&&/div&&br&可是,我们经常需要以memcpy的方式来拷贝构造,尤其是使用模板容器时,比如这个容器:&br&&br&&div class=&highlight&&&pre&&code class=&language-text&&template&typename T&
class SuperArray {
SuperArray() { ptr=new int[10]; size=10; counter=0;}
~SuperArray() { delete[] }
void add(const T& t)
if(counter&=size) {
int* temp=new int[size+1];
memcpy(temp,ptr,size);
ptr[counter++]=t;
&/code&&/pre&&/div&&br&当SuperArray内部的内存片不够用时,就重新new一个更长的(先别管效率了..),然后memcpy&br&老的内存片过来,这种技巧是常用的. 那么这时SuperArray就需要一种检测,检测某个类是否为POD.&br&如果是,memcpy就成立,如果不是就不成立.&br&&br&//-----------------------------------&br&&br&&a href=&/people/hyphen-lee& class=&internal&&hyphen lee&/a&问说为什么不用static变量来存,一方面占空间,还有就是static变量不能当模板参数,这就导致了一些模板处理时的麻烦,例如有一个函数:&br&&div class=&highlight&&&pre&&code class=&language-text&&template&typename T&
void PODcopy(const T& a,const T& b);
&/code&&/pre&&/div&假设这是个对两个同类型POD进行拷贝的函数,内部就是简单的memmove,memcpy什么的,那么&br&它只对POD起作用.那么,这时候就有必要使用IsPOD来进行一些安全方面的保障,重新声明一下:&br&&div class=&highlight&&&pre&&code class=&language-text&&template&typename T&
using enable_me_if_Im_POD = std::enable_if&IsPOD&T&::value&::type
template&typename T&
void PODcopy(const T& a,const T& b,enable_me_if_Im_POD*=nullptr);
&/code&&/pre&&/div&这时,当你使用对两个非POD的类的对象进行PODcopy函数时,就会报错,因为根据&Substitution Failure Is Not An Error&,PODcopy的所有非POD类型特化时都会由于enable_if而失败,于是便&隐藏&起来.&br&&br&同理的还有其他一些好处,所以总的来说使用enum比static变量要好些
没看过虚幻的代码,不过看名字和行为来猜,应该是用来检测POD的. POD是C++中一个无比重要的概念,也是一个非常容易被忽略的概念,每个类都应该有责任和方法告知类的使用者本类是否为POD类.那么如何告知呢? C++11中完全可以使用std::is_pod&& ,或者 std::is_triv…
&p&以下我以“大型3D、大型2D、中小型2D和微型2D”来划分,尽可能减少”纠结“感。&/p&&p&因为引擎的选择一向做不到“以偏概全”,他们各有所长,应选择自己适合的。&/p&&p&尤其是差异化这么明显的两个引擎。&br&&br&&b&一、&/b&&b&3D&/b&&b&游戏(包含&/b&&b&2.5D&/b&&b&)&/b&&/p&&p&只能:&b&Unity3D&/b&&br&作品:职业棒球、星际陆战队等&br&分布:欧美国家用Unity3D的较多。商业化引擎中,3D游戏占比最高&br&原因:&/p&&br&&p&
就像 &a href=&/people/b65ec66e94eb5c& class=&internal&&@朱云&/a&所说。&b&Cocos2d-x&/b&&b&目前还不支持&/b&&b&3D&/b&&b&。&/b&相比而言,U3D就是你唯一的选择了。&br&&br&&br&&b&二、大型&/b&&b&2D&/b&&b&游戏(可以指安装包上百兆的)&/b&&br&推荐:&b&Unity3D&/b&&br&作品:捣蛋猪、冰雪奇缘、天天飞车、绝代双骄等&br&分布:欧美国家用Unity3D的较多,国内用Cocos2D-X的多&br&原因:&br&&br&&/p&&b&1&/b&&b&、游戏这东西,就是要跟&/b&&b&“&/b&&b&直觉&/b&&b&”&/b&&b&打交道的&/b&&br&&br&&p&我的想法有点极端,我感觉在游戏世界里,代码似乎更像是“妥协”的产物。&br&&br&如果能做到“所见即所玩”,那真的是一个非常惬意的事。到时候,或许一个8岁小孩就能独立自主的开发一款游戏。&/p&&br&&p&而这一点,Unity3D的王者地位,当之无愧!&br&&br&&/p&&b&2&/b&&b&、&/b&&b&Unity3D&/b&&b&提供了超赞的设计工具,让你感觉像是在用&/b&&b&3DMax&/b&&b&和&/b&&b&Flash&/b&&b&来做游戏&br&&/b&&br&&b&3&/b&&b&、适合大型团队,美工、动画更容易上手&/b&&br&&br&U3D可以让美工、动画、码农在同一个平台上各司其职。这点从目前来看,Cocos2D-X望尘莫及。&p&&br&&br&&b&三、中小型&/b&&b&2D&/b&&b&游戏(百兆以内的)&/b&&br&推荐:&b&Cocos2D-X&/b&&br&作品:捕鱼达人、我叫MT、2048等&br&分布:东亚游戏多出自Cocos2D-X,尤其中国。但大多为小型游戏&br&原因:&br&&br&&/p&&b&1&/b&&b&、&/b&&b&Unity3D&/b&&b&比&/b&&b&Cocos2D-X&/b&&b&的&/b&&b&APK&/b&&b&包要大了&u&近十倍&/u&&/b&&br&&br&&p&仅以Android手机为例,同样的一个&b&2D&/b&&b&版&/b&&b&HelloWorld&/b&,两者的安装包大小:&br&Unity3D:约为&b&9.27M&/b&&br&Cocos2D-x:约为&b&1.67M&/b&&br&&br&解开包后发现,里面除了两个一共占据近12M的SO库(libmono.so和libunity.so),还有一票的DLL文件。其中System.dll、Assembly-CSharp.dll和mscorlib.dll这三个核心文件就占了5M。虽然它们压缩比约为50%,但仅这些文件就占了这么多。心疼啊。&/p&&br&&p&&b&而这,在&/b&&b&“&/b&&b&寸土寸金&/b&&b&”&/b&&b&的中小型游戏面前是多么可怕的数字。&/b&&br&&br&&/p&&b&2&/b&&b&、&/b&&b&Cocos2D-X&/b&&b&比&/b&&b&Unity3D&/b&&b&快很多&/b&&br&&br&&p&即使不用测试工具,也可以轻易的发现这一点。&/p&&br&&p&主要因为Unity3D用了Mono架构,它移植自微软的.Net。每次启动都会加载Mono框架和Unity3D引擎,再加载.Net Assembly(一堆DLL文件),这可比Cocos2D-x这种纯C++(包括Lua和JS)实现要慢很多。&br&&br&&/p&&b&3&/b&&b&、独立开发者更喜欢&/b&&b&“&/b&&b&码&/b&&b&”&/b&&b&游戏&/b&&br&&br&&p&独立开发者大多是“技术达人”(不然怎么开发游戏)。U3D会让他们有“无所适从”感,从而影响了对U3D的灵活运用。对这些人而言,这是赤裸裸的时间成本。在游戏开发中,这点尤为重要。&b&还是&/b&&b&Cocos2D-X&/b&&b&让他们更感到&/b&&b&“&/b&&b&亲切&/b&&b&”,更有&/b&&b&成就感&/b&&b&。&/b&&/p&&br&&p&也许你会问:“你怎么知道?”&/p&&p&因为我就是搞技术的。&/p&&br&&b&4&/b&&b&、中国游戏多出自&/b&&b&Cocos2D-X&/b&&br&&br&&p&Cocos2D-X是正宗国产货,又是优秀的开源项目,国外用户群也不少。&/p&&p&也正是因为这个原因,C2D天生就对中国用户很“偏爱”。比如社区,我在上面问了两个问题,基本上当天问当天答,而且非常热心。从这一点我就对C2D产生了不错的好感。&/p&&br&&b&5、Unity3D要收费&/b&&br&&br&&p&对大型2D游戏团队来说或许还不算什么。&/p&&br&&p&初步算一下,Pro要1500$,手游怎么至少也得兼容iOS和Android吧,各自1500$,再加个Team套装,加一块儿,5000$,两万多银子。&/p&&br&&p&&b&Cocos2D-X免费、开源。&/b&遇到问题可以研究源码或向社区求救。&/p&&p&&br&&br&&b&四、微型游戏(指争取安装包在&/b&&b&1M&/b&&b&以内的)&/b&&br&推荐:&b&AndEngine、Cocos2D-iPhone&/b&&br&作品:Flappy Bird、小球快跑、五子棋等&br&分布:不需要跨平台的超小游戏用的多。&br&原因:&/p&&br&&b&如果只想在一个平台上开发游戏,无疑上述两种是最好的选择&/b&&br&&br&&p&其中AndEngine开发出来的游戏最小才400多KB,大名鼎鼎的Flappy Bird就是用它做出来的。&br&&br&另外,iPhone的Cocos2D划到这里似乎不太合适,但仔细想想,现在有更成熟的Cocos2d-x方案,Cocos2D划到微型游戏一列,相信是早晚的事(个人看法,轻拍)。&br&&br&&br&&b&五、总结&/b&&/p&&br&&p&1、Unity3D:如果你需要开发&b&大型游戏&/b&,或需要开发3D游戏的,请选这个。&/p&&br&&p&2、Cocos2D-x:如果你开发的是&b&中小型游戏&/b&,对安装包大小比较在意的,请选这个。&/p&&br&&p&3、Andengine、Cocos2D-iPhone:如果你只为开发&b&单平台游戏&/b&,又非常在意速度和安装包大小,请选这个。&/p&&p&&br&最后。俗话说:&b&没有最好的,只有最适合自己的。&/b&我想这句话同样适用于开发游戏。&/p&&p&共勉!&/p&&br&&p&&b&转载请注明出处。谢谢!&/b&&/p&
以下我以“大型3D、大型2D、中小型2D和微型2D”来划分,尽可能减少”纠结“感。因为引擎的选择一向做不到“以偏概全”,他们各有所长,应选择自己适合的。尤其是差异化这么明显的两个引擎。 一、3D游戏(包含2.5D)只能:Unity3D 作品:职业棒球、星际陆战…
游戏的核心在于脑洞,渲染器的核心在于抄袭,引擎的核心在于装逼。&br&&br&看你哪一项比较擅长。&br&&br&不管什么代码写多了最后你的水平都差不多。处理有规模的问题才是程序员进阶的拦路虎。
游戏的核心在于脑洞,渲染器的核心在于抄袭,引擎的核心在于装逼。 看你哪一项比较擅长。 不管什么代码写多了最后你的水平都差不多。处理有规模的问题才是程序员进阶的拦路虎。
要说明unity有多强大得翻出我以前干过的项目了,2004年的时候我想做一个3d的商场。于是设想了一下这个开发工具。下面是我04年百度贴吧的截图。&br&&img src=&/079d4cff1ea3c8392977afca294dd109_b.jpg& data-rawwidth=&645& data-rawheight=&938& class=&origin_image zh-lightbox-thumb& width=&645& data-original=&/079d4cff1ea3c8392977afca294dd109_r.jpg&&原文地址:&a href=&///?target=http%3A///p/Fpid%3Dcid%3D0%& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&冰火蓝虫的新想法&i class=&icon-external&&&/i&&/a&&br&一个牛逼的创意需要看它所处的时代,当初我们没有这样的开发工具,但是大伙看看unity现在的开发方式与我当初的设想是多么的接近啊!.net +3dmax 这特么的几乎一模一样啊。但是当初并没有unity,我用vrml,好古老的语言通过3dsmax导出vrml,然后通过javascript调用asp实现类似的效果。然并卵,我找不到这样的工作,这个创意超出了时代。至今还有很多公司在做这种项目,但是用户体验是个硬伤,只有vr时代才可能解决用户体验的问题。后来我转型去做crm,结果选择错误的方向,做了茶楼领域的crm,接着&a href=&tel:&&&/a&年南京就没有茶楼是活下来的。 我就去了制造业,然后去了之后就开始脑洞打开,erp当时我的眼里应该做成无人工厂,无人工厂才是真正的erp,先埋下这个伏笔。后来我参与了一些汽车工厂的非标物流设备的设计项目,其实就是因为汽车零部件一个个长的稀奇古怪不是规则的形状,就需要设计的特殊的结构料架,而这些料架不光要满足运输的需要还要满足生产节拍的需要,那么设计一个这样的产品就需要给客户做各种的展示。vrml成了我的主要展示工具,因为可以做交互,当初用的是bitmanagement公司的解决方案。可惜有个logo总是飘来飘去。就这样在制造业一直混到了2009年,一天我苏州的老东家让我给他们做一个用于展示仓储的解决方案,我在vrml群里碰到了一个04年认识的哥们,给我介绍了一下unity,这哥们真给力居然给我邮寄了一份unity的教材,当初最早的教材是“长宽高”出的。国内第一代unity玩家都应该还记得。我用了一个星期学的差不多了,就做了一个赛车游戏的demo,那什么仓储解决方案我已经抛到了脑后。我把游戏上传到了国内当时一个很火的vr网站,结果居然各种电话,各种约,我一看重返it行业的时机来了果断跳槽!下面说说unity在游戏领域有多大强大,我进的游戏公司说他们用xx2d做了半年什么都没做出来,呵呵!呵呵!我去了之后半年出了三款游戏,大卖不大卖我不知道,高层保密,下载量不说。至少在老板面前领导层终于有了勇气说,我们是会做游戏的。当初也就带了南航和河海大学刚毕业的娃娃,这些正规大学的娃娃学的就是快啊,可惜我是技校出来混的,要不然现在就不用创业了去什么大公司混去了。这一次我见识到了unity开发游戏的效率,非常强大,因为在学生时代曾经想过有一天会去做游戏结果还真成了。&br&&b&第一个强大:容易上手,开发效率高!&/b&&br&因为以前的发过赛车demo,突然一个妹纸给几通电话各种约,我没理她,我觉得做游戏蛮好玩的,后来主要新开的游戏太多,下面人被挖空,各种火大,好不容易教出来的人被撬走了,果断跑路。&br&&br&新公司做智慧城市,跑过去就做了几个牛逼的demo,cityengine 迅速出城市场景模型,直接导入unity,各种刷,各种种树种花。socket webservice各种打通,连各种传感器,各种绚丽画面,各种控制,各种高大上。在这踏踏实实干了两年。总结&br&&br&&b&第二个强大:不光可以做游戏,可以搞各种项目。&/b&&br&&br&&br&接下来,还记得前面那个脑通大开的无人工厂吗?直接上图,下面是百度上曾经发的脑残贴。&br&&img src=&/7fa22ef217f2f614b18a2_b.jpg& data-rawwidth=&814& data-rawheight=&1039& class=&origin_image zh-lightbox-thumb& width=&814& data-original=&/7fa22ef217f2f614b18a2_r.jpg&&从图里可以看出来我当时明显是个技术菜鸟,2012年有幸参与了一个真正的无人工厂,采用unity3d做全息监控,整个工厂的运行全部三维可视化监测。因为项目比较大我也不好直接说项目名称也不好找到项目图片,我只好找段类似的视频给大家看看。下面我给个地址:&a href=&///?target=http%3A///watch/.html%3Fpage%3DvideoMultiNeed& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&/watch/077&/span&&span class=&invisible&&42746.html?page=videoMultiNeed&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&我做的项目与这个类似,实现类似的监测效果,我只做监测部分,其他部分的均有多家公司的团队合作实现。虽然无图无真相,但是我只想说你爱信不信。看看unity强大不强大,从游戏到无人工厂,从多媒体到工业监测,这货无所谓不能啊。以前有人说发布的平台稳定性不行,后来支持了linux直接抽了这货的脸啊!知道吗?在开发过程中别家公司的用的开发工具各种溢出,各种闪退,而unity真给我长脸啊,一次闪退都没有!顶多卡,但是不溢出!呵呵!&br&&b&第三个强大:稳定性极好,工业级不怕。&/b&&br&&br&&br&其实我之前做软件的时候碰到过各种问题,发布个软件忘记各种类库没添加,话说用了unity之后全是一键发布,重来不用考虑勾选类库。还支持各种平台的发布,现在都知道。&br&&img src=&/1afc396e001a30cded7b766c6f560845_b.jpg& data-rawwidth=&837& data-rawheight=&356& class=&origin_image zh-lightbox-thumb& width=&837& data-original=&/1afc396e001a30cded7b766c6f560845_r.jpg&&&br&&b&&img src=&/acd90a2867dec79d257c4d_b.jpg& data-rawwidth=&836& data-rawheight=&355& class=&origin_image zh-lightbox-thumb& width=&836& data-original=&/acd90a2867dec79d257c4d_r.jpg&&第四个强大:各种平台都支持,一键部署。&/b&&br&&br&关于喷unity效果的,我在上图,来证明一下。&br&&img src=&/49dfbb53ee2_b.jpg& data-rawwidth=&1082& data-rawheight=&562& class=&origin_image zh-lightbox-thumb& width=&1082& data-original=&/49dfbb53ee2_r.jpg&&&br&&img src=&/acdfbd41a6edbc26ba86d_b.jpg& data-rawwidth=&1141& data-rawheight=&640& class=&origin_image zh-lightbox-thumb& width=&1141& data-original=&/acdfbd41a6edbc26ba86d_r.jpg&&&img src=&/42aa6a1d77b8b65d3a7585_b.jpg& data-rawwidth=&1139& data-rawheight=&629& class=&origin_image zh-lightbox-thumb& width=&1139& data-original=&/42aa6a1d77b8b65d3a7585_r.jpg&&&img src=&/55eeaab0f72a226aca095_b.jpg& data-rawwidth=&1135& data-rawheight=&639& class=&origin_image zh-lightbox-thumb& width=&1135& data-original=&/55eeaab0f72a226aca095_r.jpg&&&img src=&/46a9727b6dbadbc91bed7d90ae4fcc5b_b.jpg& data-rawwidth=&1136& data-rawheight=&631& class=&origin_image zh-lightbox-thumb& width=&1136& data-original=&/46a9727b6dbadbc91bed7d90ae4fcc5b_r.jpg&&&img src=&/609b2a7eaec235c79c378f390af8e881_b.jpg& data-rawwidth=&1138& data-rawheight=&638& class=&origin_image zh-lightbox-thumb& width=&1138& data-original=&/609b2a7eaec235c79c378f390af8e881_r.jpg&&&img src=&/c138a8fcfa3d8fbd197c374ac4ae8de0_b.jpg& data-rawwidth=&1165& data-rawheight=&625& class=&origin_image zh-lightbox-thumb& width=&1165& data-original=&/c138a8fcfa3d8fbd197c374ac4ae8de0_r.jpg&&&img src=&/0c370e9839cbd67fdfbff135_b.jpg& data-rawwidth=&400& data-rawheight=&367& class=&content_image& width=&400&&&img src=&/353a96fc25c150ba7fe13e7ffff6aed7_b.jpg& data-rawwidth=&400& data-rawheight=&461& class=&content_image& width=&400&&&br&&img src=&/27ba11de7fbacbca91e7959_b.jpg& data-rawwidth=&1000& data-rawheight=&575& class=&origin_image zh-lightbox-thumb& width=&1000& data-original=&/27ba11de7fbacbca91e7959_r.jpg&&&img src=&/52d7a7ffea81d2662792afbf703203ba_b.jpg& data-rawwidth=&700& data-rawheight=&334& class=&origin_image zh-lightbox-thumb& width=&700& data-original=&/52d7a7ffea81d2662792afbf703203ba_r.jpg&&&img src=&/aa57f924acc4_b.jpg& data-rawwidth=&700& data-rawheight=&393& class=&origin_image zh-lightbox-thumb& width=&700& data-original=&/aa57f924acc4_r.jpg&&&img src=&/9f1cf0c6e81b78e4fabe2e8_b.jpg& data-rawwidth=&700& data-rawheight=&334& class=&origin_image zh-lightbox-thumb& width=&700& data-original=&/9f1cf0c6e81b78e4fabe2e8_r.jpg&&&br&&br&&br&这效果是做手游的吗,我也是醉了。估计这是未来手游效果,4k分辨率以上的手机屏。&br&&br&&br&本屌丝才疏学浅,写的不好的地方还请大家见谅。&br&&br&--------------更新------------
要说明unity有多强大得翻出我以前干过的项目了,2004年的时候我想做一个3d的商场。于是设想了一下这个开发工具。下面是我04年百度贴吧的截图。 原文地址: 一个牛逼的创意需要看它所处的时代,当初我们没有这样的开发工具,但是大伙看看uni…
&p&&b&Cocos2d-x网站列表&/b&&/p&&ul&&li&&a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&CocoaChina(官方网站,不解释)&i class=&icon-external&&&/i&&/a&&/li&&br&&li&&a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&泰然网(貌似最近有很多不错的文章,不过前期的文章质量不怎么样)&i class=&icon-external&&&/i&&/a&&/li&&/ul&&p&&b&Cocos2d-x博客列表&/b&&/p&&ul&&li&&a href=&///?target=http%3A//goldlion./& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&老G的小屋&i class=&icon-external&&&/i&&/a&&/li&&br&&li&&a href=&///?target=http%3A//blog.csdn.net/bill_man/article/details/7341028& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&小满的专栏&i class=&icon-external&&&/i&&/a&&/li&&/ul&&ul&&li&&a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&子龙山人&i class=&icon-external&&&/i&&/a&&/li&&br&&li&&a href=&///?target=http%3A//blog.csdn.net/honghaier& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&红孩儿的游戏编程之路&i class=&icon-external&&&/i&&/a&&/li&&/ul&&ul&&li&&a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Cocosdev&i class=&icon-external&&&/i&&/a&&/li&&br&&li&&a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&黑米GameDev街区&i class=&icon-external&&&/i&&/a&&/li&&/ul&&p&&b&优秀cocos2d-x源码&/b&&/p&&ul&&li&&a href=&///?target=http%3A///category/cocos2d& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Code4app&i class=&icon-external&&&/i&&/a&&/li&&br&&li&&a href=&///?target=http%3A///forum-61-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&代码仓库&i class=&icon-external&&&/i&&/a&&/li&&/ul&&p&&b&cocos2d-x与ios内存管理分析(by Cocos2Dev)&/b&&/p&&ul&&li&&a href=&///?target=http%3A///%3Fp%3D281& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&cocos2d-x与ios内存管理分析(在游戏中减少内存压力)&i class=&icon-external&&&/i&&/a&&/li&&/ul&&p&&b&iOS和android游戏纹理优化和内存优化(by oayx)&/b&&/p&&ul&&li&&a href=&///?target=http%3A///lancidie/archive//3019510.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&iOS和android游戏纹理优化和内存优化&i class=&icon-external&&&/i&&/a&&/li&&/ul&&p&&b&Cocos2d-x基础(by 泰然网)&/b&&/p&&ul&&li&&a href=&///?target=http%3A///article-15-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Cocos2d-x建工程时避免copy文件夹和库&i class=&icon-external&&&/i&&/a&&/li&&br&&li&&a href=&///?target=http%3A///archives/4809& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Cocos2d-x 多分辨率适配完全解析&i class=&icon-external&&&/i&&/a&&/li&&/ul&&ul&&li&&a href=&///?target=http%3A///archives/4039& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Cocos2d-x 屏幕适配新解 – 兼容与扩展&i class=&icon-external&&&/i&&/a&&/li&&br&&li&&a href=&///?target=http%3A///archives/5276& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Cocos2d: Working with Sprites&i class=&icon-external&&&/i&&/a&&/li&&/ul&&ul&&li&&a href=&///?target=http%3A///archives/4750& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&CCScrollView 实现帮助界面、关卡选择&i class=&icon-external&&&/i&&/a&&/li&&br&&li&&a href=&///?target=http%3A///archives/4425& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Cocos2d-x 之 CCGUI设计与实现&i class=&icon-external&&&/i&&/a&&/li&&/ul&&ul&&li&&a href=&///?target=http%3A///archives/4854& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Cocos2d-x 弹出对话框的设计与实现&i class=&icon-external&&&/i&&/a&&/li&&/ul&&p&&b&cocos2d-x中内存管理机制以及使用规范(by 子龙山人)&/b&&/p&&ul&&li&&a href=&///?target=http%3A///zilongshanren/archive//2810017.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&如何优化cocos2d程序的内存使用和程序大小(第一篇)&i class=&icon-external&&&/i&&/a&&/li&&br&&li&&a href=&///?target=http%3A///zilongshanren/archive//2820352.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&如何优化cocos2d程序的内存使用和程序大小(第二篇)&i class=&icon-external&&&/i&&/a&&/li&&/ul&&p&&b&cocos2d-x 2.0的纹理分析(by dApps)&/b&&/p&&ul&&li&&a href=&///?target=http%3A//www.dapps.net/dev/gamedev/game-dev-engine-cocos2d-x-2-0-grain.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&第一篇【游戏引擎】深入分析Cocos2d-x 2.0中的“纹理”(一)&i class=&icon-external&&&/i&&/a&&/li&&br&&li&&a href=&///?target=http%3A//www.dapps.net/dev/gamedev/game-dev-engine-cocos2d-x-2-0-grain-2.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&第二篇【游戏引擎】深入分析Cocos2d-x 2.0中的“纹理”(二)&i class=&icon-external&&&/i&&/a&&/li&&/ul&&ul&&li&&a href=&///?target=http%3A//www.dapps.net/dev/gamedev/game-dev-engine-cocos2d-x-2-0-grain-3.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&第三篇【游戏引擎】深入分析Cocos2d-x 2.0中的“纹理”(三)&i class=&icon-external&&&/i&&/a&&/li&&br&&li&&a href=&///?target=http%3A//www.dapps.net/dev/gamedev/game-dev-engine-cocos2d-x-2-0-grain-4.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&第四篇【游戏引擎】深入分析Cocos2d-x 2.0中的“纹理”(四)&i class=&icon-external&&&/i&&/a&&/li&&/ul&&p&&b&Cocos2d-x设计模式发掘(by 子龙山人)&/b&&/p&&ul&&li&&a href=&///?target=http%3A///archives/2016& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&COCOS2D-X设计模式发掘之一:单例模式&i class=&icon-external&&&/i&&/a&&/li&&li&&a href=&///?target=http%3A///archives/2020& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&COCOS2D-X设计模式发掘之二:二段构建模式&i class=&icon-external&&&/i&&/a&&/li&&li&&a href=&///?target=http%3A///archives/2043& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&cocos2d-x设计模式发掘之三:管理者模式&i class=&icon-external&&&/i&&/a&&/li&&li&&a href=&///?target=http%3A///archives/2060& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Cocos2d-x设计模式发掘之四:外观模式&i class=&icon-external&&&/i&&/a&&/li&&li&&a href=&///?target=http%3A///archives/2105& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&COCOS2D-X设计模式发掘之五:防御式编程模式&i class=&icon-external&&&/i&&/a&&/li&&/ul&&p&&b&Cocos2d-x深入研究(by 泰然网)&/b&&/p&&ul&&li&&a href=&///?target=http%3A///archives/1326& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&COCOS2D-触摸分发原理&i class=&icon-external&&&/i&&/a&&/li&&/ul&&br&&p&&a href=&///?target=http%3A///archives/3950& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&TexturePacker 图片加密&i class=&icon-external&&&/i&&/a&&/p&&br&&p&&b&Cocos2d-x 内存管理分析(by 无间落叶)&/b&&/p&&ul&&li&&a href=&///?target=http%3A///archives/4109& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&多层 UI 触摸事件的轻量级设计&i class=&icon-external&&&/i&&/a&&/li&&br&&li&&a href=&///?target=http%3A///archives/4100& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Cocos2d-x 内存管理浅说&i class=&icon-external&&&/i&&/a&&/li&&/ul&&ul&&li&&a href=&///?target=http%3A///archives/4142& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Cocos2d-x 内存管理的一种实现&i class=&icon-external&&&/i&&/a&&/li&&br&&li&&a href=&///?target=http%3A///archives/4184& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&深入理解 Cocos2d-x 内存管理&i class=&icon-external&&&/i&&/a&&/li&&/ul&&p&&b&剖析程序的内存布局(by oayx)&/b&&/p&&ul&&li&&a href=&///?target=http%3A///lancidie/archive//2090547.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&剖析程序的内存布局&i class=&icon-external&&&/i&&/a&&/li&&/ul&&p&&b&IOS 内存优化和调试技巧(by 2cto)&/b&&/p&&ul&&li&&a href=&///?target=http%3A///kf/896.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&IOS 内存优化和调试技巧&i class=&icon-external&&&/i&&/a&&/li&&/ul&&p&&b&cocos2d-x学习笔记18:内存管理(by 老G)&/b&&/p&&ul&&li&&a href=&///?target=http%3A//& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&cocos2d-x学习笔记18:内存管理&i class=&icon-external&&&/i&&/a&&/li&&/ul&&p&&b&iOS和android游戏纹理优化和内存优化&/b&&/p&&ul&&li&&a href=&///?target=http%3A///lancidie/archive//3019510.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&iOS和android游戏纹理优化和内存优化&i class=&icon-external&&&/i&&/a&&/li&&/ul&&p&&b&第三方接入指南&/b&&/p&&ul&&li&&a href=&///?target=http%3A///archives/5493& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Cocos2d-x手动绑定C++类到Lua&i class=&icon-external&&&/i&&/a&&/li&&br&&li&&a href=&///?target=http%3A///archives/5431& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&在cocos2d-x 3.0中使用物理引擎&i class=&icon-external&&&/i&&/a&&/li&&/ul&&ul&&li&&a href=&///?target=http%3A///archives/5460& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&使用Cocos2d-x实现微信“天天爱消除”炫耀button特效&i class=&icon-external&&&/i&&/a&&/li&&li&&a href=&///?target=http%3A///archives/5496& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&使用 Cocos2d-x 和粒子编辑器实现“天天爱消除”场景特效&i class=&icon-external&&&/i&&/a&&/li&&br&&li&&a href=&///?target=http%3A///archives/5515& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Cocos2d-x使用iOS游戏内付费IAP(C++篇)&i class=&icon-external&&&/i&&/a&&/li&&li&&a href=&///?target=http%3A///archives/5544& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Cocos2d-x使用iOS游戏内付费IAP(JSB篇)&i class=&icon-external&&&/i&&/a&&/li&&/ul&&ul&&li&&a href=&///?target=http%3A///archives/5531& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&利用Cocos2dx-3.0新物理特性模拟弹珠迷宫&i class=&icon-external&&&/i&&/a&&/li&&/ul&
Cocos2d-x网站列表 Cocos2d-x博客列表
优秀cocos2d-x源码 coco…
谢邀。&br&首先膜拜一下&blockquote&一个语言的命运当然要靠自我奋斗,但是也要考虑历史的进程,我绝对不知道,作为一个专注于cs,bs开发的语言怎么把我叫去做游戏来了。所以unity叫我来做脚本,我说,另请高明吧,我实在不是谦虚啊,我一个高大上的语言怎么可以做脚本这种低端活呢?但是CTO和我说“大家都研究决定了。”后来,我念了一句诗:苟利点耐生死以,岂因祸福辟驱之。&/blockquote&&a data-hash=&2230717ecbb9a66e9daeb61& href=&///people/2230717ecbb9a66e9daeb61& class=&member_mention& data-hovercard=&p$b$2230717ecbb9a66e9daeb61&&@戴路&/a&&br&&a href=&/question//answer/& class=&internal&&如何评价CryEngine V? - 知乎用户的回答&/a&&br&&br&1、C#语言伸缩能力强,从unsafe,到async,可以选择性实现。&br&2、C#是静态语言,性能不差,而且编写时候就能通过语法检查很多错误,相对稳定。&br&3、C#是个成熟的语言,坑少,开源,脚本引擎实现已有先例。&br&4、C#语言自身是为各种方便的模式而设计,如前所说的async,使用很方便&br&5、C#是C族语言,容易入门。&br&6、使用C#不用担心被告。&br&&br&综上C#是个很好的选择。
谢邀。 首先膜拜一下一个语言的命运当然要靠自我奋斗,但是也要考虑历史的进程,我绝对不知道,作为一个专注于cs,bs开发的语言怎么把我叫去做游戏来了。所以unity叫我来做脚本,我说,另请高明吧,我实在不是谦虚啊,我一个高大上的语言怎么可以做脚本这种…
挖叉?居然还有人敢上知乎问这么冷门的游戏?但是看题主居然能以一个充满诱惑的括号写出“不是美国人做的”这么冷门的信息,我不禁对题主的功底有了一定的认识,因而生发出几分敬佩,于是觉得还是答一答这题吧。&br&&br&有关评论里的哥们对题主这个风骚的括号补充的质疑,首先我得说两句。Spec Ops: The Line确实不是美国人做的,它只是美国公司发行的。SOTL的制作商是德国的Yager,发行商是2K,或者你也可以说是2K头顶上的Take-two。&br&&br&至于Yager,SOTL的大失败并没有让这些德国佬迎来悲惨的命运。他们依然幸福地生活在一起,并且正在为了把Dead Island这个牌子从大雷作怒潮之后的低谷中拉出来而努力奋斗。咳咳,其实也就是他们正在做死亡岛2啦。&br&&br&这游戏销量不佳其实并不难理解。原因很简单,题主其实在自己的游戏过程中已经很敏锐地感觉到了。只是没往下想。&br&&br&&b&1. 最主要的原因:作战系统有思路但整体打磨不够。&/b&这其实就是题主所说的,合理使用武器,以及用指挥系统活用两个队友的各自技能(一个大枪火力压制,一个狙击敲掉重点敌人)。想得是很美的,做起来没做到那个份上。美国佬可不是傻子,射击游戏王国的玩家们可没有那么容易蒙的。题主的感觉很正确,而这也是玩家们共同的感觉。而更关键的是,在视难度为生命的美帝玩家眼中,剧情是次要的,战个痛是主要的(想想GeOW就明白了)。而战个痛可不光是和高难度的电脑战个痛,还要和人,于是牵出来第二个原因。&br&&br&&b&2. 多人模式显然没用心做。&/b&这游戏发行之前Yager就说他们专注单人剧情。拜托,专注单人剧情就彻底点嘛,像Bioshock和新德总,这类游戏做好了也能成个邪典名作。可是既然要放多人模式又弄个做得很烂的干什么呢?事实上有不少媒体评分的分数都在多人这方面扣了分,并且指明多人模式做不好干脆不要做。&br&&br&&b&3. 题材重合度太高,对核心卖点的宣传做得不够。&/b&SOTL的宣传是我见过的最差劲的宣传之一,这游戏的核心卖点——道德两难与多分支结局,在售卖渠道的宣传也好,游戏展示时的宣传也好,居然基本上都没提。这是想干什么?还嫌现代战争的局子不够乱吗?SOTL发售是2012年6月底,这个时间,前有半年之前上市的把射击游戏视效提上一个档次的战地3,和完结一个在游戏史上都堪称现象级别的系列——COD现代战争的CODMW3,发售半个月前有育碧新出的幽灵行动4(这系列可是X360崛起时期的重要优秀游戏),一个半月之后有打着怀旧牌扑面而来的CS:GO,再过几个月新的COD和荣誉勋章:战士也要出来了。这一年的射击游戏乱象横生,现在看来大家谁都没捞着好处。而玩家在SOTL的宣传上看到,不外乎:哦,又一个虚3引擎的现代战争射击。是你你敢买吗?反正是我,如果只有买一个游戏的钱,肯定留着砸COD了。&br&&br&&b&4. 不够有新意的重启作。&/b&这是一个很冷门的原因,中国玩家普遍不知道这个游戏是有前作的,而且是一个系列作品。特殊行动这个系列在21世纪初的几年频频发作品,但进入2003年左右就销声匿迹了。这条原因是外媒归纳的,说是作为一个系列的重启作品,该作过于低调,而且更关键的是没拿出什么新东西镇一镇场子,按外媒的说法,叫做“全是老把戏”(didn't add much new to the previous installments)。就连情怀上的宣传都没做到位。顺便一说,在SOTL发售半个月之前,马克思佩恩3发售。人家也是重启作,不知高到哪里去了。&br&&img src=&/98e282f224d0f19c04afa49f4cb21724_b.jpg& data-rawwidth=&862& data-rawheight=&480& class=&origin_image zh-lightbox-thumb& width=&862& data-original=&/98e282f224d0f19c04afa49f4cb21724_r.jpg&&&br&但说实话,这个游戏的销量是一件很让人遗憾的事。它证明了射击游戏这个市场已经越发一元化了,新的尝试也许很难立足。但当然,也证明了在游戏界,有良好的创意永远不是最重要的事情。&br&&br&只是这个游戏的剧情真的很好。21世纪以来射击游戏第一。
挖叉?居然还有人敢上知乎问这么冷门的游戏?但是看题主居然能以一个充满诱惑的括号写出“不是美国人做的”这么冷门的信息,我不禁对题主的功底有了一定的认识,因而生发出几分敬佩,于是觉得还是答一答这题吧。 有关评论里的哥们对题主这个风骚的括号补充…
不管用什么引擎,游戏程序员的工作包括:&br&1、垒代码&br&2、和策划友善地开会&br&3、和策划不友善地开会&br&4、问策划要配置&br&5、指出策划的配置错误,催其去改&br&6、被策划催着赶功能(继续垒代码)&br&7、偷看美女美术的背影&br&8、因为赶着发版本而写出有问题的代码(继续垒代码)&br&9、因为赶着发版本而不做单元测试(继续垒代码)&br&10、版本发完了,抽烟喝酒和策划友善地联络感情&br&&br&刚进入公司应该注意的应该是…… 漂亮的女同事?&br&&br&---------------友善的分割线---------------------------&br&&br&下面认真地回答一下。&br&&br&作为直接面向业务的游戏程序员,你需要具备的基本素质应该包括:&br&1、熟练掌握所使用的语言、引擎,能够快速响应大部分日常需求。&br&2、分析问题的能力,抓住问题关键因素的能力。&br&3、态度友善,沟通良好。对面向业务的程序员而言,沟通就是日常工作中极重要的一部分。&br&4、热爱游戏,玩过大量游戏。这会极大的降低与策划沟通的成本,并提高产出产品的细节品质。&br&5、不要过于追求短期回报。成长环境和空间更重要。&br&以上五条,既是刚进入公司需要注意的内容,也是面对面试时需要准备的内容。&br&&br&你需要在工作中不断积累提高的高级素质可能包括:&br&1、技术攻坚能力,解决突发事件的能力等。&br&2、领导能力,工作协调分配能力,统筹安排能力。&br&3、面向客户、运营、老板等,或在其它重要场合的表达能力与临场发挥能力。&br&4、谈判能力。&br&5、各种各样奇怪的综合能力。
不管用什么引擎,游戏程序员的工作包括: 1、垒代码 2、和策划友善地开会 3、和策划不友善地开会 4、问策划要配置 5、指出策划的配置错误,催其去改 6、被策划催着赶功能(继续垒代码) 7、偷看美女美术的背影 8、因为赶着发版本而写出有问题的代码(继续垒…
别乱改视角,千万别。&br&半条命2号称FPS历史上最反人类的游戏,就是瞎改视角和透视造成的。很多老玩家玩其他FPS都没问题,玩半条命2晕到被送医院。&br&现在的游戏视角都是十几年经验积累下来的成果,能适应大多数人的小脑特性。&br&&br&其实很多游戏视角范围是可以改的,你要是显示器特大,可以改大点。COD OL更是OPTION就给了FOV的选项,你自己调。&br&&br&65和80度的区别&br&&img data-rawheight=&327& data-rawwidth=&580& src=&/01eca70334eabadbc948f_b.jpg& class=&origin_image zh-lightbox-thumb& width=&580& data-original=&/01eca70334eabadbc948f_r.jpg&&&img data-rawheight=&328& data-rawwidth=&580& src=&/697baf772afd52ebdb1ef6_b.jpg& class=&origin_image zh-lightbox-thumb& width=&580& data-original=&/697baf772afd52ebdb1ef6_r.jpg&&&br&&br&另外你的视场其实并不大,真正能看清的只有中间差不多10度左右的范围,其他地方解析度都特别低,这也是VR眼镜现在的原理,越到边缘越模糊。游戏所有地方清晰度都是一样的,画面做那么大纯属浪费。
别乱改视角,千万别。 半条命2号称FPS历史上最反人类的游戏,就是瞎改视角和透视造成的。很多老玩家玩其他FPS都没问题,玩半条命2晕到被送医院。 现在的游戏视角都是十几年经验积累下来的成果,能适应大多数人的小脑特性。 其实很多游戏视角范围是可以改的…
1&b&设计模式没用,看游戏设计模式&/b&&a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Game Programming Patterns&i class=&icon-external&&&/i&&/a&&br&2&b&找u3d项目的源码,要商业游戏&/b&,不要demo。先看,不需要理解,反复看。&br&3在熟悉的源码的基础上,&b&对源码进行修改&/b&(本来是一个角色的,可以改成两个角色),不停的更改任何方面。&br&4&b&开始写框架&/b&。&br&5&b&关于opengl,shader,你暂时用不上&/b&,不要浪费时间学,但是以后你要补,这个直接关系到你以后收入的天花板有多高。&br&6&b&要系统学习u3d,不要依赖百度&/b&,建议把游戏蛮牛的所有u3d书和视频,都看完,对u3d有整体感觉。&br&7.&b&去u3d官网&/b&&a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Unity Community&i class=&icon-external&&&/i&&/a&,有惊喜很多代码,直接复制黏贴就可。。。。&br&&br&&b&只能帮你到这里了,你遇到好机会别放弃,只要熟练u3d,至少10年之内,你的工资只会越来越高。&/b&
1设计模式没用,看游戏设计模式 2找u3d项目的源码,要商业游戏,不要demo。先看,不需要理解,反复看。 3在熟悉的源码的基础上,对源码进行修改(本来是一个角色的,可以改成两个角色),不停的更改任何方面。 4开始写框架。 5关…
&b&以下仅代表个人观点,不喜请喷&/b&&br&&br&首先,我将引擎和市场进行分类(仅包括图形部分,下同):&br&1. 按照引擎特性,分为先进引擎,优势引擎和普及引擎;(以2D/DX9.3/DX11为分界线)&br&2. 按照引擎的应用领域,分为高端(UE,CE,Unity),中端(鬼火,OGRE),自研引擎;&br&3. 按照目标人群,划分为小众与大众。&br&&br&举个例子,战争机器和战地就是:大众+先进+高端;而植物大战僵尸,就是普及+自研+大众。例如Milo之前所在的麻辣马的&疯子爱丽丝&,就可以算是”高端+先进+小众“。《斗战神》就是自研+优势+大众的组合(网游的普遍模式)。&br&&br&实际上,几乎每种组合,你都能找到相应的产品。下面来分析一下影响:&br&&br&1. 无论对大众市场,还是小众市场,因为授权成本的降低,先进+自研引擎将会收到深刻的冲击;&br&&br&2. 优势引擎因为要考虑照顾到极为多样和复杂的公众配置,这一块可以算作是UE和CE的短板。而且优势引擎的涵盖用户群是一个刚需,单纯的先进引擎(如CE)很难对这部分引擎用户产生吸引力。大部分的公司(尤其是网游),通常会是用自研和知名开源引擎来解决这个问题。Unity如果按照现有的目标来看,可以覆盖先进和优势两端。所以会凭借低成本和工具链成熟,&b&对未来的自研和中端引擎市场造成不小的冲击&/b&,但是对已经有成熟引擎和产品的公司来说,吸引力未必就很大了,这一类引擎可以借助UE4快速进化到一个比较高的水平。&br&&br&3. 普及引擎多数出现在休闲类作品中,这一类作品一般引擎都有很强烈的自我特质,很难被先进/优势引擎覆盖到,因此仍然相对固定。但是不排除因为Unity这一类工具链相当完整的引擎授权改编后,游戏的创作者会顺应改变游戏的性质,使其像优势引擎的方向发展(也就是3D化或者立体化)。但是我不认为这个是主流。&br&&br&4. UE4的代码的廉价开放,会使从业人员很轻松就能获得可靠权威的参考代码,本来在IT行业就有借鉴后自研的倾向,也可能会因为这个原因再度兴起。&br&&br&综合一下,&b&UE4的市场策略是双管齐下与Unity5对抗&/b&:先进引擎市场利用价格与之抗衡;优势引擎市场利用技术公开与之抗衡。&b&Unity5的市场策略则是一脉相承,简单粗暴,多点开花:&/b&降低价格,充分挤压中端引擎和自研引擎市场,释放优势引擎市场的潜能,并尽可能吸引普及引擎的用户加入其中,同时试图用新特性打入高端。&b&CE的策略则是:在充分先进的基础上,更便宜,更便宜,更便宜。&/b&&br&&br&&br&至于他们的市场策略能否奏效,未来发展如何,那得看腾讯会不会把三家全收购了。(逃)
以下仅代表个人观点,不喜请喷 首先,我将引擎和市场进行分类(仅包括图形部分,下同): 1. 按照引擎特性,分为先进引擎,优势引擎和普及引擎;(以2D/DX9.3/DX11为分界线) 2. 按照引擎的应用领域,分为高端(UE,CE,Unity),中端(鬼火,OGRE),自研引…
已有帐号?
无法登录?
社交帐号登录

我要回帖

更多关于 3d引擎开发 的文章

 

随机推荐