LÖVE 是什么网站?

LÖVE(love2d.org)是一个免费、开源的 2D 游戏框架官网,用 Lua 语言编写游戏,支持 Windows、macOS、Linux、Android 和 iOS。如果你会一点 Lua,或者想找一个比商业引擎更轻、更贴近代码的 2D 开发工具,这个网站就是它的下载、文档和社区入口。当前官网提供的最新版本是 LÖVE 11.5。

网站提供什么

官网本身不复杂,主要围绕四件事:

  • 下载:各平台安装包和压缩包,包括 Windows、macOS、Linux、Android、iOS,以及源码和库文件,另有旧版本存档。
  • 示例代码:几段可以直接看懂的最小示例,覆盖绘制文字、绘制图片、播放声音。
  • 社区入口:论坛、Discord 服务器、subreddit,以及 Twitter 账号 @obey_love。
  • 游戏展示:官网提到 LÖVE 被用于商业项目、game jam、原型开发等各种场景,并列出了一些例子。

授权与使用限制

LÖVE 采用 zlib/libpng 许可。按官网的说明,这意味着:

  • 使用它不需要付费。
  • 可以自由用于商业目的,没有限制。
  • 源码托管在 GitHub 上。

这是它和很多商业引擎的主要区别:没有分成、没有授权费门槛,代码也完全开放。

上手方式

官网给出的示例很短,能直接看出它的写法。比如画一段文字:

function love.draw()
  love.graphics.print("Hello World!", 400, 300)
end

画一张图片:

function love.load()
  whale = love.graphics.newImage("whale.png")
end

function love.draw()
  love.graphics.draw(whale, 300, 200)
end

播放声音:

function love.load()
  sound = love.audio.newSource("music.ogg", "stream")
  love.audio.play(sound)
end

从这几段能看出它的结构:love.load() 负责初始化,love.draw() 负责每帧绘制。更多教程在官网指向的 wiki 上。

适合谁,不适合谁

适合:有 Lua 基础或愿意学 Lua、想做 2D 游戏、希望代码可控且不想被引擎授权条款约束的人;也适合做原型和参加 game jam。

不太适合:想要可视化编辑器、拖拽式关卡设计、内置完整 3D 管线,或者完全不想写代码的人。LÖVE 是框架而不是一体化编辑器,很多功能需要自己搭或找第三方库。

遇到问题去哪

官网明确建议先去论坛提问,那里有愿意帮忙的人,同时论坛也是看别人作品和项目的地方。此外还有 Discord 服务器和 subreddit 两个即时/半即时渠道。如果你只是想先看看 LÖVE 能做出什么,直接翻论坛里的游戏和项目帖,比读文档更直观。

love2d.org