LoveZero is a cross-engine framework inspired by Pygame Zero, designed to run seamlessly on Love2D, Lutro, and Love Potion. It abstracts away boilerplate and engine-specific quirks so you can focus on making games!
- Cross-Engine Compatibility: Automatically detects the underlying engine and hooks into the correct game loop safely.
- Screen Module: Pygame Zero-style drawing primitives (
lz.screen.fill,lz.screen.draw.rect,lz.screen.draw.text). - Clock Module: Easy timers (
schedule_interval,schedule_unique) and smooth tweening animations (animate). - Actor Model: Simple entity management (
lz.Actor) with automatic image loading and AABB collision. - IDE Support: Fully typed via Sumneko LuaLS (
lovezero.luaand.vscodesettings) for robust autocomplete and intellisense.
Drop the lovezero/ folder into your project directory.
Check out the examples/trivial folder for a basic moving box example.
You can run this example using Love2D from the repository root:
love examples/trivialCheck out the examples/nest_trivial_3ds folder for a basic moving box example running with Nest configured to emulate/target a Nintendo 3DS screen.
You can run this example using Love2D from the repository root:
love examples/nest_trivial_3dsCheck out the examples/nest_trivial_switch folder for a basic moving box example running with Nest configured to emulate/target a Nintendo Switch screen.
You can run this example using Love2D from the repository root:
love examples/nest_trivial_switchLoveZero includes a headless pure-Lua test suite to validate internal logic without needing a graphical environment.
# Ensure luajit is installed
chmod +x test.sh
./test.sh- Character assets provided by the amazing Kenney Assets from the New Platformer Pack.