A roof can look easy to reach from above and still sit just beyond a chi-jump. A doorway can catch the player's collision shape, or an arch can look open while the game treats its opening as solid. I needed to discover those problems while editing a map, before building more of it around a route that did not work.

Map Studio uses SHADOWFRAG's own renderer, the part of the game that draws the scene through the Vulkan graphics API. It also shares the movement code and the checks that decide whether a player can pass through a space. I can walk a route in the editor with the game's controller, compile the map into a playable package, and launch a separate local server and client to try it. The editor keeps its document and camera in place while that playtest runs.

Making the visible shape match the playable one

The redesign brought terrain, surface materials, reusable objects and validation into the same workflow. Each object needs a sensible collision shape as well as a good appearance. An arch needs a passage you can actually walk through; decorative trim should not make a crate unexpectedly larger when you try to move past it.

I also needed library updates to be deliberate. Every reusable asset has a stable identity and a revision, and each placed copy records which revision it uses. Importing a newer version therefore does not silently alter objects already placed in a map. The author chooses when to update them and can check the affected routes at that point.

The same attention to edit history applies elsewhere. A terrain stroke is one undo step, and painting a material does not change the ground's height. Compilation can run in the background, but its result belongs to the document revision it started from. If I edit the map again before it finishes, that older result must not replace the newer preview or launch a playtest of the wrong version.

Getting back into a match

The compiler produces a portable map package that practice mode can load. Overlays for navigation and collision help me inspect routes and blocked spaces, while bots exercise paths and objectives. Those tools can find structural problems; human play is still needed to judge whether a route is useful under pressure.

That is why the editing loop matters to the game itself. Every unnecessary step between widening a doorway and trying it costs time that could go into another revision. The next placement pass focused on that everyday interaction. I want the editor to make it easier to turn an attractive route into one that also works when a player is moving through it.

The editor grew a workshop

Two different working scenes show the tool evolving from the first retained scene-editing layout to the later texture workshop. They are interface history, not before-and-after views of the same map.

Early Map Studio showing a desert map with hierarchy, inspector and a docked scene viewport.
Early scene editor

The first retained editor layout puts scene hierarchy, map geometry and the inspector on one screen.

Original PNG
Later texture workshop with a small wall scene, material categories and a grid of texture thumbnails.
Later texture workshop

The workshop gives material choices their own browser and immediate scene preview.

Original PNG

Still-image archive dates come from retained image file timestamps in Los Angeles time. An earlier-dated article may include later builds; each image is dated separately. Images are genuine engine or native-editor output. Download sources, transforms and SHA-256 hashes.

Back to blogBrowse the glossary