⑴ unity3d有哪些优势和劣势
Unity3d,UDK 和 CE3 三者之间各有什么优缺点?如何选择?
unity3d适合个人开发,缺点是多人协作,很难用SVN管理项目
udk适合团队开发,适合分工协作
CE3渲染能力最强,但只关注高端平台,适合大公司和高富帅
渲染效率越往下越高,成本也越高
============================================================================
先简单说一下我对这三个引擎的了解:我的本职工作是3A Console游戏的开发,对于大型商业引擎使用较多。UDK使用过UE2的内部改造版,开发过《分裂细胞4》;最近公司完成的项目是 Far Cry 3,这是个内部引擎,公开的名称是Dunia,同CE1有所渊源。尽管UDK和CE3不再直接使用,但出于工作需要还是有些了解。Unity 3D是我和几个朋友制作独立游戏使用的引擎,了解的比较深入。
简单来说Unity 3D和UDK,CE3适用于两种完全不同的开发模式:独立制作和高成本商业制作。具体的区别很多,一下子没法说完。我提两点请题主仔细考虑:
第一,你计划制作的游戏规模有多大?你的团队有多大?
第二,有发行计划么?什么平台?
UDK和CE2的主要市场是大型商业开发,尽管技术上比较先进些,功能高端一些,但是没有相应的开发力量很难驾驭。Unity 3D从一开始就瞄准了低端独立开发市场,而且有很多第三方的开发插件,就是为开发力量薄弱的小团队准备的。
另外开发平台和目标平台的问题也要考虑。UDK和CE3没有Mac版,Unity 3D是跨平台的。如果是为iOS开发,不支持Mac平台非常麻烦。CE3只支持PC和Console平台;UDK支持PC,Console和Mobile,但是由于种种原因,Mobile平台上产品很少;Unity啥都支持,甚至有Web端,除了最近放弃的Flash平台。
另外,题主似乎是美术人员吧?如果我说错了请纠正我。从美术人员的角度,很容易被高端引擎的高画质吸引。但是换个角度,从实际开发的角度看,引擎跟项目的契合度更为重要。另外,题主有编程的经验么?任何严肃的游戏开发都离不开写代码。尽管某些逻辑编辑器,比方说UDK的Kismet或者CE3的Flow Graph貌似足够强大,一旦你实际开发起来,还是会发现提供范围内的功能很好用,但是一旦超出一点点,即使再简单的功能也做不到。相反Unity 3D没有提供过多的内建编辑器,全部用脚本实现,反而灵活度高,这也是另外一个独立游戏常用Unity 3D的原因——灵活度比功能完备重要。
市面上有些游戏引擎号称完全不用写代码的,基本上这些都是2D引擎,功能简单。但是支持Mobile平台,可以直接制作出能够上架贩卖的游戏。题主不妨关心一下,给你几个关键字供搜索:GameMaker,Game Salad,Stencyl。
总之,建议题主还是先把我的两个问题想清楚了,再做决定。
随便说了一些,考虑也不全面。想到再补充。
==============================================================================
本人游戏公司美术一枚,说下个人看法
Unity3d个人觉得网页游戏,手机游戏,或房地产用的比较多,对于各个平台支持都很好。去年又支持flash,网页运行再也不用安装浏览器插件。这块做的不错。开发人员起点比较低。基本的资料文档都很丰富了。缺点就是画面不给力。灯光、画面各方面在这三个引擎里都是最差的,并且对于美术人员来说,做开发不是很好上手。很简单的一个材质。都要去写shader。。
UDK,商用版叫虚幻3,业界早就名声在外的引擎,个人觉得首先,商业方面,虚幻3在PC游戏市场占有方面,绝对是老大。我们可以看到很多虚幻3网游,单机游戏,XBOX游戏,因为首先,虚幻引擎的画面一直就是招牌。从战争机器系列,虚幻竞技场,还有IOS上的无尽之剑,就能看出。当然好的画面,80% 的功劳是美术制作人员的.但就从技术方面,个人觉得虚幻3一直是走在前端的,本人曾经在苏州EPIC工作。当时用的是虚幻2,后来去9游,用虚幻3,所以,对虚幻引擎开发也有一定了解。在美术开发方面,虚幻3的材质编辑界面对一般的美术人员来说,很友好,节点式的编辑,很直观,至于kismet脚本,更加简化了不会程序的同学对脚本的使用。UDK的免费,也直接推动了UDK的知名度,不过我觉得UDK只能支持PC和IOS,略显不足,去年官方出了个FLASH的DEMO。不过一直没有免费出来,也算是个小遗憾吧。
CE3,从出世以来,就是打的画面牌,和EPIC的战争机器一样,用孤岛危机系列当样板工程,给自己的引擎打广告,不过话说回来。第一代的孤岛危机,画面是不错,但基本没几个显卡能跑动。后来的二代,做了优化。并且推出了主机版本,性能上好了很多。CE3引擎的特点,就是大量的动态光的使用。对于室外大场景有很好的渲染效果。以前在9游的时候,有一个项目组用的是CE2,由于美术不给力,画面看上去也相当差。
最后。题主如果是美术出身,我推荐UDK,如果是程序出身,我推荐Unity3d,如果是煤老板,富二代出身,我推荐CE3
⑵ 游戏编程用什么语言
问题一:现在的游戏是什么语言工具开发的? LS说的不错,底层还是得学C++,但是单就游戏开发(不是游戏引擎开发)来说,现在基本使用游戏饥擎,而游戏引擎最重要的目的就是整合常用逻辑触发事件,减少手动写代码。就拿UDK来说,简单逻辑事件可以用它自带的ki *** et可视化编程做,进入这个界面,就跟画UML类图似的,方块之间只需要连连线一个简单事件就出来了。
问题二:大型单机游戏用什么语言开发的? 大型游戏用什么语言都可以写,写游戏做大型软件,语言只是一个载体.关键在于开发包的性能.
比如写3D游戏的时候,我们可以用VC的框架,C++语言的语法,再结合图形驱动开发包,比如DirectX和OpenGL,直接写硬件.在一些需要精确控制内存的模块,我们甚至要嵌入汇编程序.
很难想象现在的软件纯粹用一种高级语言来完成,那样对用户的内存将成为一个大的无底洞.
问题三:编程用什么语言最好? 答:没有什么编程语言是最好的!各种编程语言都有自身的特色,并且有自己适用的领域,至于最终学习哪种,全靠你兴趣和未来发展的实际需要。对游戏编程来说,C/C++确实是一个非常不错的开始,因为大多数游戏都用它们编写。并且,C/C++是当今使用时间最长且使用最广泛的编程语言,所以你可以找到大量学习资料和帮助。C语言并不是一切语言的基础,不过学好C语言对理解其它语言很有帮助。在学习上,你先学C或C++都无所谓,因为只要学了一个,再学另外一个就很容易。但是,如果你先学C++,请保证在学习面向对象编程之前能理解和使用过程编程(等编程熟练再去学习),这里C是过程性语言,C++是面向对象语言。如果你刚开始学习C/C胆+发现太难,那可先学一个简单编程语言,如Basic或Pascal。但是我认为只要坚持努力,而且有好的资料,直接学C/C++应该没有太大问题。想学好编程语言,最好的方法是去学校上课,没条件就得尽量去书店选择一些经典的教材(如清华出版社翻译的国外经典教材)。
问题四:编程游戏需要什么语言 PC平台上开发 开发游戏可以使用一些现成的平台,例如cocos-2d.可以使用C++或者lua进行开发。
这是一个跨平台的开发架构,同一套代码可以在不同的设备上运行。
详细内容可以去cocos-2d的相关网站进行查询。
问题五:一般的游戏都是用什么语言开发的 一般的大型游戏开发绝不是用某种语言这么单纯的问题。一个大型游戏的开发需要庞大的团队使用各种各样的语言和工具来完成。总结一下主要有C/C++,汇编语言,着色器语言,脚本语言,高效的开发语言C#或Java。
首先一般的游戏开发架构培棚(Windows)从底到顶一般是Direct X?――游戏引擎――游戏。
Direct X?相当于所有显卡的一个统一接口,为游戏提供一个利用硬件渲染的编程模型,但Direct X?接口为了追求高性能功能非常单纯和松散,不利于游戏的高效开发。此时就需要根据游戏特点对其进行适当的取舍和封装,实现一组更高抽象的游戏开发接口和框架,可以理解成游戏引擎中的图形引擎。这部分的开发一般使用的语言是C/C++和少量的汇编语言。
至于游戏引擎是一个非常复杂的功能聚合体,所有的游戏开发工作都是在之上进行的。包括图形引擎,音频引擎,碰撞引擎,艺术资源管理,脚本引擎等等。到此为止几乎还没有涉及到你所说的游戏开发。
首先在图形渲染方面,例如光照阴影处理等等,现代显卡一般是通过可编程着色器实现对图形效果的控制,所采用的编程语言一般是一些着色器语言,例如Direct X?采用的HLSL,OpenGL使用的GLSL等等,语法类似C语言,游戏执行时被编译加载到显卡上,在实现硬件渲染速度的同时又实现了编程的灵活性。
大型游戏开发的绝大部分工作其实都是扮散在编写游戏脚本,脚本是大型游戏得以如此高速开发和发布的主要原因。脚本化的开发让游戏开发摆脱了硬编码的种种弊端,让游戏内容可以轻易的修改和调试。游戏故事如何进行,各种事件如何触发,何时该播放哪些声音或动画,如何使用艺术团队创作的资源,这些都是在脚本中编写的,可以说引擎决定了游戏能做什么,而脚本才真正决定了游戏做了什么厅中氏。一些着名的引擎如虚幻系列都有自己独特的脚本语言,其他一些引擎可能会采用一些第三方的脚本语言,比如比较流行的Lua。所以开发一个新游戏最简单的情形就是沿用之前的引擎,创作艺术资源,然后编写脚本将其组织成一个游戏,几乎不需要什么底层的编程语言。
开发环境方面,游戏团队内部可能会使用一些开发和设计工具对资源进行处理,可以理解成游戏引擎的IDE,这部分因为是内部工具,而且可能需要经常修改所以一般采用比较高效的开发和语言,比如暴雪就是部分使用.NET和C#进行一些内部工具的开发。
至于引擎核心的开发,Windows比较流行的方法是使用最新版本的Visual Studio,显卡厂商如NVIDIA也会为VS开发一些插件来简化显卡编程和调试。
问题六:游戏编程都需要哪些编程语言 C/C++ SDK
这应该是最强大的组合了,程序的执行效率也是最好的
如果想用C++做个类似最终幻想里的ATB战斗系统,怎样一边实现时间的流失,一边实现玩家的操作。
这个是多线程的问题,看看有关C++多线程方面的资料吧
问题七:电脑游戏编程适合用什么语言? 没有的,c/c++不会被淘汰的,因为做大型游戏,他们的效率是最快的语言之一了。很多底层的与大型游戏都是需要c/c++的。是其他语言不能代替的。当然,如果是小游戏的话,用java就可以实现,但java的效率只有c++的55%。而且,现在c++的也更为普及了。
问题八:游戏用什么语言编写的? CS是用VC++写的,魔兽不清楚了,大多都用VC++,C++,DELHPI写的手机上用的JAVA
问题九:大型游戏程序一般用什么语言编写? C++,一定的,用的是OPENGL和DX图形库
问题十:大型游戏用什么语言编写的? 在速度就是生命的大型游戏王国里,C才是霸主。虽然C的代码量大,可维护性、可读性不如C++,但速度绝对没的说!
楼恭若要编大型游戏,建议使用C。