Greedy Slime by irwatts

[raw]
made by irwatts for LD 43 (COMPO)

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. GreedySlime0Small.png GreedySlime1Small.png

Ratings

Given 7🗳️ 7🗨️

Feedback

blobo
04. Dec 2018 · 01:52 UTC
I love the look of the slime! Heads up though, you only need about 16 coins to multi jump as high as the doors. you can jump in air.
patvanmackelberg
04. Dec 2018 · 04:11 UTC
Very cool game, like blobo said though it was easy enough to exploit your levels! It was still pretty fun :P
jimmothysanchez
04. Dec 2018 · 04:25 UTC
You did a nice job on the slime. Looks great.
CodeKim
05. Dec 2018 · 02:27 UTC
As this is more of an experiment in tool usage and less of a game I'm going to treat it as such (Because collission issues and exploits are boring). I'm really interested in how you got the slime so.. slimey. I guess. It looks amazing, and the way coins pile up inside it is great. I got some spazzy behaviour when doing quick movements which I am sure you will figure out. Don't know if these are visible at 60hz but I got them at 144hz. All in all a very interesting experiment and I am excited to see wheere you take this slime in the future. Nice job and gl!
🎤 irwatts
05. Dec 2018 · 04:14 UTC
@blobo Thank you! I intended for you to be able to jump in the air, but bypassing the doors is a pretty funny oversight!

@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.