Goal: A window on screen running your code.

1. Install Love2D

OSSteps
MacDownload from love2d.org, drag love.app to Applications
WindowsDownload the installer (64-bit) from love2d.org, run it
Linuxsudo apt install love (Ubuntu/Debian) or download AppImage from love2d.org

Verify: run love --version in a terminal. You should see LOVE 11.x.

TIP

Why Love2D? It’s free, tiny, stable, and ships to Windows/Mac/Linux/Web/Steam from one codebase. I document the alternatives in Beyond Love2D if you’re curious about Godot or 3D.

2. Install an editor

  • Beginner: Sublime Text + the Love2D package (via Package Control)
  • Minimal: anything that edits text files
  • What I use: Neovim + Git (see Tools for my full setup)

3. Clone the barebones project

This is the “instant start” — a runnable folder with distribution scripts included:

git clone https://github.com/findingfocus/bttf.git my-first-game
cd my-first-game
love .

Don’t want the full BTTF example yet? Make the smallest possible game instead — create a folder with one file called main.lua:

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

Then run it:

love /path/to/your/folder # love . will run in the current directory. 
# ensure your main.lua is in this folder

If you see text in a window, you’re a game developer. Keep going!

4. Project anatomy

my-game/
  main.lua    -- your game (love.load / love.update / love.draw)
  conf.lua    -- window title, size, version
  assets/     -- images, sounds, fonts
  build.sh    -- web + desktop packaging scripts

Full annotated version with state machine lives in Starter Template.

When it breaks

SymptomFix
love: command not foundClose + reopen terminal after install; on Mac, add /Applications/love.app/Contents/MacOS to PATH or just drag your folder onto love.app
Black window, nothing drawnYou need at least love.draw() in main.lua — Love2D calls it 60x/sec
Error: main.lua not foundYou pointed love at the wrong folder — point it at the folder containing main.lua, not the file itself

Next step

Continue with Lua Essentials (Path A) or Love2D Basics (Path B). Or skip ahead and build Pong.