1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 什么是游戏编程语言 Python编程语言可以用来做大型网络游戏吗 – 游戏开发 – 前

什么是游戏编程语言 Python编程语言可以用来做大型网络游戏吗 – 游戏开发 – 前

时间:2020-02-07 08:29:32

相关推荐

什么是游戏编程语言 Python编程语言可以用来做大型网络游戏吗 – 游戏开发 – 前

两大游戏客户端引擎,NeoX 和 Messiah,都使用 Python 作为脚本语言。

你最近所了解的比较火的挂着猪厂旗号的,也都是 Python 写的。

一些项目组甚至不需要分出人力去维护引擎部分,因为引擎本身比较稳。

也就是说,程序绝大部分时间都可以专注用 Python 写逻辑,保持创造力。

还有就是 Python 写各种工具,编辑器,不是一般的爽。PyQt 在手天下偶有。

还能和项目代码无缝衔接。

————————

服务端:

也是纯 Python。

因此很多代码可以服务端客户端共用,尤其是数据结构定义,序列化等。

用过的才知道前后端用同一种语言有多方便。

同一套 Excel 配表,用 Python 写的工具转成 py 文件,然后服务端和客户端都用这个。

同一个类,服务端用,客户端也用,还需要啥数据格式转换啊(滑稽)。

————————

效率问题:

运行效率大部分情况下都不是问题,开发效率却可以提升几个数量级。

————————

静态类型语言 vs 动态类型语言:

这是个有争议的话题。

个人看法这是一种 trade-off,牺牲逻辑的严谨性,以及架构,来换取开发效率。

这样做当然很多弊端,只是在目前这个阶段,开发效率比什么都重要,真的。

(项目组都要解散了你跟偶说你的代码更好看?)

————————

多线程:

客户端逻辑没有必要。

游戏项目从来都不是计算密集型的,逻辑本来就够复杂了,多线程会进一步增加复杂度,得不偿失。

(一般情况下不需要,要用的话祝你好运)

————————

Hotfix:

网络游戏正在逐渐成为一种服务,成为每个人的日常娱乐方式。

服务的稳定也变得越来越重要,如果隔三差五就得停服修bug,客户端动不动就得整包更新,会严重影响玩家体验。

而用 Python 进行热更是语言原生支持的,意味着实现成本很低,风险低,操作也很方便。

————————

最后的废话:

不要想当然,不要听风就是雨,实践出真知

————————————————

像DNF这样的游戏是用什么编程语言写的?

c 是基础,还有图像引擎 物理引擎 3D建模等,并非一种语言可以编写的

游戏开发都需要会哪些?

首先非常感谢在这里能为你解答这个问题,让偶带领你们一起走进这个问题,现在让大家一起探讨一下。

1.要想成为一个游戏开发人员,就得先成为一个很好的程序开发人员。当你成为一个很好的程序开发人员时,就可以考虑学习游戏开发了。要想成为一个非常好的游戏开发人员,最重要的一点,就是需要对数学非常好。当然,这里指的数学好,不是指加减法好,或者心算好,而是指线性代数,几何和几何代数,物理方面的数学等等。如果你对于数学是毫无兴趣,或者索然无味的话,就要重新想想自己是否可以改变自己的理想了。如果你的数学不好,还想成为游戏中的人员,呵呵,有一个办法,就是成为游戏的测试人员,游戏的艺术人员,或者是游戏设计人员,或者游戏的管理人员。

上面知道数学是开发游戏的第一个基本条件了,但还是有很多其它知识需要学习的。下面就来详细说明一下:

2.程序设计语言:在程序语言方面,不但要精通一两门语言,还需要了解其它的语言。一般开发游戏都是使用C++或者C,因此精通这门语言是必然的选择了。由于开发游戏需要不同的语言,比如脚本语言,这样就需要了解一下动态语言,比如Python等等。

3.数据结构:不管计算机发展到什么程度,只要是编写程序,就少不了数据结构。目前,基本上都不再会有自己去创造“车轮”年代了,应去理解和使用STL,或者其它更好的数据结构库了。精通地使用STL,就基本上解决了数据结构的问题了。

浮点数:在开发游戏里,使用最多的数据类型是什么呢?显然就是浮点数。比如3D游戏里的点坐标,就是使用三个浮点数来表示的。浮点数的计算,往往就会有不精确的现像,比如判断一个数是否等于0,就不能想当然地认为是否等于0了。

4.编程工具:编程工具,就像自己的柴刀,如果没有柴刀,就砍不到柴的。当然,磨刀不误砍柴功。因此,一定要对自己的编程工具非常熟悉,比如调试,工程配置,编辑,编译等等,还有经常出现的编译错误等。如果你还是使用VC6来开发现在的游戏话,建议你赶紧放弃吧。那都是8年前的开发工具了,目前都需要使用VS的开发工具了,强大的C++语言特性,强劲的编辑工具,让你写代码,就如流水般流畅。它还能支持编译x64位的代码,64位的PC越来越流行了。

5.计算机体系结构:不了解计算机的体系结构,就没有办法知道程序的运行环境。很多年前,还是8086的体系的结构,接着,就是80386的保护模式。到目前多核体系结构,对于编写程序,要求发挥多核CPU的性能,就需要了解怎么样合理地分配CPU资源了。或许,你还可以控制那个CPU进行渲染的操作,那个CPU进行网络通迅。如果到四核的CPU,又要需要多少个CPU进行数据库的查询工作呢?

6.Windows编程:目前90%的游戏运行环境就是Windows,如果不了解Windows,就无从下手了。比如Windows的消息处理过程,事件响应,还有Windows的网络通迅过程,这些都是需要了解的。还有Windows提供的API,更加要熟练运用了。

7.DirectX:对于每个游戏开发者,都是必备常识。

软件工程:现在的游戏开发,都不是一个人就可以开发完成的。一定是一个团队,相互之间的协作,就成为了需要解决的问题。比如每个人写的一部份的程序库,是怎么样连接在一起,都是软件工程的问题,怎么样安排进度,都是需要使用甘特图来说明,以及怎么样进行测试,也是测试人员配合进行的。 现在的游戏都进行入了3D的时代,那么你从哪里开始呢,最快的方法,就是下载DX SDK,然后打开一个空的工程,看看DX给你创建了什么文件,以及这些源程序作什么用的。接着试着创建一个三角形显示出来看看,试着改变它的颜色,试着让它转动起来,最后创建两个三角形,计算一下这两个三角形会不会相交呢?会不会碰撞呢?

在以上的分享关于这个问题的解答都是个人的意见与建议,偶希望偶分享的这个问题的解答能够帮助到大家。

在这里同时也希望大家能够喜欢偶的分享,大家如果有更好的关于这个问题的解答,还望分享评论出来共同讨论这话题。

偶最后在这里,祝大家每天开开心心工作快快乐乐生活,健康生活每一天,家和万事兴,年年发大财,生意兴隆,谢谢!

什么是游戏编程语言 Python编程语言可以用来做大型网络游戏吗 – 游戏开发 – 前端 python c boost

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。