想要使用 Python 开始游戏开发吗?这里为你全面概述了可用于游戏开发的顶级 Python 库和框架。
游戏开发人员的平均年薪约为 70,000 美元。 因此,无论你打算以业余爱好还是专业身份涉足游戏开发,首先应该掌握你所选语言的基本编程技巧。 👩🏽💻
接下来,你可以使用该语言支持的框架来构建游戏,然后学习新的引擎,例如 Unity。本文将着重介绍 Python 中用于游戏开发的库及其功能。
让我们开始吧…
为什么要使用 Python 进行游戏开发?
Python 是一种在开发人员中广受欢迎的通用编程语言。 学习 Python 相对容易,其学习曲线对初学者很友好。
一旦你充分理解了 Python 编程的基础知识,就应该开始构建项目。 根据你的兴趣,你可以探索并学习使用 Python 框架来:
当你应用编程基础知识时,开发游戏既有趣又有益。读完本文,你将有充足的选择,可以开始用 Python 编写你的第一个游戏。
总而言之,使用 Python 进行游戏开发的原因包括:
- 易于学习
- 可以通过外部框架和库扩展到游戏和 GUI 应用程序开发
- 灵活性和对定制的支持
Python 游戏开发库
下表列出了最流行的 Python 游戏开发库。除了概述各个库的主要特性之外,我们还提供了有用的资源来帮助你入门。
Python Arcade 库
Arcade 是一个用于设计使用 OpenGL 的 2D 视频游戏的 Python 游戏开发库。
它是一个开源库,具有以下特性:
- 支持多平台
- 提供教程和示例库
- 广泛的支持范围:从基本图形元素和精灵到更复杂的图形
- 此外,Arcade 与 PyInstaller 配合良好,你可以使用 PyInstaller 将游戏打包成可执行文件。这样用户无需安装 Python 或下载源代码文件,即可直接运行你的程序。
📚 想了解更多关于 Arcade 的信息? 查阅免费的 《Learn to Program with Arcade》电子书。
Panda3D
PANDA3D 是一款兼具灵活性和易用性的游戏引擎。如果你是 Python 程序员,可以使用 pip 安装它。不过,PANDA3D 本身原生支持 C++ 和 Python。
PANDA3D 的主要特点包括:
- 可移植且支持跨平台的开源引擎
- 内置分析工具,有助于优化大型应用程序
- 以最少的初始化进行快速开发
- 可通过第三方库进行模拟、声音效果等扩展
📚 查阅 Python 的 PANDA3d 文档,了解更多关于开发、调试和优化应用程序的信息。
Harfang 框架
HARFANG 框架是一个实时 3D 可视化引擎。虽然它最初是用 C++ 编写的,但它支持 Python 和 Go 等流行的编程语言。 除了游戏开发之外,它也非常适合复杂的建模和仿真。
以下是该框架的主要特点:
- 一个与平台无关的框架,支持广泛的 3D 解决方案
- 支持 AR 和 VR 解决方案以及交互式 3D 应用程序等高级应用程序
- 易于集成到商业项目和嵌入式系统中
- 用于音频、虚拟现实、物理等的渲染管道和 API
定价:个人用户可以免费使用开源版本。对于专业和商业项目,每月和每年的订阅费用分别为 30 欧元/月和 300 欧元/年。
Ren’Py
Ren’Py 是一个开源视觉小说引擎。它的目的是通过小说促进数字故事的讲述。你可以使用 Python 3 开发涉及更复杂模拟的视觉小说和游戏。
这个 Python 游戏库的主要特性包括:
- 跨平台框架:除了支持 Windows、Mac OS 和 Linux 发行版外,还支持 Android 和 iOS。
- 该框架对于个人和商业用途都是免费的。
- 支持轻松定制和添加功能。
- 利用硬件加速器渲染高清场景和其他图形。
📚 要探索更多,请搜索所有使用 Ren’Py 开发的游戏和视觉小说
Kivy
Kivy 是一个 Python 游戏开发框架,可以让你使用 Python 设计、构建和发布包括 2D 游戏在内的 GUI 应用程序。
Kivy 的游戏开发功能包括:
- 支持各种布局、小部件和动画
- UI、输入和事件的简单描述
- 可通过自定义模块扩展
📚 通过使用 Kivy 构建 Pong 游戏来了解更多信息。
Pygame
Pygame 是一个游戏开发库,专门为使用 Python 开发视频游戏而设计。它建立在 Simple DirectMedia Library (SDL) 之上,并且已经活跃开发了 20 多年。
Pygame 的显著特征包括:
- 跨平台支持
- 速度优化:核心函数用 C 和汇编语言编写
- 具有简单核心的模块化框架; 附加功能委托给外部模块
- 支持命令行开发——无需使用 GUI
- 利用多核 CPU 渲染图形
查看 Pygame 教程和其他实用资源列表。
Pyglet
Pyglet 是 Python 的一个多媒体库,广泛应用于游戏开发。该库在 OpenBSD 许可下是开源的。 因此,你可以将其用于许可证允许的个人和商业项目。
Pyglet 的主要特点如下:
- 纯 Python 框架,具有易于使用的 Python API
- 没有外部依赖,适合使用 PyInstaller 打包和分发应用程序
- 支持标准的音频和图像格式
- 原生支持 OpenGL 图形、UI 事件处理和窗口
查看本 Pyglet 快速入门指南。
OGRE
面向对象的图形渲染引擎或 OGRE 是用于游戏开发的 3D 引擎,具有跨平台和跨语言的能力。虽然最初是用 C++ 编写的,但它为 Python、Java 和 C# 等流行语言提供了开箱即用的支持。
该项目始于 2001 年,至今已活跃发展了 20 多年。 在撰写本文时,Python 库 ogre-python 的最新版本发布于 2022 年 11 月 16 日。要使用 python-ogre 开发游戏,你需要 Python 3.6 或更高版本。
我们来看看 OGRE Python 游戏开发库的特点:
- 支持粒子效果、骨骼动画和阴影
- 适用于各种应用,包括交互式艺术和科学可视化
- 一个 Pythonic 接口,抽象出 OpenGL 等系统框架的底层细节
查看 OGRE 提供的完整功能列表。查看 OGRE 教程,涵盖设置 OGRE、创建组件和网格等基础知识。
Cocos2d
Cocos2d 是一个用于设计 2D 游戏和 GUI 应用程序的 Python 库。 你需要安装 Python 3.6 或更高版本才能使用 Cocos2d。 它作为可安装的 Python 包在 PyPI 上可用。
下面简单介绍一下 cocos2d 的特性:
- 对 OpenGL 的原生支持
- 内置调试支持
- 可让你编写动作和场景的 Pythonic 框架
- 支持文本渲染、平铺地图和转场等特效
结论
我希望这个游戏开发框架和库列表对你有所帮助。 有这么多库和框架可供考虑,通常很难决定使用哪一个。
你可以从评估游戏需求开始。 考虑所需的依赖项、功能和易用性,找到最适合你游戏开发项目的工具。 你也可以从构建一个简单的游戏(例如 Pong 或蛇游戏)开始,尝试使用几个框架,然后决定继续使用哪个。或者,你可以在现有的 Python 项目之上构建 GUI 应用程序。
接下来,查看可用于你下一个 Python 项目的 Python Web 服务器列表。 编码愉快! 👩🏽💻