游戏开发是做什么的?
大型游戏的一般开发绝不是简单的使用某种语言的问题。一款大型游戏的开发需要庞大的团队使用各种语言和工具来完成。总结一下,主要有C/C++,汇编语言,着色器语言,脚本语言,高效开发语言C#或者Java。
首先,一般的游戏开发架构(Windows)是自下而上的DirectX。游戏引擎游戏。
DirectX?相当于所有显卡的统一接口,为使用硬件渲染的游戏提供编程模型,但是DirectX?为了追求高性能,界面非常简单松散,不利于游戏的高效开发。这时候就需要根据游戏的特点进行适当的选择和包装,实现一套比较抽象的游戏开发接口和框架,可以理解为游戏引擎中的图形引擎。这部分开发常用的语言是C/C++和一些汇编语言。
至于游戏引擎,是一个非常复杂的功能集合体,所有的游戏开发工作都是在它上面进行的。包括图形引擎、音频引擎、碰撞引擎、美术资源管理、脚本引擎等等。到目前为止,你说的游戏开发几乎没有涉及。
首先,在图形渲染方面,比如光照和阴影处理,现代显卡一般都是通过可编程着色器来控制图形效果,采用的编程语言一般都是一些着色器语言,比如DirectX?OpenGL使用的HLSL、GLSL等。,语法类似C语言,游戏执行时编译加载到显卡上,实现了硬件渲染速度和编程灵活性。
大型游戏开发的大部分工作其实就是写游戏脚本,这也是大型游戏能以如此高的速度开发发布的主要原因。脚本化开发使游戏开发摆脱了硬编码的种种弊端,使游戏内容易于修改和调试。游戏剧情怎么走,各种事件怎么触发,什么时候播放哪些声音或者动画,美术团队创作的资源怎么用,这些都写在剧本里。可以说引擎决定了游戏能做什么,脚本真正决定了游戏做什么。一些著名的引擎,比如虚幻系列,都有自己独特的脚本语言,而其他的可能会采用一些第三方的脚本语言,比如现在流行的Lua。所以,开发一款新游戏,最简单的方法就是沿用之前的引擎,创建美术资源,然后编写脚本组织成游戏,几乎不需要任何底层编程语言。
在开发环境方面,游戏团队可能会使用一些开发设计工具来处理资源,可以理解为游戏引擎的IDE。因为这部分是内部工具,可能需要经常修改,所以一般采用更高效的开发和语言。比如暴雪用。NET和C#开发一些内部工具。
至于引擎核心的开发,Windows最流行的方法是使用最新版本的VisualStudio,NVIDIA等显卡厂商也会为VS开发一些插件,简化显卡编程和调试。
以上分享的这个问题的答案都是个人的看法和建议。希望我分享的这个问题的答案能帮助到大家。
同时,我希望你能喜欢我的分享。如果你对这个问题有更好的答案,请分享你的评论,和我一起讨论这个话题。
终于,我来了。祝大家生活幸福,身体健康,家和万事兴,年年发大财,生意兴隆。谢谢大家!