Bare bones starter project for love2d game development.
Find a file
2026-09-12 11:36:09 -06:00
states initial commit 2026-09-12 11:36:09 -06:00
.gitignore initial commit 2026-09-12 11:36:09 -06:00
class.lua initial commit 2026-09-12 11:36:09 -06:00
conf.lua initial commit 2026-09-12 11:36:09 -06:00
LICENSE initial commit 2026-09-12 11:36:09 -06:00
main.lua initial commit 2026-09-12 11:36:09 -06:00
push.lua initial commit 2026-09-12 11:36:09 -06:00
README.md initial commit 2026-09-12 11:36:09 -06:00
StateMachine.lua initial commit 2026-09-12 11:36:09 -06:00

Love2D Starter

Bare bones Love2D project: title, play, and win screens wired through a tiny state machine, with resolution scaling included. Clone it, run it, make it yours.

Quickstart

git clone https://github.com/findingfocus/love2d-starter.git my-game
cd my-game
love .

You need Love2D installed (11.4+). No other dependencies.

Controls

Action Key
Start / Play again Enter
Win (from play) W
Quit Esc

Make it yours

  • conf.lua — game title and window size.
  • states/PlayState.lua — your gameplay goes in update and render.
  • states/TitleScreenState.lua — title screen.
  • states/WinState.lua — win screen.
  • main.lua — Love2D callbacks and state machine wiring. You rarely need to touch this.
  • class.lua, push.lua, StateMachine.lua — vendored helpers. Read them once, treat them as black boxes.

Troubleshooting

love: command not found — on Mac the terminal doesn't know about Love2D yet. Either run it with open -a love ., drag your project folder onto love.app, or add it to your PATH:

export PATH="$PATH:/Applications/love.app/Contents/MacOS"

Keep learning

New to game dev? Follow the Start Here path on GameDev Garden — it takes this exact template from zero to a shipped game.

Ship it

See the GameDev Garden distribution guide for packaging to web, desktop, and Steam.