Pliant: 12 Sprite Mesh Deformers for GameMaker
A downloadable asset pack
Pliant is 12 sprite mesh deformers for GameMaker, in pure GML: flags ripple, jellies wobble, grass sways and a struck sprite shatters into its own pieces.
Use it in unlimited games, commercial or free, with no royalties.
What is inside
12 deformers · 6 presets · 4 GML scripts · 1 demo room with 12 pages · Pliant.yymps · raw readable source
- The interior of the sprite moves. One line subdivides a sprite into a vertex buffer grid, then deformers stack on it like modifiers, every frame, with the sprite's own texture.
- Twelve deformers:
wave · bend · twist · taper · squash · sway · turbulence · pinch · ripple · jelly · lattice · shatter. Offsets add, so a flag is sway + wave + turbulence. - Six presets: flag, grass, jelly, breathe, underwater and shockwave.
- Springs you can hit again. A spring holds position and velocity, so a second hit mid wobble adds to the first instead of restarting it. Springs are sub stepped, so an alt tab stall cannot NaN the mesh.
- Shatter with real shards. Every shard keeps its own piece of the texture, spins about its own centre and falls on a gravity arc.
- The same result every run. Turbulence and shatter hash their inputs, so a death animation replays identically.
Bend, twist and the free form 3x3 lattice on one sprite.
The API, in five lines
mesh = new PliantMesh(spr_flag, 18, 22);
mesh.add(PLI_SWAY, { amp: 6 });
mesh.add(PLI_WAVE, { amp: 8, freq: 2.2, speed: 1.4 });
mesh.step(delta_time / 1000000);
mesh.draw(x, y);
What it costs
Measured on a mid range desktop, VM runtime, worst case with every mesh rewritten every frame: one full density 792 triangle mesh costs about 6.6 ms a frame, two hold 60 fps, and ten 8x8 meshes hold about 55 fps. A static stack is rebuilt once and then costs almost nothing per frame. Use the live stacks on hero sprites and moments: the boss, the flag, the pickup, the shatter.
Works with
GameMaker 2024 or newer, built and package verified on runtime 2024.14. No native extension, no DLL, no dependency. Import Pliant.yymps through Tools, then Import Local Package, and press Play on the demo room, where each page sets one deformer beside plain draw_sprite.
Everything is namespaced pli_ and PLI_. UVs come from sprite_get_uvs, so trimmed sprites on a texture page render correctly.
Licence and how it was made
Use it in as many games as you like, commercial or free, with no royalties. Do not resell or share the source files themselves.
The code was written with AI tools and tested in the engine. Images on this page come from the demo room and from an AI generated cover.
More GameMaker assets from the same studio
- Kinetic UI: animated menus, bars and gauges drawn at runtime.
- Trove: 900 item icons drawn in code, plus an animated inventory.
- Meridian: skill trees where you declare the dependencies and never type a node position.
Every GameMaker asset we make is in the GameMaker Assets collection. Ask for an asset we have yet to make on the Request Desk.
Made by Core Systems Asset Factory.
| Updated | 1 day ago |
| Status | Released |
| Category | Assets |
| Author | CSAF — Core Systems Asset Factory |
| Made with | GameMaker |
| Tags | Animation, Asset Pack, Effects, GameMaker, gml, juice, Procedural Generation, sourcecode, Sprites, vfx |
| Languages | English |
| Links | Homepage |
| AI Disclosure | AI Assisted, Code, Graphics |
Purchase
In order to download this asset pack you must purchase it at or above the minimum price of $9.99 USD. You will get access to the following files: