Dillo
dillogamedev.bsky.social
Dillo
@dillogamedev.bsky.social
Game dev artist & JRPG fan who loves doing retro environments, pixel art, lighting, effects, and more. Currently between projects, looking to contribute pro bono on something cool. DM me if interested!
Very cool! Looks like you made the right call with 16 ppm in that style. The pixel art foundation still comes through nice and clear. :)
April 10, 2025 at 4:28 PM
32 pixels per meter. I tried to maintain that pretty consistently for this kit. With these metrics, I could get a 4m run in a 128x128 atlas, and 4 variations of that in a 256x256. That way you can mix things up enough in 4m increments that it doesn't get overly repetitious.
April 10, 2025 at 3:30 PM
Every vertex is initialized to a default color, which is tunable. If there is no data saved for the vertex's position, it will use that instead. The default color is analogous to ambient environment color in normal lighting pipelines.
April 5, 2025 at 9:12 PM
It's the latter. Whenever you apply vertex colors, the component iterates through each mesh vertex and looks up its color by position, then sets the array value at that index correspondingly. So the shader is agnostic to vertex positions - all it cares about is a single Vector4[].
April 5, 2025 at 1:34 PM
My bad! I didn't realize I had my settings this way... If you try again it should work now. :p
April 4, 2025 at 10:38 PM
Sure, feel free to send a DM!
April 4, 2025 at 10:22 PM
The modular set used here is based on a study I did on the high-detail pixel art style used in Vagrant Story. If the atmosphere feels familiar, it is probably that. :)
April 4, 2025 at 10:19 PM
You could think of it as using two Photoshop-like "layers" - a base color which you set across the scene, and a raw vertex color set by the paint tool. The final vertex color lerps between the two based on the alpha of the latter.
April 4, 2025 at 10:07 PM
The vertex data is saved by (approximate) position relative to the mesh origin, rather than vert index, so it's resilient to re-exporting after changes. This was pretty important, since it would be unusable long-term if the vert color data broke whenever you re-exported.
April 4, 2025 at 10:04 PM
I wanted to support a modular workflow, but this is difficult for vertex colors since those are normally set directly in the mesh. Instead, I wrote a component that sets a MaterialPropertyBlock on the mesh, which is populated with an array of vertex colors. The shader then references the array.
April 4, 2025 at 10:01 PM
Thank you for the kind words! Unfortunately, the game is on pause right now, as I wasn't able to find other developers to help see it through. But I would love to return to it someday, and I'll continue to post more legacy screenshots from its development!
March 20, 2025 at 3:11 PM
Thank you! That style is very near and dear to my heart, so they're a lot of fun to do.
March 20, 2025 at 12:38 AM