Hotch Potch House Blog: Aug, 2025

●Level Design

At long last, full-fledged level design has begun!
Level design is the process of actually placing the 3D assets created by background artists and building up the world.
Before making a game, I thought, “Eh, you just plop down a bunch of 3D models, right?”
But once I tried doing it myself, I realized there’s a lot more to think about (though that’s true of most things in life).

For Hotch Potch House, the single most important thing is to make the world feel exciting, so everything revolves around that.
What’s waiting around the next corner? Is there a hidden passage tucked away here? It’s all about creating a sense of wonder.
On top of that, I have to make sure the experience is smooth and stress-free for players by, for example, not placing objects too tight so they don’t make the camera jitter, or clearly separating areas you can reach with a normal jump from those that require a high jump.

I also need to create tools for placement.
If I had to place each book mesh one by one to make a bookshelf, the sun would set before I finished—and performance would be terrible.
Whenever I need to line up lots of identical objects, I always use Instanced Static Meshes (ISM) to give the computer a break.

ISM is basically an efficient version of SM.
If for example I want to line up 150 copies of The Very Hungry Caterpillar, using SM would be like processing “Caterpillar + Caterpillar + Caterpillar + …”, but with ISM it’s just “Caterpillar ×150.”
Much kinder to the computer.

I built a bunch of tools like that and put together a short video of some highlights.
Though maybe it wasn’t quite worth making into a video… but anyway.


So how much progress have I actually made? As of late August, basically none!

Work’s been busy (excuses, excuses).

I’ll push harder in September.

●Area System

In games with large spaces, it’s common to split them into areas and load/unload them as needed to boost performance.
If the player can’t see an area, it’s not needed, so we unload it to lighten the computer’s load.

In Hotch Potch House, the world is divided room by room.
UE5 uses a feature called Level Streaming and there are a lot of handy tools for that, but the problem is that when you unload and then reload an area, it reverts to its original state.
That means treasure chests you opened re-close, enemies you defeated respawn, and so on.

To fix that, I pulled my old save system out of the closet and tuned it up to actually work.
Before making a game I thought, “Saving is a given, right? Easy peasy.” But once I tried making one myself, I realized it’s no time to be “easy peasying” around.

Save systems aren’t very fun to explain, so I’ll skip the details. Sorry, save system.

By the way, I teach UE5 at a vocational school, but since my classes are video-focused, I don’t have to worry about load/unload or save systems. That makes things much easier.
But of course, it’s exactly this kind of hassle that makes game development so much fun.

Anyway, with all these parts combined, the area system is basically finished. From the outside, currently the main visible difference is that the collectibles shown in the upper right change as you move between areas. I made a video showing how it looks.

Though maybe it wasn’t worth making into a video… but anyway.

●Boss Battle

Last month I was on the fence about switching to State Trees, but since updating to UE5.6 looks a little risky, I’ve decided to put it on hold.

As a result, the boss battle implementation is also postponed.
I’ll almost certainly switch to ST eventually, so if I build the boss fight in BT now it would just end up wasted effort.

I’ve already built out the ST logic in another project and it runs nicely. I think I managed to make it pretty lean, too.
Now it’s just a matter of waiting until UE reaches around 5.6.3 and stabilizes.

By the way, I complained on social media that UE5.6 performance on Mac wasn’t great, but on the school’s M4 Max MacBook it runs about the same speed as 5.5.
So maybe my M2 Max Studio is just starting to show its age… even though I’m still paying it off…

●Other Updates

The water effect is now getting very close to what I had in mind.
Just one or two more tweaks and it’ll be perfect.

Its evolution so far has been: 2D image → 2.5D → static 3D → dynamic 3D (VAT).

In Pokémon terms, it’s like a Charizard that’s just evolved from Charmeleon if that makes sense.

A brief history of the water effect. Compared to the old 2D version, it’s much improved. All that Houdini study paid off!

I’ve also been fixing little bugs in the dialogue and ability systems, and cleaning up code.
Tidying messy code is honestly one of my favorite tasks.
I turn a jumble of spaghetti into beautiful noodles, like in the images below.
While working on a video I realized it might not be worth making into a video, so I made images instead.

This messy tangle…
Becomes this ✨

●Future Plans

The deadline for Epic Megagrants is only about three weeks away.
I absolutely need to deliver a playable build, so the first half of September will be mostly spent on small adjustments.
After submitting to Megagrants, I plan to create the main menu (New Game, Continue, Settings) and add more NPCs and enemies.

See you next month!