blitwizard is a free (open-source) 2d game engine designed for use with Lua.

It offers simple access to graphics, sound and keyboard/mouse input and realtime physics. Need an engine for rapid prototyping? You found it.

a blitwizard screenshot

Screenshot of a physics playground in blitwizard

If you want to use blitwizard, you might be interested in:

If you want to help developing blitwizard, you might want to check out the GitHub repository. The engine itself is written in C and uses the SDL 2 library.


linux logo Supports all large desktop platforms: Windows, Mac OS X, Linux. Android support is in development.
icon representing video display features 2d blitting with full alpha support (per pixel and per surface), scaling/rotation and with various renderers (opengl, direct3d, software, ..)
icon representing image-related features Threaded (asynchronous) loading of textures which allows streaming them in the background
icon representing audio features Threaded sound playback supporting those audio formats: .ogg, and when FFmpeg is available: .mp2/.mp3/.mp4, .wma, .wav and many others
lua logo Extended Lua 5 base library with new additional functions for string manipulation, listing folder contents and more
gear icon representing generic technical features Fixed-step game logic loop suited for implementation of repeatable/deterministic and frame rate-independent game logic
icon representing networking features Networking with easily usable network streams with automatic IPv6 support and completely asynchronous callback-based interface (including asynchronous host resolution). Support for various popular protocols, like HTTP (web requests) or IRC (realtime text chat) included

Get started

Check out the documentation section and the user forum! There is also a chatroom on IRC, although people might not be always around. Connect to irc.eloxoph.de and join #blitwizard, or click here to join the chat with your web browser.

Want to help?

The source code is on github.com! Suggestions, bug reports and patches are welcome. The blitwizard engine is mainly written in C (with some tiny C++ bits), so you should have some C knowledge if you want to contribute some code.


Like the project and want to help out, but you're not much of a C programmer? You can support the lead developer of blitwizard financially if you want to:

This will allow me (click for info) to buy more sweeties and keep myself motivated with the project :-), as well as keeping this webserver up and running!