LÖVE is an awesome framework you can use to make 2D games in Lua. It's free, open-source, and works on Windows, macOS, Linux, Android, and iOS.
We use our wiki for documentation. If you need further help, feel free to ask on our forums, our Discord server, or our subreddit.
We use the 'main' branch for patch development of the current major release, and therefore it should not be considered stable. There may also be a branch for the next major version in development, which is named after that version.
We tag all our releases (since we started using mercurial and git), and have binary downloads available for them.
Experimental changes are developed in a separate love-experiments repository.
Files for releases are in the releases section on GitHub. The site has links to files and additional platform content for the latest release.
There are also unstable/nightly builds:
- Builds for some platforms are automatically created after each commit and are available through GitHub's CI interfaces.
- For ubuntu linux they are in ppa:bartbes/love-unstable
- For arch linux there's love-git in the AUR.
The test suite in testing/
covers all the LÖVE APIs, and tests them the same way developers use them. You can view current test coverage from any 12.0-dev action.
You can run the suite locally like you would run a normal LÖVE project, i.e.:
love testing/main.lua
See the readme in the testing folder for more info.
You can contribute to the test suite here
The best places to contribute are through the issue tracker and the official Discord server or IRC channel.
For code contributions, pull requests and patches are welcome. Be sure to read the source code style guide. Changes and new features typically get discussed in the issue tracker or on Discord or the forums before a pull request is made.
Follow the instructions at the megasource repository page.
Run platform/unix/automagic
from the repository root, then run ./configure and make.
$ platform/unix/automagic
$ ./configure
$ make
When using a source release, automagic has already been run, and the first step can be skipped.
Download or clone this repository and copy, move, or symlink the macOS/Frameworks
subfolder into love's platform/xcode/macosx
folder.
Then use the Xcode project found at platform/xcode/love.xcodeproj
to build the love-macosx
target.
Building for iOS requires macOS and Xcode.
Download the love-apple-dependencies
zip file corresponding to the LÖVE version being used from the Releases page,
unzip it, and place the iOS/libraries
subfolder into love's platform/xcode/ios
folder.
Or, download or clone this repository and copy, move, or symlink the iOS/libraries
subfolder into love's platform/xcode/ios
folder.
Then use the Xcode project found at platform/xcode/love.xcodeproj
to build the love-ios
target.
See readme-iOS.rtf
for more information.
Download the ios-libraries
zip file corresponding to the LÖVE version being used from the Releases page,
unzip it, and place the include
and libraries
subfolders into love's platform/xcode/ios
folder.
Then use the Xcode project found at platform/xcode/love.xcodeproj
to build the love-ios
target.
See readme-iOS.rtf
for more information.
Visit the Android build repository for build instructions.
- SDL2
- OpenGL 2.1+ / OpenGL ES 2+
- OpenAL
- Lua / LuaJIT / LLVM-lua
- FreeType
- ModPlug
- Vorbisfile
- Theora