A simple resolution-handling library for LÖVE that lets you develop games with a fixed resolution while adapting to different window sizes.
Push is a resolution-handling library for the LÖVE game framework that simplifies adapting games to different screen sizes and resolutions. It allows developers to design their game at a fixed internal resolution while automatically scaling and adjusting the output to fit various window dimensions, maintaining aspect ratios and supporting features like pixel-perfect scaling and shader effects.
LÖVE developers creating 2D games who need a straightforward way to handle multiple screen resolutions and aspect ratios without managing complex scaling logic themselves.
Developers choose Push for its simplicity and focused feature set—it provides essential resolution-handling tools with a clean API, reducing boilerplate code and letting them concentrate on game content rather than display intricacies.
A simple resolution-handling library 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.
With just `push:setupScreen` and `push:start/finish`, developers can handle resolution scaling, reducing boilerplate code as shown in the setup examples.
Supports multiple modes like fullscreen, windowed, pixel-perfect, and high-dpi, allowing flexible presentation without complex configuration.
Provides built-in canvas support and allows applying multiple shaders for post-processing, simplifying advanced graphical effects with table-based shader lists.
Includes `push:toGame` and `push:toReal` functions to easily convert between screen and game coordinates, essential for accurate input handling across scaled displays.
The README explicitly states it does not have built-in support for mobile platforms, requiring manual handling for orientation changes and fullscreen initialization.
As a LÖVE-specific library, it's not applicable to other game frameworks, restricting its use to projects within that environment.
While it offers guidance like using fullscreen mode and resize listeners, it lacks advanced features such as automatic UI scaling for different mobile devices.