社区的小伙伴们大家好,我是山月。
上次山月给大家分享了32个图形化界面(GUI)库,不知道有没有感兴趣的同学去试着设计一下自己想要的界面~
今天山月给大家带来了一个更好玩的东西:python游戏开发库。
说到游戏,山月想起了小时候和同桌在纸上玩的井字游戏、五子棋,以及现在玩的王者和吃鸡。
可以说,游戏充实了我的空闲时间,给我增加了许多乐趣,也让我认识了更多的新朋友。
那,可能会有小伙伴问了:小时候玩过的井字游戏要怎么变成电子游戏?手机上的五子棋等游戏又是怎么做的呢?我也想开发一个自己的小游戏,要从哪里入手呢?
别急,下面就是山月给大家整理的一些python游戏开发的库,对这方面有兴趣的小伙伴可以去学习学习。
希望这篇文章能对大家有所帮助,同时也希望小伙伴们看完后能在留言区发表自己的建议和感想,对不好的或者需要补充的内容加以指正。我会不断完善改进,力求能帮助到所有支持和喜爱社区的小伙伴们!
话不多说,我们开始吧!!
1
PyGame
官网:
https://www.pygame.org/docs/
概述:
Pygame 是一组专为编写视频游戏而设计的 Python 模块。 它在优秀的 SDL 库之上添加了功能。这允许您使用 python 语言创建功能齐全的游戏和多媒体程序。Pygame具有高度的可移植性,可以在几乎所有平台和操作系统上运行。
拓展:
对Pygame感兴趣的建议看一下网站内的黑猩猩教程例子,网站直达:
https://www.pygame.org/docs/tut/ChimpLineByLine.html
2
Cocos2d
官网:
https://pypi.org/project/cocos2d/
概述:
Cocos2d是一个用于构建2D游戏、演示和其他图形/交互式应用程序的框架。它是使用硬件加速的OpenGL绘制的,适用于linux、mac或windows操作系统。
3
PySoy
官网:
https://pypi.org/project/PySoy/Trunk/
概述:
PySoy是一个适用于 Python 的 3D 游戏引擎,它将渲染、物理、动画和网络紧密结合在一起。
4
PyOgre
官网:
https://wiki.ogre3d.org/PyOgre
概述:
OGRE(Object-Oriented Graphics Rendering Engine)是一种以 C 编写的面向场景的、灵活的3D引擎,旨在使开发人员能够更轻松、更直观地使用 3D 硬件制作游戏和演示。PyOgre是OGRE的python绑定。
5
pyglet
官网:
https://pypi.org/project/pyglet/
概述:
pyglet是Python的跨平台窗口和多媒体库,用于开发游戏和其他视觉丰富的应用程序。它支持窗口化、用户界面事件处理、操纵杆、OpenGL图形、加载图像和视频以及播放声音和音乐。pyglet适用于Windows、OS X和Linux。
6
Panda3D
官网:
https://pypi.org/project/Panda3D/
概述:
Panda3D是一个强大的3D引擎,用C 编写,有完整的Python绑定集。与其他引擎不同,这些绑定是自动生成的,这意味着它们始终是最新和完整的:引擎的所有功能都可以从Python控制。所有主要的Panda3D应用程序都是用Python编写的,这是使用该引擎的预期方式。Panda3D现在支持自动着色器生成,这意味着您可以使用法线贴图、光泽度贴图、光晕贴图、HDR、卡通着色等,而无需编写任何着色器。Panda3D还是一个现代引擎,支持高级功能,如着色器、模具和渲染到纹理。Panda3D与众不同之处在于它强调短的学习曲线、快速的开发以及极端的稳定性和健壮性。Panda3D支持Windows、Linux或macOS。
7
Blender
官网:
https://www.blender.org/
概述:
Blender是免费的开源3D创作套件。它支持整个3D管道-建模、装配、动画、模拟、渲染、合成和运动跟踪、视频编辑和2D动画管道。需要注意的是,这个软件库需要 Python 3.5。
8
Fifengine
官网:
http://www.fifengine.net/
概述:
Flexible Isometric Free Engine (FIFEngine) 是一个多平台等距游戏引擎,用C 编写。它带有Python绑定,允许用户使用Python和C 来创建游戏。它具有硬件加速2D图形、集成GUI、音频支持、照明、支持自顶向下和等轴测地图的地图编辑器、寻路、虚拟文件系统等功能!
9
Arcade
官网:
https://pypi.org/project/arcade/
概述:
Arcade是一个易于学习的Python库,用于创建2D视频游戏。它非常适合初学者,或者希望在不学习复杂框架的情况下创建2D游戏的程序员。Arcade构建在Pyglet和OpenGL之上。
10
pyirrlicht
官网:
https://sourceforge.net/projects/pir/
概述:
pyirrlicht是irrlicht引擎的python包装器,用于2d/3d游戏和图形。
11
Kivy
官网:
https://kivy.org/#home
概述:
Kivy是一个开源的Python框架,用于快速开发应用,实现各种当前流行的用户界面,比如多点触摸等等。它是基于Python界面文件和程序文件相互分离的设计思路,设计简洁优雅,语法易学,非常适合新人入门。Kivy可以在不同的平台上运行,包括Windows,Linux,MacOS,Android,iOS。
拓展:
中文文档地址如下:
https://cycleuser.gitbooks.io/kivy-guide-chinese/content/
12
PyOpenGL
官网:
https://pypi.org/project/PyOpenGL/
概述:
PyOpenGL是一个最常见的跨平台的OpenGL和相关的APIs的python绑定,这个绑定是使用标准的ctypes库创建的,并且是在一个非常自由的BSD风格的开源许可证下提供的。
拓展:
学习文档如下:
http://pyopengl.sourceforge.net/context/documentation.html
13
O3DE(Open 3D Engine)
官网:
https://github.com/o3de/o3de
概述:
O3DE(Open 3D Engine)是一个开源、实时、多平台的3D引擎,使开发人员和内容创建者能够在不收取任何费用或商业义务的情况下构建AAA游戏、高质量的3D电影世界和高逼真度的模拟。
14
pyglet
官网:
https://pypi.org/project/pyglet/
概述:
pyglet是Python的跨平台窗口和多媒体库,用于开发游戏和其他视觉丰富的应用程序。它支持窗口、用户界面事件处理、操纵杆、OpenGL图形、加载图像和视频以及播放声音和音乐。pyglet支持在Windows、OS X和Linux上工作。
15
Armory
官网:
https://armory3d.org/index.html
概述:
Armory是一个具有完整的Blender集成的开源3D游戏引擎。专注于便携性、最小的占用空间和性能。渲染器完全可编写脚本,支持延迟和转发路径。
16
pyDark
官网:
https://github.com/SirFroweey/PyDark
概述:
pyDark是一个在Python和PyGame之上编写的2D在线多人视频游戏框架。使用PyDark的目标是使其易于学习并集成到现有的pygame应用程序中。PyDark被设计为完全可定制和可伸缩的,允许开发人员继承基类并创建新的子类。
17
KBEngine
官网:
https://gitee.com/likecg/kbengine#kbengine
概述:
KBEngine是一款开源的MMOG游戏服务端引擎,仅Python脚本即可简单高效的完成任何游戏逻辑(支持热更新),使用配套客户端插件能够快速与(Unity3D、UE4、OGRE、HTML5、等等)结合形成一个完整的客户端。
18
Pycap
官网:
http://www.farbs.org/pycap.html
概述:
Pycap是超级懒惰程序员的终极框架。Pycap将PopCap游戏框架封装在一个超级友好的高级python界面中。使用Pycap,你可以开始构建漂亮的2D游戏,而无需安装编译器或学习c 。
19
Free Python Games
官网:
http://www.grantjenks.com/docs/freegames/
概述:
Free Python Games是Apache2授权的免费Python游戏集合,旨在提供教育和娱乐。这些游戏是用简单的Python代码编写的,旨在进行实验和修改。包括几个经典街机游戏的简化版本。
20
ika
官网:
https://github.com/andyfriesen/ika
概述:
ika是一个游戏引擎。它使用SDL和OpenGL进行图形处理,使用Python进行脚本编写。
21
Pilas
官网:
https://www.pilas-engine.com.ar/
概述:
Pilas是一个以简单有趣的方式构建视频游戏的引擎。针对想要开始制作第一个视频游戏的休闲或初学者程序员。
22
Scut
官网:
https://github.com/ScutGame/Scut
概述:
SCUT是一个免费、开源、稳定的游戏服务器框架,支持C#/Python/Lua脚本。SCUT的设计理念是“开发更容易的在线游戏”,它包括一个开发框架和no-SQL数据库存储服务,以及许多游戏系统模块。节省了许多游戏开发人员的工作时间,使用户能够专注于业务逻辑。SCUT游戏服务器框架还提供了SCUTSDK(例如用于COCOS2D-X),使服务器和客户端之间的通信非常容易。
23
PYSDL2
官网:
https://pypi.org/project/PySDL2/
概述:
PYSDL2是围绕SDL2、SDL2 Mixer、SDL2 Image、SDL2 TTF和SDL2 GFX库的纯Python包装。它不依赖C代码,而是使用内置的CTypes模块与SDL2接口,并为常见的SDL2功能提供简单的Python类和包装。
24
Godot
官网:
https://github.com/godotengine/godot
概述:
Godot Engine是一个功能齐全的跨平台游戏引擎,用于从统一的界面创建2D和3D游戏。它提供了一套全面的通用工具,这样用户就可以专注于玩游戏,而不必重新启动打包文件了。游戏可以一次点击导出到许多平台,包括主要的桌面平台(Linux、MacOS、Windows)、移动平台(Android、iOS)以及基于Web的平台(HTML5)和控制台。
25
fabula
官网:
https://pypi.org/project/fabula/
概述:
fabula是一个开源的Python游戏引擎,适合冒险、角色扮演和战略游戏以及数字互动故事制作。
26
Cyphesis
官网:
https://github.com/worldforge/cyphesis
概述:
Cyphesis是一个非常棒的使用AI/A-Life技术的MMORPG游戏以及NPC(非玩家控制人物)服务器引擎。它有如下特点:通过Python完全脚本化;规则和世界实体的实时重新加载,编辑你的世界而不必关闭或重新加载;全三维物理模拟;复杂的人工智能系统,使用行为树和Python脚本;离线人工智能,允许分布式人工智能客户端;通过sqlite或postgresql持久化;实体可见性和安全壳的强大内置规则;通过多个简单系统交互的紧急游戏;快速强大的程序域生成。
27
LimeJS
官网:
http://www.limejs.com/
概述:
LimeJS是一个HTML5游戏框架,用于为所有现代触摸屏和桌面浏览器。
28
Harfang
官网:
https://pypi.org/project/harfang/
概述:
多媒体框架Harfang是应用于2D和3D应用开发的高端平台。它使开发人员能够创建从数据可视化到游戏的应用程序。
29
Firefly
官网:
https://pypi.org/project/firefly/1.2.4dev/
概述:
Firefly是一个免费的、开源的、稳定的、快速扩展的用于“热更新”分布式游戏服务器端框架。用Python编写,基于Twisted框架开发。Firefly的设计理念是“让开发人员专注于前端”,包括开发框架和数据库缓存服务,和其他基本的游戏服务器服务,节省了很多游戏开发人员的工作时间,真正让用户专注于游戏的逻辑。它可以用来建立一个自定义的分布式架构,只需将配置文件修改为适当的。
30
Wasabi2D
官网:
https://wasabi2d.readthedocs.io/en/stable/
概述:
Wasabi2D是Python的一个游戏引擎,在没有低级OpenGL编程的情况下,它很容易使用快速、现代的图形效果。
31
Soya
官网:
https://pypi.org/project/Soya/
概述:
Soya是一个实用的Python高级面向对象3D引擎。Soya的设计考虑到了游戏。它包括高度贴图、粒子系统、动画支持等…
32
RenPy
官网:
https://www.renpy.org/
概述:
RenPy 是一个视觉小说引擎,可用文字、图像和声音讲述在计算机和移动设备上运行的交互式故事。这些既可以是视觉小说,也可以是生活模拟游戏。易于学习的脚本语言让任何人都可以高效地编写大型视觉小说,而其 Python 脚本足以应对复杂的模拟游戏。
33
Myrmidon
官网:
https://github.com/Fiona/Myrmidon
概述:
Myrmidon是Python的一个框架,旨在提供2D游戏的快速开发。通过使用一个简单易用的API,Myrmidon允许开发人员创建交互式游戏,其设计完全适合原型、概念验证和game jams。
Myrmidon的底线是开发人员应该只关注游戏对象的行为以及用户如何与它们交互。任何低级图形、窗口或输入处理应由Myrmidon全权负责。尽可能地隐藏这些信息,并允许您继续编写游戏。
34
AggiEngine
官网:
https://github.com/aggie-coding-club/AggiEngine
概述:
AggiEngine是一个2D游戏引擎,旨在简化游戏开发。AggiEngine提供图形用户界面、物理、状态管理等...
35
pygamelib
官网:
https://github.com/arnauddupuis/pygamelib
概述:
pygamelib是一个用于基于终端的游戏开发的(不太小的)库。它最初是一个非常简单的库,功能非常有限,但随着时间的推移,它变得更加强大。以至于现在可以用它来制作非常体面的游戏。
36
GameFrame
官网:
https://github.com/tuxta/gameframe
概述:
GameFrame的开发目的是利用优秀的PyGame库,使它们更容易访问,更易于初级到中级程序员使用。GameFrame旨在帮助学习基于文本的游戏编程的概念,而不必关注实现细节。
37
Rabbyt
官网:
https://pypi.org/project/Rabbyt/
概述:
Rabbyt是一个用于Python的精灵库,它考虑到了游戏开发。它使用易于使用但灵活的API提供快速性能。
38
Driftwood 2D
官网:
https://github.com/Driftwood2D/Driftwood
概述:
Driftwood 2D Tiling 游戏引擎和开发套件是一个游戏引擎和相关工具集,旨在允许新手开发功能齐全的基于 tile 的 2D 游戏。 目前正在进行大量的 alpha 阶段开发,不被认为是稳定的。但是,它目前适合制作非常简单的探索式游戏。
以上就是本期内容,希望对大家有所帮助,我们下期再见!