Dev Log 22: Momentum

May 4th, 2026

Quick Update

It’s been a bit since the last dev log.

Not because things slowed down on the engine though, in fact, its the opposite!

I’ve been deep in building out the engine, and progress has been moving faster than I’ve had time to sit down and document.

Recently, 80 Level featured RetroEngine, which brought a lot of new eyes here.

So instead of trying to backfill multiple posts, this is a snapshot of what’s been built over the past stretch.

Viewport Gizmos

I finally added proper viewport gizmos for translation, rotation, and scale.

They’re fully interactive in screen space, with axis handles, plane movement, and rotation rings. Snapping can be toggled and configured per mode, so you can move freely or lock to clean increments.

The important part is that this makes editing feel physical. Instead of typing values into the inspector window like before, you’re just grabbing things and moving them in the world.

Terrain Tools

Terrain got a big upgrade.

There’s now a defined “play area” that stays flat, with terrain gradually building outward using noise.

Under the hood, it’s a procedural height system with a center mask that suppresses noise near the player and ramps it back in toward the edges.

So you get something that works for gameplay, but still looks natural without hand-sculpting everything.

Construction Grid Painting

The construction grid system now supports click-drag painting.

Before this, placement was one click at a time. Now you can just drag across the grid and paint content down continuously.

It tracks which cells you’ve already touched during a stroke, so you don’t accidentally double-place things while dragging.

This alone makes building scenes dramatically faster.

Chunk Palette

Chunks are basically small art vignettes: groups of entities saved and reused as a single unit.

There’s now a chunk palette with thumbnails, so you can browse visually, pick one, and immediately start placing it.

Thumbnails load in the background, so you can work while the palette fills in.

This turns level building into more of a kit-based workflow instead of placing everything manually.

Scene Thumbnails

The thumbnail system now extends to full scenes.

Every time a scene is saved, a thumbnail is automatically generated. You can browse scenes visually and switch between them instantly.

No more digging through file names, you just click what looks right.

Lighting Gradient

Light shafts now support a gradient from near to far.

Instead of a single color, you can shift color across the depth of the beam: for example, warm near the source and cooler as it fades out.

It’s a small change, but it adds a lot of control when shaping mood in a scene.

Terrain + Mesh Painting

This is everything starting to come together.

Terrain shaping, chunk placement, and mesh painting all working in the same space.

The mesh painting system lets you paint directly onto surfaces by raycasting into geometry and writing into a texture in real time.

In this case, blending grass and water layers across the terrain.

Chunk Painting

This is probably one of the biggest workflow improvements.

You can now paint chunks directly onto terrain using a brush.

It handles spacing, randomness, and placement automatically, so you’re not manually placing every tree or prop.

You just paint and it fills in naturally.

Chunk Alignment + Weighting

Chunk painting also supports weighting and alignment.

Each chunk can have a weight (how often it appears), scale range, and whether it aligns to the terrain surface.

Placement is deterministic based on position, so painting the same area with the same setup gives consistent results.

It ends up feeling more like sculpting than placing objects.

CRT Geometry Warping

I added geometry warping to the CRT pipeline.

This isn’t just a post-process overlay, it’s part of the actual CRT simulation stage, with parameters for curvature, overscan, and convergence.

It helps push the image away from a flat screen and toward something that actually feels like a display surface.

Material Presets + Texture Painting

Material presets make it possible to reuse full material setups across assets.

Instead of rebuilding materials every time, you can apply a preset and everything resolves through the asset system.

Combined with texture painting, which writes directly into a texture on the mesh, this turns material work into something you can iterate on inside the engine.

180 Days

Today also marks 180 days working on RetroEngine.

That’s honestly a little hard to process.

This started as getting pixels on screen.

Now it’s:

Going Forward

I’m going to be a bit more intentional with how I post updates.

Instead of frequent small dev logs, I’ll be sharing larger snapshots like this, focused on showing what’s actually been built.

Development is the priority, and I’d rather keep momentum than stop constantly to write.

My goal is to share Retro Game Engine with others in the future, and this is the best way to keep pushing to that goal.

More soon.