Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >为什么Python不适合写游戏?

为什么Python不适合写游戏?

作者头像
派大星的数据屋
发布于 2023-02-23 06:22:39
发布于 2023-02-23 06:22:39
1.5K0
举报

有个热门问题:Python 能写游戏吗?有没有什么开源项目?

Python可以开发游戏,但不是好的选择

Python作为脚本语言,一般很少用来开发游戏,但也有不少大型游戏有Python的身影,比如:

  • 坦克世界大战(作为用户端脚本)
  • 文明IV(作为地图编辑器脚本)
  • 战场2(作为游戏玩法脚本)
  • 模拟市民(作为mod脚本)
  • 新战前夜(作为服务器和客户端语言)
  • 迪士尼-卡通城(提供 Panda3D 引擎图形) ...

虽然这些游戏支持python,但python扮演的角色大多作为脚本和插件,并非游戏开发的主语言。

目前市场上多数游戏都是基于C++、Java等语言进行开发,主要它们都是静态语言,比较稳定且速度快,能够满足游戏高性能的需求。

比如《绝地求生》、《巫师3》、《黑暗之魂》等都是用C++开发的,《碟中谍III》、《Minecraft》、《FIFA 11》等都是用Java开发的。

Python因为注重编码效率而非计算性能,在速度和稳定性上无法与其他语言媲美,几乎很少有商业游戏是纯Python开发的。

但Python可以通过脚本和第三方引擎为大型游戏提供组件,比如上述提到的几款游戏。

而且Python可以快速创建游戏原型,帮助开发者进行试验和debug,作为辅助工具还是不错的。

可以尝试一些Python开源小游戏

Github上有一些基于Python开发的开源小游戏,有兴趣可以试试看。比如说基于Python Pygame库开发植物大战僵尸。

原项目:marblexu/PythonPlantsVsZombies

该游戏仓库主要包含三部分:游戏代码、游戏素材、数据库

游戏代码就是Pygame库提供框架,然后python搭建游戏规则,全部代码将近3000行。

游戏素材主要包括僵尸、植物、背景等图片,图片会导入进游戏界面,然后写动态事件过程来实现游戏画面。

数据库是用json来存储游戏过程数据,这里包括了位置、时间、关卡等。

我专门录了个视频讲解下如何去下载,并在本地电脑执行。

还有很多小游戏可以用Python实现,我觉得是非常有趣的过程,初学者可以玩玩。

比如这个github仓库提供了很多免费小游戏的代码和demo:

grantjenks/free-python-games

Python游戏开发的主要框架

Python有很多游戏开发框架,比如说

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

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

Pyglet:用于opengl的跨平台窗口和Python的多媒体库,可在mods / bfheores / python文件夹中找到

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

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

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

Python游戏可以帮助你学习语法

对于Python初学者来说,虽然不为了做游戏,但通过写游戏来学习语法是很好的方法,唯有多动手才能掌握编程的真谛。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-12-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python大数据分析 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
原创 | 整理了38个Python游戏开发库
上次山月给大家分享了32个图形化界面(GUI)库,不知道有没有感兴趣的同学去试着设计一下自己想要的界面~
程序员晚枫
2022/05/14
3.8K0
原创 | 整理了38个Python游戏开发库
我在GitHub上找到了这些游戏项目,刺激!
当你学习、工作累了,趁休息时间娱乐放松一下,通过用游戏的方式来学习技术,那么 GitHub 上这些好玩的开源项目小游戏是最适合不过了。
AI算法与图像处理
2021/03/14
4.9K0
Python编写游戏有什么注意
在使用Python编写游戏时,有几个关键的注意事项可以帮助你更高效地完成项目,同时确保游戏的质量和性能。以下是一些重要的建议:
编程小白狼
2024/12/31
1660
原创 | 整理了32个Python图形化界面库
今天给大家分享了一个我觉得很有趣的东西:图形用户界面(Graphical User Interface,简称 GUI)。
程序员晚枫
2022/05/14
8.2K0
原创 | 整理了32个Python图形化界面库
小游戏引擎如何选?看完这篇就够了
前面写了几期有关于小游戏的文章,主要从小游戏开发、小游戏运营、小游戏变现等多个角度进行了较为粗略的介绍,很多同学表示对小游戏引擎部分很感兴趣,希望能够有一些更为深入的分析介绍。今天就对目前主流的小游戏引擎进行探讨。
Onegun
2023/01/03
4.8K0
小游戏引擎如何选?看完这篇就够了
Python 3.x 下的 3D 游戏引擎
在 Python 3.x 中,有几个比较流行的用于开发 3D 游戏的引擎和库。虽然 Python 自身不是一个主流的游戏开发语言,但是可以通过这些库和引擎结合其它语言或者底层渲染引擎来实现复杂的游戏开发。
华科云商小徐
2024/07/04
6030
聚焦小游戏,腾讯云Game-Tech技术沙龙北京站完美落幕
8月25日腾讯云Game-Tech技术沙龙在北京举办,腾讯云资深专家与知名游戏引擎Layabox的大咖为游戏行业同仁们带来以“小游戏”为主题的开发技术分享会。来自双方的资深技术专家从腾讯云小游戏解决方案、LayaAir引擎及性能优化、H5实时语音解决方案、LayaAir3D性能优化、游戏储存技术、多人对战小游戏研发经验,以及如何玩转QQ玩一玩平台等方面的议题,与到场的游戏行业从业者进行深度的探讨。
腾讯游戏云
2018/08/29
1.8K0
游戏基础课程-游戏开发流程
1、前期预案 项目发起,提出项目初步开发意向 2、初步市场规划 指定计划,组织相关人员,并进行策划管理,财务预算,市场调研 3、项目前期创意 剧本创作,创意改编,脚本策划,关卡设计,原画设计等 4、二次市场策划 5、项目调整,完成前期准备 项目基本特性,对软件,程序语言,平台软硬件设备调试到位
孙寅
2020/06/02
1.9K0
【Python100天学习笔记】Day10 图形用户界面和游戏开发
GUI是图形用户界面的缩写,图形化的用户界面对使用过计算机的人来说应该都不陌生,在此也无需进行赘述。Python默认的GUI开发模块是tkinter(在Python 3以前的版本中名为Tkinter),从这个名字就可以看出它是基于Tk的,Tk是一个工具包,最初是为Tcl设计的,后来被移植到很多其他的脚本语言中,它提供了跨平台的GUI控件。当然Tk并不是最新和最好的选择,也没有功能特别强大的GUI控件,事实上,开发GUI应用并不是Python最擅长的工作,如果真的需要使用Python开发GUI应用,wxPython、PyQt、PyGTK等模块都是不错的选择。
天道Vax的时间宝藏
2021/12/02
2.8K0
2021年游戏项目的十大编程语言:C++、Java、C#均上榜「建议收藏」
在这个技术驱动的世界里,游戏行业是全球增长最快的行业之一。在每一款华丽精美的电子游戏背后,都有一种编程语言,为用户提供优质的体验。游戏开发者利用顶级的编程语言来构建游戏。不同的游戏项目使用了不同的编程语言,这取决于游戏类型,如主机游戏、电脑游戏或手机游戏,还取决于互动性的程度。
全栈程序员站长
2022/09/02
2.1K0
自学Python的最佳实践!
今天我们来分享零基础入门 Python,应该如何自学,自学的路径是怎么样的,内容是从入门到进阶,既有教程,也有经典书籍推荐,还有众多类库介绍,不要错过哦
周萝卜
2022/12/27
1.1K0
自学Python的最佳实践!
3D渲染引擎介绍
专业处理视觉呈现的渲染库。 3D引擎从商业属性上分为:商业引擎和开源引擎,从业务领域上分为:游戏引擎、GIS引擎、仿真引擎等,部分引擎可能具备多种领域组合,开发语言涉及包括:C++、C#、Java、JavaScript、GLSL及各类脚本等。
Dlimeng
2023/06/30
1.1K0
传统3D游戏引擎的Web化
最近floh大神的blog又复活了, 现在n3的主要发展发向是web化 其实也是跟PC和主机平台的衰落有关, 各种移动设备正在逐渐取代PC的地位 而做为一个3D游戏引擎, 想要适应这个潮流却不是很容易 先不考虑其它, 光技术上面临的问题就很棘手: C++目前无法直接用于web开发, 必然要面临老代码转换/移植的问题 3D硬件加速的渲染在浏览器这边, 没有一个统一的标准 多线程, web浏览器里对于线程的使用有很多限制 输入设备, 比如右键的功能很多时候会跟浏览器冲突 IO, 通过网络传输的资源在传输, 访问
逍遥剑客
2018/05/23
2K0
游戏开发完整学习路线(各个版本都有)
在软件开发中,游戏开发这个方向看起来目标很明确,但其实是个领域很广的方向,入门的时候如果得不到指点一二,很容易误入歧途,相反,如果走这条路之前能得到前人的一些指路,是可以事半功倍的。 一 平台与编程语言选择 首先,游戏开发的平台就有很多类型:  个人主机平台:Windows、Linux、Mac OC; 移动平台:iOS、Android、Windows Phone、BlackBerryOS、Symbian; 专业主机平台:Xbox、PlayStation、Will等。 如果你想从事移动平台的游戏开发,An
用户1198337
2018/01/19
3.2K0
游戏开发完整学习路线(各个版本都有)
如何开发一款游戏:游戏开发流程及所需工具
企鹅号小编
2018/01/08
3.6K0
如何开发一款游戏:游戏开发流程及所需工具
女性天生不适合写代码?扯淡。
提到程序员,大部分人脑海中首先浮现的是穿着格子衫的小哥哥,或者秃头的中年码神。作为男性领地的外来者,「女程序员」一直被当作“稀有动物”,很多人对女码农充满偏见,认为女生天生不适合编程。可事实上,女性程序员真的不如男性吗?并不见得。 今天 Cocos 人物志专访了引擎组的放空小姐姐,一起来看看「女程序员」在职场里到底是什么样的工作状态吧!
陈皮皮
2020/10/09
6800
女性天生不适合写代码?扯淡。
Python计算生态36个代表库功能小结
1.数据分析 Numpy: 表达N维数组的最基础库 提供直接的矩阵运算、广播函数、线性代数等功能 Pandas: Python数据分析高层次应用库 提供了简单易用的数据结构和数据分析工具 SciPy: 数学、科学和工程计算功能库 提供了一批数学算法及工程数据运算功能 2.数据可视化 Matplotlib: 高质量的二维数据可视化功能库 提供了超过100种数据可视化展示效果 通过matplotlib.pyplot子库调用各可视化效果 Seaborn: 统计类数据可视化功能库 提供了一批高层次的统计类数据可
好派笔记
2021/09/13
1.1K0
写给对 ”游戏开发” 感兴趣的朋友们
原文链接:https://mp.weixin.qq.com/s/wSp-UKiIlufnIC3KPY-WTQ
Python进击者
2019/06/21
1.2K0
写给对 ”游戏开发” 感兴趣的朋友们
H5游戏开发:游戏引擎入门推荐
很多刚刚接触到游戏开发,准备大展拳脚的小鲜肉们,往往在技术选型这第一关就栽了跟头。毕竟网络上的游戏引擎良莠不齐,官网上相关资料也比较少,而选择一个适合的游戏引擎是一个项目最基础,也是很核心的一部分。 试想一下,在游戏开发进行到中后期的时候,才发现项目引入的游戏引擎与需求相悖,这时候不管是重新做一些修修补补的工作或者更换游戏引擎,这都是相当耗费人力物力的一件事。为了避免这种情况的出现,在前期选择适合项目需求的游戏引擎显得尤为重要。 接下来我们来聊一聊如何去选择适合项目的 JS 游戏引擎。
bering
2019/12/02
6.9K1
如何在wxPython应用程序中使用Panda3D
我们知道wxPython提供了丰富的工具和部件来构建用户界面,如果当我们整合wxPython和Panda3D可以创建出功能丰富且交互性强的应用程序,可以创建出强大而丰富的用户界面和3D场景。这样做的主要挑战在于将两个库整合到一个应用程序中,同时确保它们能够无缝地协同工作。具体像是解释一起跟着我看下文吧。
华科云商小徐
2024/02/19
3250
相关推荐
原创 | 整理了38个Python游戏开发库
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档