Ripples – Making the World Fiddle-able


To learn more about the project take a look here.

I have spent the last couple of months redoing all the art in the 2D oblique world, previously at 16px, to 48px resolution. I intend to put together a video comparing the two side by side, but in the meantime, this is a more focused look at another improvement I have been working on.

My first play-tester had a go at the current Ripples on a Dark Sea development build. They immediately started prodding and poking every little thing in the world, and wanted to know why they couldn’t open cupboards or turn on the stove.

As a cozy narrative-focused game, where traditional combat is taking a back seat, its going to be important to spark joy from other parts of gameplay. So as a test of the concept, I have spent some time making (nearly) every single item in the Player’s starting location interactive.

Have a look here (you might have to manually set to HD, for me it was showing a low res version for a while before it switched up):

The TileMapLayer system in Godot really didn’t support much of this built in. Rather than having to break everything out into their own scenes (prefabs) and placing them that way, I decided to build a Godot plugin to allow setting it up within the framework of the existing TileSet / TileMapLayer system. It’s early days and it needs a lot of work, but I hope to eventually contribute it back to the community Godot Asset Library,

This is the custom Properties dock:

I had need for running a one off animation, and toggling a container to open, so those are the two available property types in the project.

There are some limitations that I’d love to solve:

  • The EditorInspector used at the right is pointing at a Resource with a single property of type Array[TilePropsTileProperty]. As a result you see a collapsed array editor when you click a tile and have to expand it. I suspect to get a better Dev experience I will have to do a custom UI for the array, and embed EditorInspectors pointing to the individual TileProperty instances.
  • The nested EditorInspectors for complicated data structures isn’t exactly user friendly. I guess for a better experience e.g. when setting up an animation, a custom editor control is called for.
  • In an ideal world it would be integrated into the TileSet tab. I don’t think there are really hooks to do this without making everything extremely brittle. BetterTerrain also has a separate tab to solve a pretty similar problem – which makes me think there isn’t a good way around it.

Discover more from Serpentis Corp.

Subscribe now to keep reading and get access to the full archive.

Continue reading