LÖVE:用 Lua 写 2D 游戏的开源框架
文章目录
- LÖVE:用 Lua 写 2D 游戏的开源框架
LÖVE:用 Lua 写 2D 游戏的开源框架
LÖVE 在 GitHub 上收获了 8,440 个 Star:
LÖVE 是一款免费开源的 2D 游戏开发框架,使用 Lua 语言编写游戏逻辑。它支持 Windows、macOS、Linux、Android 和 iOS 五个平台,一套代码可以跨平台运行。
对于想快速做 2D 游戏的人来说,LÖVE 的学习成本很低。Lua 本身就是一门简洁的脚本语言,配合 LÖVE 提供的 API,几十行代码就能跑起一个窗口并绘制图形。不需要配置复杂的工程文件,也不依赖庞大的编辑器,写完代码直接命令行运行。
LÖVE 的底层依赖包括 SDL3、OpenGL 3.3+、OpenAL、Lua/LuaJIT、FreeType、harfbuzz、ModPlug、Vorbisfile、Theora 等。图形方面支持 OpenGL、OpenGL ES、Vulkan 和 Metal 多种渲染后端,覆盖面比较广。音频通过 OpenAL 处理,支持常见音频格式的播放。
用 LÖVE 开发游戏的基本结构很简单:定义一个 love.load 回调做初始化,love.update 处理每帧逻辑,love.draw 负责绘制。框架会自动管理主循环,开发者只需要关心游戏逻辑本身。输入处理、窗口管理、文件读写这些基础功能都已经封装好了。
项目的文档托管在 LÖVE 官方 wiki 上,涵盖了所有 API 的说明和示例。遇到问题可以在论坛、Discord 或 Reddit 社区提问,社区活跃度还不错。
代码仓库中,main 分支用于开发下一个大版本,当前已发布的版本有独立分支维护。每个发布版本都有对应的 tag 和预编译二进制文件。如果想尝试最新的改动,也可以使用 nightly 构建,Ubuntu 用户可以通过 PPA 安装,Arch Linux 用户可以在 AUR 中找到 love-git 包。
LÖVE 自带了一套测试用例,覆盖所有 API,测试方式和开发者实际使用方式一致。测试文件在 testing 目录下,运行方式和普通 LÖVE 项目一样,直接执行 love testing 即可。
需要注意的是,LÖVE 项目不接受使用大语言模型或生成式 AI 技术提交的 Pull Request、Bug 报告和其他贡献。
想自己编译的话,Windows 平台参考 megasource 仓库的说明。Linux 下使用 CMake 构建,命令如下:
cmake-Bbuild -S. --install-prefix$PWD/prefix cmake--buildbuild--targetinstall-j$(nproc)macOS 需要先下载依赖库,把 Frameworks 和 shared 目录放到对应位置,然后用 Xcode 打开 platform/xcode/love.xcodeproj 编译。iOS 构建也需要 macOS 和 Xcode 环境,额外需要下载对应版本的依赖包。Android 有单独的构建仓库可以参考。
整体来说,LÖVE 适合想用轻量方式做 2D 游戏的开发者。Lua 的简洁加上框架本身的成熟度,用来做 Game Jam 原型或者小型独立游戏都比较合适。
的成熟度,用来做 Game Jam 原型或者小型独立游戏都比较合适。
