A flexible camera system for LÖVE games with scaling, rotation, and coordinate transformation.
Gamera is a camera system for the LÖVE 2D game framework. It allows developers to create and manage in-game cameras with features like panning, zooming, rotation, and coordinate transformations. It solves the problem of handling complex camera logic in 2D games by providing a simple yet powerful API.
LÖVE developers building 2D games who need a reliable camera system for scrolling, zooming, or rotating game views.
Developers choose Gamera for its ease of integration, boundary-aware transformations, and performance optimizations like visible area callbacks, making it a go-to solution for camera management in LÖVE projects.
A camera system for LÖVE
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Automatically clamps camera within world borders using methods like setPosition, preventing empty space from being shown and ensuring a polished view.
Provides visible area parameters in draw callbacks (e.g., l,t,w,h), allowing developers to skip rendering off-screen elements and improve frame rates.
Includes toWorld and toScreen methods for easy mouse-to-world interaction and minimap implementation, simplifying game logic.
Offers a minimal interface with methods like setScale and draw, making it straightforward to integrate for common camera needs.
The camera always enforces world boundaries with no option to disable clamping, forcing workarounds like expanding the world with setWorld for desired borders.
To avoid seams, developers must add pixel borders to tiles and use external libraries like anim8 for quad management, adding overhead to asset preparation.
Rotating the camera with setAngle automatically adjusts scale and position to hide borders, which can be unexpected and requires manual world expansion for fine control.