https://github.com/donitzo/godot-pixel-rope
Pixelated (and smooth) Verlet rope addon for retro Godot games.
https://github.com/donitzo/godot-pixel-rope
godot godot4 physics physics-2d pixel-art retro rope
Last synced: 5 days ago
JSON representation
Pixelated (and smooth) Verlet rope addon for retro Godot games.
- Host: GitHub
- URL: https://github.com/donitzo/godot-pixel-rope
- Owner: Donitzo
- License: mit
- Created: 2026-05-24T00:17:17.000Z (24 days ago)
- Default Branch: main
- Last Pushed: 2026-05-31T16:23:06.000Z (16 days ago)
- Last Synced: 2026-05-31T18:18:13.642Z (16 days ago)
- Topics: godot, godot4, physics, physics-2d, pixel-art, retro, rope
- Language: GDScript
- Homepage:
- Size: 250 KB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
o## Demo
The [demo project](https://donitz.itch.io/godot-pixel-rope) is hosted on Itch.io and shows a bunch of different rope-like effects.
# Godot Pixel Rope

## Description
This project contains a pixelated Verlet-driven rope addon for Godot. The ropes were created specifically for pixelated retro graphics, as they are drawn pixel by pixel instead of as connected quads. You can alternatively render the rope as smooth quads.
The addon also includes helper functions and more advanced features such as world collisions, cutting, and pinning control points.
**Note**: The ropes are by default supersampled by two pixels per world-pixel, to compensate for stretching. Reduce `pixels_per_unit` to 1 or less when drawing smooth ropes.
## Instructions
The demo project is available in the `src` directory. The only files you need to copy into your own project are in the `pixel_rope` directory.
The demo project shows how to configure the ropes in different ways. The inspector variables are documented, so setup should hopefully be fairly self-explanatory.

After you hook up the ropes to the nodes, you will be able to see the rope connections in the editor.

You can customize the `pixel_rope.gdshader` shader to add your own effects in the fragment shader.
Use the `cut_rope`, `cut_rope_at_position`, `pin_rope`, `pin_rope_at_position` methods to cut and pin the rope.
`rope_length` can be edited at runtime, causing the mesh to be rebuilt when required.
Extend the `PixelRopeController` class, or edit `simulate_points` in the `PixelRope` class directly, if you want to control the rope yourself.
## Feedback & Bug Reports
If there are additional variations you would find useful, or if you find any bugs or have other feedback, please [open an issue](https://github.com/Donitzo/godot-pixel-rope/issues).