Source: https://shadowfrag.com/blog/inside-map-studio/

# Testing the map while I build it

By the SHADOWFRAG developer · Development · Oct 20, 2026 · 3 min read

A route can look right from above and fail under a player’s feet. [Map Studio](https://shadowfrag.com/glossary/#term-map-studio) uses the game’s movement and collision so I can find those problems while building it.

[Later texture workshop with a small wall scene, material categories and a grid of texture thumbnails.](https://shadowfrag.com/_astro/58da03c1078c67aa22f200c87548d86b3b705b52563ccd9d4d641f225d14fb0a.B94jw8SL.png)

The workshop gives material choices their own browser and immediate scene preview. Archive date: Oct 22, 2026.

A roof can look easy to reach from above and still sit just beyond a [chi-jump](https://shadowfrag.com/glossary/#term-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](https://shadowfrag.com/glossary/#term-map-studio) uses SHADOWFRAG's own renderer, the part of the game that draws the scene through the [Vulkan graphics API](https://shadowfrag.com/glossary/#term-vulkan). 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](https://shadowfrag.com/glossary/#term-revision-pinning) 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](https://shadowfrag.com/glossary/#term-bot) 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](https://shadowfrag.com/blog/placing-an-idea-in-the-world/) 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](https://shadowfrag.com/glossary/#term-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.](https://shadowfrag.com/media/development/editor-early-original.png)

**Early scene editor**Archive date · Oct 20, 2026

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

[Original PNG](https://shadowfrag.com/media/development/editor-early-original.png)

[Later texture workshop with a small wall scene, material categories and a grid of texture thumbnails.](https://shadowfrag.com/media/development/editor-current-original.png)

**Later [texture workshop](https://shadowfrag.com/glossary/#term-texture-workshop)**Archive date · Oct 22, 2026

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

[Original PNG](https://shadowfrag.com/media/development/editor-current-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](https://shadowfrag.com/media/development/manifest.json).

[Back to blog](https://shadowfrag.com/blog/)[Browse the glossary](https://shadowfrag.com/glossary/)

## Request an _invite code._

SHADOWFRAG is opening by invitation. Request a code and receive development updates. [Shadow Council](https://shadowfrag.com/glossary/#term-shadow-council) contributors receive priority when invitations begin.

Enable JavaScript to request an invite code and confirm your email address.

Email confirmation required. Codes will be issued later; a request does not guarantee access. Unsubscribe at any time. [Privacy](https://shadowfrag.com/privacy/)

Confirm your email to join the invitation list. Codes will be issued in a future round; a request does not guarantee access. Unsubscribe at any time.

Anyone can request a code. For [Shadow Council](https://shadowfrag.com/shadow-council/) priority, introduce yourself on Discord with your role, experience, region and time zone. Include examples of your maps or content if you have them.

[Join Discord](https://discord.gg/EHj7rZDNj)
