Zoetrope is a free library for making
2D games for Windows, Mac, and Linux
with LÖVE and Lua.

Zoetrope's really easy to use...

There's no compiler or IDE to install — use your favorite text editor. Here's the equivalent of Hello World: a single blue square centered onscreen.

STRICT = true
DEBUG = true
require 'zoetrope'

the.app = App:new
	onRun = function (self)
		self:add(Fill:new{ width = 16, height = 16,
			x = (self.width - 16) / 2,
			y = (self.width - 16) / 2,
			fill = {0, 0, 255},
			velocity = { rotation = math.pi / 2 }

See the docs on how this you can make a super-simple platform game in less than 50 lines of code.

... and it also does tons of stuff.

That includes: animated sprites, basic physics, collision detection, tweens and delayed events, user input (even from gamepads!), and saving user progress. It even loads levels you create in Tiled, an open source map editor, right out of the box.

It's totally free to use, even for commercial projects, and doesn't require any plugins or extra installs for users.

Zoetrope is released under the zlib/libpng license, just like LÖVE. You can use it in whatever projects you like, and you don't even have to credit it if you are cold-hearted enough not to want to.

In order to develop a game, you need to have LÖVE installed on your computer. Once you're ready to release it, though, it's easy to create standalone .exe and .app versions of your game that have zero dependencies. See this page for details.