作者:广东在线游戏网日期:
返回目录:游戏资讯
就我所知道的苏弘科技开发使用的是C++语言,如果你有时间的话还可以实地考察,目前运营了多款手机游戏,引领手机游戏新时代!
大部分公司来说首先要找到一个合适的游戏引擎。国内具百备自己研发牛逼引擎的公司不多,特别是3d游戏引擎应该没有吧。找到合适的引擎以后就简单多了,大部分都是用脚本进行二次开发的。
单机的不太了解,手游来说,很多是cocos2d-x开发的,刚开始脚本支持不好,很多直接用c++开发。然度后LUA支持越来越强,用lua成为首选。现在js支持已经超过lua,加上js功能更丰富,熟悉js的人多,上手快。
因此只要主程用c++做一些底层的逻辑知和接口。其他各种场景和逻辑,包括UI都可以用js完成。脚本的还可以动态更新,小bug就直接脚本远程更新一下,神不知鬼不觉。另外,游戏会有道很多编辑器,除了常见的场景、地图、骨骼、粒子之类编辑器,可以买一些收费的。还会自己开发一些更有针对性的编辑器。用编辑器的人不用对技术非常熟悉,减少了很多策划、美工与开内发的沟通成本。所以需要手写代码的量会越来越少。
我想端游也应该差不多吧,越容是技术越强悍的公司,编辑器开发能力越强,开发速度也就越快。
java
还一个忘记了
一般的大型游戏开发绝不是用某种语言这么单纯的问题。一个大型游戏的开发需要庞大的团队使用各种各样的语言和工具来完成。总结一下主要有C/C++,汇编语言,着色器语言,脚本语言,高效的开发语言C#或Java。
首先一般的游戏开发架构(Windows平台)从底到顶一般是Direct X™——游戏引擎——游戏。
Direct X™相当于所有显卡的一个统一接口,为游戏提供一个利用硬件渲染的编程模型,但Direct X™接口为了追求高性能功能非常单纯和松散,不利于游戏的高效开发。此时就需要根据游戏特点对其进行适当的取舍和封装,实现一组更高抽象的游戏开发接口和框架,可以理解成游戏引擎中的图形引擎。这部分的开发一般使用的语言是C/C++和少量的汇编语言。
至于游戏引擎是一个非常复杂的功能聚合体,所有的游戏开发工作都e79fa5e98193e78988e69d83330是在之上进行的。包括图形引擎,音频引擎,碰撞引擎,艺术资源管理,脚本引擎等等。到此为止几乎还没有涉及到你所说的游戏开发。
首先在图形渲染方面,例如光照阴影处理等等,现代显卡一般是通过可编程着色器实现对图形效果的控制,所采用的编程语言一般是一些着色器语言,例如Direct X™采用的HLSL,OpenGL使用的GLSL等等,语法类似C语言,游戏执行时被编译加载到显卡上,在实现硬件渲染速度的同时又实现了软件编程的灵活性。
大型游戏开发的绝大部分工作其实都是在编写游戏脚本,脚本是大型游戏得以如此高速开发和发布的主要原因。脚本化的开发让游戏开发摆脱了硬编码的种种弊端,让游戏内容可以轻易的修改和调试。游戏故事如何进行,各种事件如何触发,何时该播放哪些声音或动画,如何使用艺术团队创作的资源,这些都是在脚本中编写的,可以说引擎决定了游戏能做什么,而脚本才真正决定了游戏做了什么。一些著名的引擎如虚幻系列都有自己独特的脚本语言,其他一些引擎可能会采用一些第三方的脚本语言,比如比较流行的Lua。所以开发一个新游戏最简单的情形就是沿用之前的引擎,创作艺术资源,然后编写脚本将其组织成一个游戏,几乎不需要什么底层的编程语言。
开发环境方面,游戏团队内部可能会使用一些开发和设计工具对资源进行处理,可以理解成游戏引擎的IDE,这部分因为是内部工具,而且可能需要经常修改所以一般采用比较高效的开发平台和语言,比如暴雪就是部分使用.NET和C#进行一些内部工具的开发。
至于引擎核心的开发,Windows平台比较流行的方法是使用最新版本的Visual Studio,显卡厂商如NVIDIA也会为VS开发一些插件来简化显卡编程和调试。