AX 爱鲜报

Minecraft Python 版

用 Python 和 Pyglet 实现的极简 Minecraft 风格 3D 沙盒演示,支持在方块世界中自由移动、飞行、放置和破坏方块,代码短小易读,适合作为图形编程与游戏开发入门教材。

爱鲜报评分

0.0

0 人评分

5.4k

星数

否

中文

Python

主语言

是

活跃

16

贡献者

人工分析

EDITORIAL

推荐理由

这是学习 Python 3D 图形编程的经典入门项目,代码量小、结构清晰,能直观看到 OpenGL 渲染、第一人称相机和体素世界的实现原理。作者明确希望把它做成面向儿童和初学者的教育工具,适合用来带孩子或新手体验「写代码就能造世界」的乐趣。如果你想要性能更好、功能更完整的版本,还可以参考同作者的 C 语言版 Craft。

适用场景

  • Python 图形编程入门教学
  • 少儿编程与游戏开发启蒙
  • 体素/沙盒游戏原理学习
  • OpenGL 与 Pyglet 实践
  • 课堂演示与编程兴趣激发

优点

  • 代码简洁易读,适合初学者理解 3D 游戏基本结构
  • 依赖极少,只需 Python 与 Pyglet
  • 操作直观,移动、飞行、放置方块一应俱全
  • MIT 协议开源,可自由修改和二次开发
  • 作者有明确的教育化愿景,社区关注度高

缺点

  • 项目年代较早,Pyglet 与 Python 版本兼容性可能存在问题
  • 功能非常基础,缺少存档、地形生成等完整机制
  • 性能与画面表现有限,不适合做正式游戏
  • Mac 上可能需要 32 位模式等额外配置
上手难度 入门

项目简介

Minecraft Python 版是一个用 Python + Pyglet 编写的极简 Minecraft 风格 3D 沙盒演示。它用很少的代码实现了一个可自由探索的方块世界:你可以走动、跳跃、切换飞行模式,并用鼠标放置或破坏方块。

项目的目标不只是「做一个游戏」,而是把它打造成 编程教育工具——孩子们喜欢 Minecraft,而 Python 又是极佳的第一门语言,两者结合能有效激发学习兴趣。

核心玩法

移动

  • W / S:前进 / 后退
  • A / D:左右平移
  • 鼠标:转动视角
  • 空格:跳跃
  • Tab:切换飞行模式

建造

  • 1:砖块
  • 2:草方块
  • 3:沙子
  • 鼠标左键:删除方块
  • 鼠标右键:放置方块

退出

  • ESC:释放鼠标,然后关闭窗口

运行方式

项目依赖非常少,安装 Pyglet 后克隆仓库并运行主程序即可:

pip install pyglet
git clone https://github.com/fogleman/Minecraft.git
cd Minecraft
python main.py

在 macOS 上如果遇到 Pyglet 64 位模式问题,可以尝试以 32 位模式运行 Python,或改用支持 64 位的 Pyglet 版本。

设计愿景

作者希望项目未来能演进为一个可导入的 Python 库/API,让使用者通过配置来创建世界并运行,例如:

import mc

world = mc.World(...)
world.set_block(x, y, z, mc.DIRT)
mc.run(world)

理想中的 API 应支持重力、跳跃速度、行走速度等参数配置,并提供地形生成的扩展钩子。

适合谁

  • 想了解 3D 游戏基本结构的 Python 初学者
  • 需要课堂演示素材的编程老师
  • 对体素世界、第一人称相机实现感兴趣的开发者

如果你需要性能更好、地形生成更完善且支持存档的版本,可以看看同作者用 C 和现代 OpenGL 编写的 Craft 项目。

评论

登录后才可评论与评分

0 条评论

  • 暂无评论,来写第一条吧。