[ Python 游戏开发] [番外#001] Python 开发游戏如何选择引擎?

174 天前
 TechArtLife

[番外#001 ] Python 开发游戏如何选择引擎?

Python 游戏开发,启动!

1.介绍

使用 Python 开发游戏,大多数情况下都会直接想起 PyGame 这个库。但是,PyGame 本身是基于 SDL 的,没有 3D 支持,并不是一个完整的游戏引擎库。可以当作一个新手入门的玩具,不适合正式项目的开发。

[Panda3D] 是一款 3D 游戏引擎库,带有完整的 3D 游戏引擎模块,支持 Python 和 C++,官方也在一直持续更新迭代。

Panda3D 的 Python 绑定是自动生成的,核心库使用 C++开发,这对我们日后可能需要使用 C++重构项目提供了非常可靠的基础。不过,稍微有点遗憾的是 Panda3D 没有官方的移动端支持,但是我们目前没有移动端计划,所以最终决定使用 Panda3D 来开发。

Panda3D 能实现什么效果?

这里给大家看下 Github 上一位大佬的技术作品,用 Panda3d Python 版本实现的 [PBR (基于物理渲染)延迟渲染管线] 效果。

详细介绍大家传送门看吧

2.Panda3D

  1. 官网: https://www.panda3d.org/

  2. 最新版本:1.10.14

  3. 官方支持:Windows, macOS, Ubuntu

3.安装与使用

pip install panda3d

4.First App

备注

2024 次点击
所在节点    Python
10 条回复
jianchang512
174 天前
```但是,PyGame 本身是基于 SDL 的,没有 3D 支持,并不是一个完整的游戏引擎库。可以当作一个新手入门的玩具,不适合正式项目的开发。```

正式游戏项目真选 py 开发?
coderluan
174 天前
人生苦短,别给自己找麻烦,解决冷门引擎导致的问题,远比你学门新的语言费时费力。
TechArtLife
174 天前
@jianchang512 其实有的,但正式项目不建议,因为常见的主流商业引擎基本都没提供 Python 支持
TechArtLife
174 天前
@coderluan 从完成项目需求来说,是这样的
LaTero
174 天前
倒数第二张图的 UI 是什么做的? Python 没有 Immediate mode GUI 太难受了,需要临时加一个滑块调一调数值 ImGui 一行搞定 Python 要折腾好久。Python 的性能好像也撑不起 Immediate mode GUI, 我看 Dear ImGui 的 python binding 都是 retained mode 的。
renmu
174 天前
视觉游戏引擎 renpy 还是挺流行的
TechArtLife
174 天前
@LaTero 应该是 LUI: https://github.com/tobspr/LUI
ImGui 主要面向 C/C++,适配到 Python 上肯定需要一些 hack 的,但也不至于变成保留模式
jim9606
173 天前
按我知道的情况,可以将 python 作为外部脚本引擎驱动 Unity/UE 是有方案的。
sjhhjx0122
173 天前
godot 语法跟 python 很像不如去写 godot
catamaran
172 天前
我不懂游戏开发,unity 不香吗?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1046120

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX