Greedy Slime by irwatts
You play as a greedy ball of slime, collecting coins and navigating through the gates of a rocky world. Some coins are located high up, but jumping consumes coins.
This was a fun experiment in raymarching. The slime ball character is a simulated skeletal mesh with the bone locations set as material parameters. The visual geometry is actually just a sphere that encapsulates the skeletal mesh, with a custom raymarch shader that reads the location parameters. This provides a fun metaball effect. There are however potential visual sorting bugs when the render sphere intersects a foreground object. Performance can also sag when the render sphere takes up too much screen space.
A decent chunk of dev time was spent noodling with the shader, so both level design quality and audio suffered a bit. (There is no audio.)
The slime may be greedy, but it does look soft and gelatinous.

| Source Code | https://irwatts.itch.io/greedy-slime |
| Windows | https://irwatts.itch.io/greedy-slime |
| Original URL | https://ldjam.com/events/ludum-dare/43/greedy-slime |
Ratings
| Given | 7🗳️ | 7🗨️ |
@patvanmackelberg Thank you for playing! Exploiting the levels was unintended but is pretty fun to do anyway. I overscoped the size of the level on this one for sure!
@jimmothysanchez Thanks! I am pretty happy with the look of the slime. :)
@codekim Thank you for noticing the coins! I did notice some spazzy behavior myself but couldn't debug it in time. The slime is mostly rendered in a custom material node containing a raymarch shader. The custom node takes the all the bone locations as inputs and renders them as a bunch of spheres unioned together with an smin function. Then it calculates analytical normals, and uses that information to light it. Lighting, fresnel, and opacity is packed and output back into the standard UE4 material for coloring and refraction. The brute force method I used to populate the bone locations is far from ideal however. If you look in the source, the material M_SlimeRaymarched contains it all.