Nucleate - 2025-05-05

I’ve been experimenting with shifting some of the artwork from 2D to 3D, mainly for environmental stuff like landscapes and the overworld, using Blender. The current 2D workflow with Aseprite and hand-drawn sprites in Unity works fine, but I want to figure out when it makes sense to use 3D assets without losing that hand-crafted feel. I’m still working on a rule set for that, but it’s tricky balancing the two styles.

On the technical side, I tried Blender’s auto path system to create grid-based paths using Bezier lines with some randomized noise. I’m instancing tiles by grid coordinates, but rotation and height in 3D space are causing headaches. I’m also trying to classify points as ramps or not based on their z-coordinates, but adding height complexity could blow up the tile count from 13 types to over 200, which feels unmanageable. For now, I’m pushing the grid-based pathing approach, but I’m ready to switch if the logic gets too complicated.

I tested Blender’s geometry nodes for procedural generation, especially for grass and tufties, but hand-crafted assets still look better and are faster to make. I’m experimenting with semi-procedural grass inspired by Studio Ghibli, but the grass colors blend too much for a pixel art style, so I quantized the colors down to five shades each. The grass blades might need to be chunkier to fit the style better. For vegetation, I’m thinking about moving edge detection from Blender’s compositor to shaders since hard edges don’t really suit plants.

Rocks have been a pain. Using the decimate node too much made them too pointy. I found a low-poly rock method where you assemble cubes or rectangles on a grid, merge them, then decimate, which I plan to try soon. Not sure yet if this method works well for orthographic views or just isometric tiles. I also tried Blender’s compositor for rock rendering instead of shaders; individual rocks look okay, but when combined in a scene, they don’t mesh well and still look too sharp. Procedural rocks ended up blobby and overlapping, so hand-placing might be necessary even if it’s slow. I improved rock textures by combining low-poly assets with displacement using noise textures and decimation, which helped a bit.

For terrain, I’m using a grid-based mesh for rough shapes and adding auxiliary meshes for details like overhangs, bridges, and caves. I’m working on beach terrain, cave entrances, and rocky outcroppings, hoping to finish those this week. I’m also considering adding a subsurface modifier to make the ground look more organic, but I’m not sure how to keep the original height or discrete height changes intact. Planning to prototype that on flatter terrain first.

There’s a Blender bug that prevents redrawing of paths, which is annoying and I need a workaround until it’s fixed.

On the gameplay side, I’ve been thinking about a dynamic difficulty system for a Metroidvania-style game. Balancing exploration, backtracking, and secrets without punishing players for dying is tough. I’m considering a probability index that tweaks enemy movesets based on player progress, or scaling enemy health or stamina, but I’m wary of those approaches. Another idea is making consumables more valuable or rare resources easier to find as the player advances. Using the number of deaths per boss as a trigger for difficulty changes is on the table, but I’m still figuring out the best flags or triggers. I want the difficulty adjustments to be subtle and invisible to players, more like a reward than a punishment.

On the business side, I decided to form an LLC for the game development, which should cost around $100 a year plus some extra expenses under $200. My wife supports the idea, and I’m planning to start filing in the next couple of weeks with a goal to have it set up by mid-summer. I still have a lot of questions about the setup, management, and logistics of running an LLC, so that’s something I’ll need to figure out as I go.

Overall, I’m still figuring out the best pipeline for mixing 3D and 2D assets without losing the hand-crafted look, and I’m leaning toward focusing on hand-crafted assets over procedural generation for now to keep progress moving. The rock workflow and terrain modifiers are next on my list to experiment with, along with refining the grass and vegetation. The gameplay difficulty system is still pretty conceptual, and I need to test different triggers and effects to see what feels right. The LLC stuff is a new area for me, so that will be a separate learning curve.

Two-Line Takeaway

Key step forward

The most important forward progress step is experimenting with blending 3D and 2D assets while focusing on hand-crafted elements to maintain the desired aesthetic.

Significant barrier or risk

The most important barrier or risk is managing the complexity and scalability of 3D asset logic, such as tile variations and procedural generation, which could become unmanageable and slow down development.

Keynotes

Decisions & Observations

  • Decided to experiment with blending 2D hand-drawn sprites and 3D assets, focusing on environmental elements while maintaining a hand-crafted feel; developing a rule set for when to use each style.
  • Decided to prioritize hand-crafted grass and vegetation assets over fully procedural generation due to quality and speed; experimenting with semi-procedural grass color quantization and blade chunkiness to fit pixel art style.
  • Improved rock textures by combining low-poly models with displacement and noise textures; will continue refining this approach.
  • Decided to form an LLC for game development with a target setup by mid-summer; needs to learn about LLC setup, management, and logistics as part of this process.

Issues & Next Steps

  • Needs to resolve technical challenges with Blender’s grid-based pathing system, including rotation, height classification, and managing tile count complexity.
  • Will continue pushing grid-based pathing but ready to switch approaches if logic becomes unmanageable.
  • Planning to move edge detection for vegetation from Blender compositor to shaders to better suit plant visuals.
  • Will try a new low-poly rock creation method involving assembling and merging cubes before decimation to avoid overly pointy rocks; unsure if it suits orthographic or isometric views.
  • Needs to address issues with rock rendering in scenes where combined rocks look too sharp or blobby; considering hand-placing rocks despite slower workflow.
  • Working on grid-based terrain mesh with auxiliary meshes for details like overhangs and caves; aiming to finish beach terrain, cave entrances, and rocky outcroppings soon.
  • Planning to prototype subsurface modifiers on flat terrain to add organic ground look without losing discrete height changes.
  • Needs a workaround for a Blender bug that prevents path redrawing until it is fixed.
  • Considering a dynamic difficulty system for a Metroidvania-style game that subtly adjusts challenge based on player progress and deaths; exploring triggers like enemy moveset tweaks, health scaling, and resource availability.
  • Will test different difficulty adjustment triggers and effects to achieve subtle, player-friendly balancing.
  • Prioritizing refining rock workflows, terrain modifiers, grass, and vegetation next to advance the art pipeline while balancing 2D and 3D assets.

Generated with Nucleate by Watchlight Studio — distilled from full transcription.