pycraft · itsapi/pycraft
Pycraft 是一款受 Minecraft 启发的命令行 2D 游戏,用 Python 编写。README 称它在类 Unix 系统搭配 Python 3.3+ 运行最佳,启动命令为 python3 main.py。玩家用键盘控制角色左右移动与跳跃,用 K 键破坏或放置方块,用 J/L 键旋转光标...
Pycraft 是一款受 Minecraft 启发的命令行 2D 游戏,使用 Python 编写。README 将其定位为“a command line based 2D Minecraft”,并说明它在类 Unix 系统搭配 Python 3.3+ 的环境下运行效果最佳。项目由 geraintwhite 与 olls 共同构建,启动方式为在仓库根目录执行 python3 main.py。
与常见的图形化沙盒游戏不同,Pycraft 把整个游戏世界压缩进终端字符界面:玩家在字符网格中移动、跳跃、挖掘与放置方块,并通过背包与合成系统逐步解锁更强的工具。README 顶部提供了 Repl.it 运行徽章与一张玩法动图,方便读者在浏览器中快速体验或直观了解画面形态。
需要说明的是,仓库 README 未给出 Stars 数量、在线 Demo 地址或实际运行体验数据,这些内容有待核验。
README 的 Controls 一节给出了完整的键位映射,并特别建议把系统键盘重复延迟调整到约 200–300ms,以获得更顺手的连续操作手感。
菜单操作:
W 或方向键上S 或方向键下SPACE 或 RETURN方块操作:
KLJ背包操作:
OUCI角色移动:
ADW从键位设计可以看出,游戏把“移动”“方块交互”“背包与合成”拆成三组操作,玩家需要在小键盘式的按键布局中切换注意力,这也是终端游戏常见的交互取舍。
Pycraft 以 Python 作为主要实现语言,运行入口为 main.py。README 还介绍了可选的 C 渲染器:它很可能比 Python 渲染器更快,但需要先编译。编译方式是在仓库根目录执行 python3 setup.py build,之后正常启动游戏,并在设置中切换渲染器。
README 同时提醒,若在 C 渲染器中发现问题,或发现它与 Python 渲染器之间存在行为差异,应通过 issues 反馈。这种“双渲染器”结构让项目在保持 Python 可读性的同时,也为性能敏感部分留出了用 C 加速的空间,对学习终端渲染与语言混合编程有一定参考价值。
根据 README,运行 Pycraft 的步骤如下:
python3 main.py 启动游戏。python3 setup.py build 完成编译,再启动游戏并在设置中切换渲染器。README 未提供 Windows 或 macOS 的专门说明,也未列出第三方依赖清单,相关环境支持情况有待核验。
README 说明,部分物品只能通过合成系统获得。凡是能用玩家背包中现有材料合成的物品,都会自动出现在合成网格中;按 C 在背包与合成网格之间切换选择,按 I 合成当前选中的物品。
README 列出的配方包括:
工具方面,某些方块必须使用正确的工具才能挖掘,且工具需要在背包中被选中才能生效。镐的等级越高,可破坏的方块种类越多:
这套“材料 → 工具 → 更高阶材料”的递进链条,构成了游戏的核心进度循环,也是 Minecraft 类沙盒玩法的经典设计。
Pycraft 的代码规模与玩法范围相对聚焦,适合作为终端游戏与沙盒系统入门的阅读材料。建议按以下顺序理解:先看 main.py 的启动与主循环,再对照 Controls 一节梳理输入处理;随后阅读背包与合成逻辑,理解配方如何驱动物品出现;最后对比 Python 渲染器与 C 渲染器的实现差异,体会性能优化与接口抽象的思路。由于 README 未披露测试与基准数据,实际性能表现需自行运行核验。
Endless Sky 是一款 C++ 编写的 2D 沙盒式太空探索游戏,玩法接近 Elite、Esc...
DDNet 是 Teeworlds 的一个模组,源自 DDRace,是一款免费的合作型 2D 平台跳...
NBlood 是用 EDuke32 引擎技术与开发思路对 Build 引擎游戏所做的逆向工程移...
micropolisJS 是把 Micropolis(开源版《模拟城市》类城市模拟游戏)移植到 J...