Bare bones starter project for love2d game development.
- Lua 100%
| states | ||
| .gitignore | ||
| class.lua | ||
| conf.lua | ||
| LICENSE | ||
| main.lua | ||
| push.lua | ||
| README.md | ||
| StateMachine.lua | ||
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 inupdateandrender.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.