第一人称移动
使用 W/S/A/D 键前后左右移动,鼠标控制视角,空格键跳跃,Tab 键切换飞行模式。
Torque2D · TorqueGameEngines/Torque2D
Torque2D 是 GarageGames 以 MIT 许可开源的 2D 游戏引擎,采用 C++ 编写,README 称其支持 Windows、OSX、Linux、iOS、Android 与 Web 跨平台。它包含 OpenGL 批渲染、Box2D 物理、OpenAL 音频、骨骼与精灵表动画、资源管理及类 C 脚本...
这是一个用 Python 和 Pyglet 编写的简易 Minecraft 风格演示程序,作者是 fogleman。它并非完整的游戏,而是一个以方块世界为载体的技术演示,旨在展示如何用较少的代码实现第一人称视角下的方块放置与破坏、简单地形和飞行模式等核心机制。README 中明确说明,作者希望这个项目最终能成为教育工具:孩子们喜欢 Minecraft,而 Python 是很好的入门语言,因此这个项目是一个激发孩子编程兴趣的机会。
作者还提到,代码应当变得注释完善、更易配置,让简单的修改能快速看到结果。他设想将项目发展成一个库或 API——一个可以导入、配置世界并运行的 Python 包,例如:
import mc
world = mc.World(...)
world.set_block(x, y, z, mc.DIRT)
mc.run(world)
该 API 可能包含重力、跳跃速度、行走速度等可配置参数,以及地形生成的钩子。需要强调的是,这些教学化与 API 化的内容均为作者的规划与愿景,并非当前已实现的功能。
此外,README 提到同作者另有一个用 C 和现代 OpenGL(GLSL)编写的 Minecraft 克隆版本 Craft,据称性能更好、地形生成更强,并支持将状态保存到 sqlite 数据库。
使用 W/S/A/D 键前后左右移动,鼠标控制视角,空格键跳跃,Tab 键切换飞行模式。
鼠标左键移除方块,右键创建方块;可通过数字键 1、2、3 选择要放置的方块类型,分别为砖块、草地和沙子。
程序会生成一个可供探索和改造的方块世界(README 未详细描述地形生成算法)。
按 ESC 释放鼠标,然后关闭窗口。
项目基于 Python 和 Pyglet 库实现。Pyglet 是一个纯 Python 的跨平台窗口与多媒体库,适合快速开发 2D/3D 应用。README 没有深入讨论渲染管线或地形生成算法,但从功能描述可以推断,程序涉及第一人称相机控制、方块世界的渲染与交互、简单的碰撞或重力逻辑(跳跃与飞行模式)等基础游戏编程概念。
作者在“Goals and Vision”中提出,未来代码应更易于配置,例如调整重力、跳跃速度、行走速度等参数,并可能提供地形生成钩子。这些设想如果实现,将进一步提升项目的教学价值。
README 给出了清晰的运行步骤:
pip install pyglet
git clone https://github.com/fogleman/Minecraft.git
cd Minecraft
python main.py
在 Mac OS X 上,Pyglet 可能在 64 位模式下运行有问题。README 建议先尝试以 32 位模式运行 Python:
arch -i386 python main.py
如果无效,可以将 Python 默认设置为 32 位模式:
defaults write com.apple.versioner.python Prefer-32-Bit -bool yes
该说明基于 OS X 默认 Python,在 Lion 10.7 与默认 Python 2.7 上有效,其他版本可能也适用。或者可以尝试安装支持 64 位模式的 Pyglet 1.2 alpha:
pip install https://pyglet.googlecode.com/files/pyglet-1.2alpha1.tar.gz
README 提供了安装指引:
sudo easy_install pip,或在 Linux 包管理器中查找类似 python-pip 的包;Windows 可先安装 Distribute 再安装 Pip(链接指向 Stack Overflow 的 .MSI 安装程序)。brew install git;Windows 或 Linux 可参考 Pro Git 书籍中的安装章节。更多关于安装 Python 和其他提示,可查看项目的 wiki。
这个项目代码量较小,结构清晰,适合作为 Python 入门和游戏编程启蒙的示例。初学者可以尝试修改方块类型、调整移动速度或跳跃高度,观察运行结果的变化,从而理解参数配置与游戏逻辑的关系。由于作者明确表达了将其发展为教育工具的意愿,读者也可以参考 README 中的 API 设想,思考如何将现有代码重构为更模块化、可配置的形式。
需要注意的是,项目当前功能有限,且依赖较旧的 Pyglet 版本,在不同平台上的运行可能需要额外配置。对于希望获得更完整 Minecraft 体验的读者,可以关注作者用 C 和 OpenGL 编写的 Craft 项目。
Frogatto & Friends 是一款 2D 横版动作冒险游戏,主角是一只青蛙;开发团队...
Fish Folk: Jumpy 是一款鱼类像素画风的战术 2D 射击游戏,使用 Rust 语言与...
Hypersomnia 是 TeamHypersomnia 用 C++ 从零编写的一款多人俯视角(top-down...