Skip to content

LÖVE

Lua-based game framework for making 2D games.

Self-hostedNot yet verified
Report issueDemo online
MIT★ 5600

Open the official app on love2d.org

This tool is hosted by its maintainers. Click below to open love2d.org in a new tab — it's their official demo.

Browse gaming tools →

What's next with LÖVE?

Choose how you want to get started.

Use it free

Open the official tool or demo — no account needed.

Free

Self-host it

Run the open-source version on your own infrastructure.

Open

What is LÖVE?

LÖVE is a 2D game framework built with Lua, designed for creating games across multiple platforms. It provides a runtime environment that allows developers to write game logic in Lua while leveraging built-in functions for graphics, audio, and input handling. The tool is open-source, licensed under zlib/libpng, enabling free use for commercial and non-commercial projects. Developers, indie creators, and hobbyists use LÖVE to build games for Windows, macOS, Linux, Android, and iOS. It solves the problem of requiring complex infrastructure for 2D game development by offering a lightweight, cross-platform solution with a focus on simplicity and accessibility. Its modular design and active community make it a popular choice for prototyping and small-to-medium projects.

How it works

LÖVE is an open-source framework for developing 2D games using Lua, a lightweight scripting language. It provides a runtime environment that abstracts platform-specific details, allowing developers to focus on game logic and creativity. The primary purpose of LÖVE is to enable rapid game development by offering tools for rendering graphics, playing audio, handling input, and managing game states. Its cross-platform compatibility ensures games can run on multiple operating systems without significant modifications. LÖVE supports core functionalities like drawing text and images, playing sounds, and handling user input. For example, developers can use `love.graphics.print` to render text or `love.audio.newSource` to load audio files. It also includes a built-in physics library for basic collision detection and movement.

How to use it

  1. 1Download LÖVE from its official website or repository, selecting the appropriate platform version. 2. Create a new project folder and place assets like images or sound files in it. 3. Write Lua scripts for game logic, using functions like `love.load` for initialization and `love.draw` for rendering. 4. Run the game using the LÖVE executable, which will handle compiling and executing the Lua code. Practical tips include using the built-in debugger for troubleshooting, referencing the official documentation for API details, and leveraging community forums for support.

What it can do

  • game framework

Use cases

Assumptions and limitations

Assumptions

  • source: https://github.com/love2d/love
  • license: Zlib — free to use
  • privacy: Self-hosted — you control your data

Limitations

  • Limited support for 3D graphics and complex physics simulations
  • Performance may lag on mobile devices due to Lua's interpreted nature
  • Requires basic Lua programming knowledge for advanced features
  • Lacks integrated tools for asset creation (e.g., level editors)
  • Community resources are less centralized compared to commercial engines

Understanding the result

Lua-based game framework for making 2D games.

Tool details

  • Clearly flagged when a network request is needed.
  • No account, no sign-up, and no tracking of your content.
  • Powered by (MIT).
Built with
(love2d/love)
License
MIT
Runs locally
No — requires a network request
Verification
Not yet verified
Input
Query
Output
Text
Open-source source & license

Built with love2d/love. OpenToolVault provides the discovery and browser interface while crediting the original project maintainers.

Built with
License
MIT
View source on GitHub

Open-source project

OpenToolVault is an independent directory. We are not affiliated with or endorsed by this project.

References

Frequently asked

What platforms does LÖVE support?

LÖVE runs on Windows, macOS, Linux, Android, and iOS. It provides native binaries for most platforms, with additional options for cross-compilation. Games developed with LÖVE can be distributed as standalone executables without requiring a runtime installation.

How does LÖVE handle cross-platform development?

LÖVE abstracts platform-specific details through its Lua API, allowing developers to write code that works across all supported systems. For example, input handling and file paths are managed internally, eliminating the need for platform-specific adjustments. However, developers must ensure assets are compatible with all target platforms.

How do I create a simple game in LÖVE?

Start by creating a `main.lua` file with the following code: `function love.load() -- Initialization code end function love.draw() -- Rendering code end`. Add assets like images or sounds to the project directory, then use `love.graphics.draw` or `love.audio.play` to incorporate them. Test the game using the LÖVE executable, which will automatically compile and run your Lua script.

How does LÖVE compare to Unity or Godot?

LÖVE is lightweight and focused on 2D game development with Lua, while Unity uses C# and supports 3D games. Godot offers a visual editor and hybrid 2D/3D capabilities. LÖVE lacks built-in tools for asset creation but provides greater flexibility for Lua scripting. Unity and Godot are better suited for larger projects with complex features, whereas LÖVE excels in simplicity and rapid prototyping.

What should I do if my game crashes on startup?

Check for missing dependencies, such as required libraries for audio or graphics. Verify that all assets (images, sounds) are correctly placed in the project directory. Review error logs for Lua syntax issues or missing files. If problems persist, consult the LÖVE forums or GitHub issues page for troubleshooting guidance.

Spotted something wrong with LÖVE, or want to maintain it? See how to help.