An infinite scrolling grid component for the Godot 3.x game engine, enabling procedural 2D worlds and parallax effects.
Infinity Grid (InGrid) is a Godot 3.x addon that provides an infinite scrolling grid component for 2D game development. It solves the problem of creating endless procedural worlds by implementing a cell recycling system that creates the illusion of infinite space while maintaining performance.
Godot developers creating 2D games with infinite or procedurally generated environments, such as infinite runners, parallax scrolling backgrounds, or expansive procedural universes.
Developers choose InGrid for its lightweight, optimized implementation specifically designed for Godot's 2D system, offering a simple API and flexible coordinate system without the overhead of more complex solutions.
Infinite grid for the Godot game engine
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements a relative movement model to recycle cells as they exit the viewport, creating a seamless infinite grid without memory bloat, as described in the 'How Stuff Works' section.
Built with only two core components (Grid2D and Cell) and a straightforward API, making it easy to integrate and customize for various infinite scrolling scenarios.
Supports custom Vector2 units for grid cells, allowing arbitrary coordinate increments to distinguish neighbors, which is highlighted in the cell units examples.
Optimized GDScript code ensures smooth operation in 2D games, as emphasized in the features list for being lightweight and fairly optimized.
RigidBody2D nodes do not work well within grid cells due to the relative movement model, as admitted in the known issues, limiting games that rely on advanced physics.
Auto cell filling is broken when more than one row or column needs adjustment in a single call, which can cause visual glitches in dynamic environments.
Grid functions must be accessed from a single thread, requiring manual synchronization like mutex locks for multi-threaded use, adding complexity to implementation.