首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python真的不适合游戏开发吗?Python开发出的游戏有什么影响?

想要学习python的小伙伴,或者已经学习了python的小伙伴,或许想要从事游戏开发这个行业,毕竟现在游戏的势头也是蒸蒸日上,游戏开发的前景也是一片大好,现在热门很火爆的游戏很多,如:王者荣耀、和平精英,但是想要从事游戏开发的人依旧很多。

那么,python是否适合开发游戏呢?

对于这个问题,从理论上讲:python是可以开发游戏的。

因为,事实上,任何语言都可以开发游戏。python简单易上手,使用起来十分方便,为什么不能用来开发游戏呢?

但是,从实践上讲:python很难开发游戏。

其原因有几点:

第一点,游戏引擎限制了实现的技术方案。现代游戏的开发,绝大多数情况下都要借助于游戏引擎和编辑器。而流行的游戏引擎非常有限,它们采用的编程语言自然也就被限制在那几种,如目前开发游戏经常使用的语言主要有c++、c#、c、java语言等等。

第二点,python在执行效率、多线程、内存管理方面确实存在一些瑕疵,而这些瑕疵是高性能游戏客户端很介意的,所以Python很难成为首选方案。

第三点,python执行速度慢。python是解释型语言,而解释型语言的缺点就是速度慢,功耗大。

解释型语言和编译型语言的区别。使用编译器对编译语言编译后生成elf或者bin文件是计算机可以直接执行的,而解释型语言不需要编译器,它是通过解释器在程序运行时实时解释执行。这就是为什么解释型(python)语言慢的原因。

第四点,保密安全问题。python的源代码不方便保密存储,而python的源代码是开发者不希望,尤其是对于盈利的开发者来说,他们不希望自己的代码被公开,因此,python不适合用于游戏开发。

那么,python真的就被一棒子打死,真的就不能做游戏开发了吗?

答案当然是否定的。实际上,如果只用Python编写游戏逻辑部分,图形计算密集计算用C++等编译型语言写好底层实现,然后封装成一个Python的API就直接在Python的开发环境内调用了。也就是游戏框架交由高性能的编译性语言来完成,游戏逻辑部分交由Python来完成,这样既能提高游戏的运行速度又能降低游戏的开发难度和开发周期。

目前Python主流的游戏框架有:

1.PyGame:PyGame在优秀的SDL库之上添加了更多功能。允许使用python语言创建功能齐全的游戏和多媒体程序。具有高度的可移植性,几乎可以在所有平台和操作系统上运行

2.PySoy:Python 3的高级3D游戏引擎,紧密结合了渲染,物理,动画和网络

3.Python-Ogre: 用于OGRE 3D引擎的完整python包装器,以及用于GUI,物理,特效,声音等的15个其他图形和游戏相关库

4.Panda3d:专门用于python的全功能开源3d引擎,但用c ++编写。功能:性能,多平台支持,场景图,导出/导入,3D音频,碰撞检测,物理,浏览器插件,动画等。

5.Blender3D:GNU GPL许可下的开源游戏引擎,建模器,动画师和3D渲染器。使用Python作为脚本语言。

利用这些游戏框架,python也可以进行游戏开发。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200529A00V2Q00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券