跳转至内容

Python 编程/Python 游戏编程

来自维基教科书,开放的书籍,为开放的世界


3D 游戏编程

[编辑 | 编辑源代码]

具有 Python 绑定的 3D 游戏引擎

[编辑 | 编辑源代码]
pyirrlicht
用于 Irrlicht Engine SDK 的 ctypes python 模块。
PyPi 链接https://pypi.python.org/pypi/pyirrlicht
Pip 命令pip install pyirrlicht
  • Irrlicht 引擎[1] (Python 绑定网站: [2] )

两者都是非常好的免费开源 C++ 3D 游戏引擎,具有 Python 绑定。

  • CrystalSpace 是一款免费的跨平台软件开发工具包,用于实时 3D 图形,特别关注游戏。Crystal Space 可以通过两种方式从 Python 访问: (1) 作为 Crystal Space 插件模块,其中 C++ 代码可以调用 Python 代码,反之亦然; (2) 作为名为 'cspace' 的纯 Python 模块,可以在 Python 程序中 '导入' 它。要使用第一个选项,请按照加载任何其他 Crystal Space 插件的方式加载 'cspython' 插件,并通过 SCF 'iScript' 接口与之交互。第二种方法允许您完全在 Python 中编写 Crystal Space 应用程序,无需任何 C++ 编码。CS Wiki

为 Python 编写的 3D 游戏引擎

[编辑 | 编辑源代码]

从头开始为 Python 设计的引擎。

Blender
开源 3D 创建。免费用于任何目的,永远。
下载链接https://www.blender.org/download/
  • Blender 是一款令人印象深刻的 3D 工具,它拥有一个完全集成的 3D 图形创建套件,允许建模、动画、渲染、后期制作、实时交互式 3D 和游戏创建和播放,并具有跨平台兼容性。3D 游戏引擎使用嵌入式 python 解释器来制作 3D 游戏。
Panda3d
Panda3D 是一个游戏引擎,一个用于 Python 和 C++ 程序的 3D 渲染和游戏开发框架
下载链接http://www.panda3d.org/download.php
  • Panda3D 是一个 3D 游戏引擎。它是一个用 C++ 编写的库,带有 Python 绑定。Panda3D 的设计目的是支持较短的学习曲线和快速开发。该软件可免费下载,源代码根据 BSD 许可证发布。该开发是由 [迪士尼] 启动的。现在有很多使用 Panda3D 制作的项目,例如 迪士尼的加勒比海盗在线卡通城构建虚拟世界Shell Games 等等。Panda3D 支持多种功能:过程几何体、动画纹理、渲染到纹理、跟踪运动、雾、粒子系统等等。
Crystal Space
Crystal Space 是一个成熟的、功能齐全的软件开发工具包 (SDK),为游戏和虚拟现实等应用程序提供实时 3D 图形
下载链接http://www.crystalspace3d.org/main/Download

2D 游戏编程

[编辑 | 编辑源代码]
Pygame
Python 游戏开发
PyPi 链接https://pypi.python.org/pypi/Pygame
Pip 命令pip install Pygame
  • Pygame 是一个跨平台的 Python 库,它封装了 SDL。它提供了许多功能,例如精灵组和声音/图像加载,以及轻松更改对象位置。它还为程序员提供了对键盘和鼠标事件的访问权限。可以在免费书籍 "用 Python & Pygame 制作游戏" 中找到完整的教程。
pgu
Python 游戏实用程序
下载链接https://code.google.com/archive/p/pgu/downloads
依赖项PyGame
  • Phil's Pygame Utilities (PGU) 是一个工具和库的集合,它们增强了 Pygame。工具包括一个平铺编辑器和一个 关卡编辑器 (平铺、等轴测、六边形)。GUI 增强功能包括功能齐全的 GUI、HTML 渲染、文档布局和文本渲染。库包括一个精灵和 平铺引擎 (平铺、等轴测、六边形),一个状态引擎,一个计时器,以及一个高分系统。 (Beta 版,最后更新于 2007 年 3 月。API 将被弃用,等轴测和六边形支持目前处于 Alpha 阶段,可能会发生变化。) [更新于 2008 年 2 月 27 日 作者表示他目前没有积极开发此库,任何愿意开发自己滚动等轴测库的人都可以使用 PGU 中的现有代码来开始。]
pyglet
跨平台窗口和多媒体库
PyPi 链接https://pypi.python.org/pypi/pyglet
Pip 命令pip install pyglet
  • Pyglet 是一个跨平台的 Python 窗口和多媒体库,没有外部依赖项或安装要求。Pyglet 为开发 WindowsMac OS XLinux 的游戏和其他视觉丰富的应用程序提供面向对象的编程接口。Pyglet 允许程序在多个屏幕上打开多个窗口,使用 OpenGL 在这些窗口中绘图,并在大多数格式中播放音频和视频。与其他类似的可用库不同,pyglet 没有外部依赖项 (例如 SDL),并且完全用 Python 编写。Pyglet 根据 BSD 风格许可证 发布。
kivy
用于快速开发硬件加速多点触控应用程序的软件库。
PyPi 链接https://pypi.python.org/pypi/kivy
Pip 命令pip install kivy
依赖项docutils; pygments (与 kivy 自动安装)

kivy.deps.sdl2; kivy.deps.glew (不会自动安装,运行 pip install kivy.deps.sdl2 kivy.deps.glew,需要用于 OpenGl) kivy.deps.angle (Python3.5+,可以替换为 kivy.deps.glew pip install kivy.deps.angle) kivy.deps.gstreamer (120+mb,需要用于视频/音频,pip install kivy.deps.gstreamer,仅用于图形不需要)

kivy_examples (可选,使用 pip install kivy_examples 安装
  • Kivy Kivy 是一个用于开发多点触控应用程序的库。它是完全跨平台的 (Linux/OSX/Win 和 Android 具有 OpenGL ES2)。它附带对许多多点触控输入设备的本机支持,一个不断增长的多点触控感知小部件库,以及硬件加速的 OpenGL 绘图。Kivy 的设计目的是让您尽可能快速、轻松地专注于构建自定义和高度交互式应用程序。
Rabbyt
使用 OpenGL 的快速 2D 精灵引擎
PyPi 链接https://pypi.python.org/pypi/Rabbyt
Pip 命令pip install Rabbyt
  • Rabbyt 一个快速 精灵 库,用于 Python,并考虑到游戏开发。使用 Rabbyt Anims,即使是旧的显卡也可以生成非常快的动画,处理 2,400 个或更多精灵,同时处理位置、旋转、缩放和颜色。


另请参阅

[编辑 | 编辑源代码]
  • 10 个经验教训 - 如何在没有预算的情况下在一周内从头开始构建一个游戏
华夏公益教科书