Gareth Williams
banner
gareth.pw
Gareth Williams
@gareth.pw
Legend of Etad and Tau for @playdate. Senior dev on Banter @SideQuestVR. Jarheads coming to Steam one day probably. Made PicaVoxel for Unity. Dysnomia on XBLIG. He/him. @garethiw on most socials.
An actual gameplay loop!

I added a ton of stuff today that I didn't write much about, so I'll mention some of that tomorrow 😴

#gamedev
September 6, 2025 at 11:20 PM
I *will* get on with the actual game, but ~~~
September 6, 2025 at 8:30 PM
September 6, 2025 at 6:36 PM
Started working on gamestate, but then got sidetracked making the levels load in and out with easing:

#gamedev
September 6, 2025 at 3:40 PM
I added some extra geometry to the side of the blocks to allow for an added "ledge" texture that doesn't skew too badly with the diagonals. Unfortunately, the texture itself is very programmer art 🫠

Oh, I also have an overlaid grid so you can still clearly make out the level topology.
September 6, 2025 at 12:42 PM
While the monochromatic Marble Madness style grid undoubtedly looked great in the 80s, I'm aiming to lean into a cosy-diorama look. So I cooked up a triplanar shader and dug through all my unloved Asset Store purchases to find some textures.

#gamedev
September 6, 2025 at 12:42 PM
And here's a timelapse of putting together a simple level with all the editor functions I have so far. I imagine I'll need to add multi-select if I start making levels in earnest.

This level has a tricky but faster shortcut. I imagine the game will have fastest times per level!
September 5, 2025 at 3:39 PM
Used Render Objects combined with a new Shadergraph shader for this occluded ball effect. The renderobject simply swaps out the shader for anything on a given layer with a depth test.

This was far easier than digging into code to put together a two-pass shader, which SG doesn't have UI for.
September 5, 2025 at 2:28 PM
Oh, I forgot that I also added a URP decal projector to do the guide shadow on the ball, and turned off its shadow casting on the main light.
September 5, 2025 at 2:02 PM
Made the ball intto this golden marble thing, and then added a squished torus as an end-point portal thing. I'll do more with that later.

Added an object placement cursor mode to the editor, then a quick test mode switch.

Also added some bounce to the ball, which feels quite fun!
September 5, 2025 at 12:43 PM
Added a modifier key to manipulate an edge or point separately from its neighbours. Got saving and loading working too.
September 5, 2025 at 11:31 AM
One small detail I noticed: what you would expect to be a pyramid shape formed by raising a single point, isn't - because of the uniform triangulation of the faces.

I can't think of an automatic solution to this that would be correct for all cases, so I simply added a button to swap the tris:
September 5, 2025 at 10:55 AM
Edge and point manipulation. Make a game more like remake Blender amirite?!

I like how the AO kicks in as the angles increase, should make the ramps pop when everything's textured.
September 5, 2025 at 10:44 AM
Didn't take long for me to get back on my bullshit, but this game's gonna need levels and that means an editor!

So I'm now generating the level geometry and I've got this 10x10 grid I can toggle and raise and lower the blocks in.

I'm using the new (to me) GPU buffer mesh api for this and I ❤️ it!
September 4, 2025 at 9:27 PM
I'm feeling like I wanna do something isometric like Madness, so I've switched to ortho and rotated 45. Of course, I also had to rotate the input axis so that north is still up and whatnot.
September 4, 2025 at 5:42 PM
So I spun up a project last night and got the basics in:
September 4, 2025 at 4:47 PM
Having an absolute sit in the garden this afternoon.
June 15, 2025 at 4:20 PM
April 18, 2025 at 2:22 PM