We present a system that aids the design of 3D obstacle course games by providing designers with rapid feedback on how obstacles can be solved. Our core contribution is a system for querying for solutions (sequences of player actions) to an obstacle that adhere to designer-specified constraints (e.g., avoid a region, travel through a given waypoint, only perform two jumps, etc.).
To solve a wide range of obstacle designs quickly, we author a high-performance implementation of the GoExplore algorithm for exploratory search, and guide search with an obstacle solving agent trained offline using reinforcement learning (RL). To further accelerate search, the system carries out exploration using a custom GPU-accelerated obstacle course game simulator that generates playthrough experience at nearly 14,000× real time, 60-fps gameplay.
Through design studies, we demonstrate that the use of constrained solvability queries in a rapid design loop is sufficiently expressive to help designers understand ways an obstacle can be solved or why it cannot be solved. We also show how the tool can let designers answer higher-level questions such as identifying undesirable solution paths and assessing the difficulty of solutions. This allows them to pursue new design directions they did not originally anticipate. Human playtesting of obstacles designed using our system confirms that human players indeed play the obstacles in the manner the designers intended.
Designers playtest to understand an obstacle's solvability: the set of movement sequences a player can or cannot use to solve it. Our system lets a designer ask for that directly. A query names a starting region and a goal region, together with constraints that limit the behavior a successful playthrough may exhibit.
The waypoint region is the clearest of those constraints: a 3D region that every successful playthrough must pass through. The designer places it with the same translate, rotate and scale handles they use to build the obstacle, and can chain several in sequence. They reach for it when they want to know whether the obstacle can be solved along one particular path — the route they had in mind while building it. Results stream back as 3D trajectories drawn directly on the obstacle, so the designer sees how an attempt succeeded, or why it failed.
A waypoint query. The designer constrains solutions to pass through the yellow waypoint region. Our system returns a playthrough that leaves the green start, drops through the waypoint underneath the sweeping red obstacle, and reaches the blue goal. The trajectory is drawn on the obstacle itself and can be replayed in sync with the motion of the level.
The designer intends for the player to ride a thin platform, repositioning to fit through gaps in a series of walls. A first query confirms the intended solution exists — but also surfaces a second one: the first barrier can simply be jumped over. That runs counter to intent, so the designer raises the wall and queries again; no solution comes back, so the edit worked. Finally they use avoid and waypoint regions to ask whether the wall can be jumped around. It can — but that route is counterintuitive to a new player and mechanically demanding, so the designer keeps it.
Design study. Solvability feedback helps the designer identify and remove an undesirable solution. (a) The initial design supports a solution that jumps over the wall instead of passing through its gap. (b) The designer raises the wall so it cannot be jumped over. (c) The designer verifies an alternate solution — jumping around the wall — for experienced players.
We recruited four external designers — a professional game developer with games research experience, a professional developer with 19 years of design experience, an enthusiast designer specializing in experimental games, and a professional independent developer working on 2D platformers. They used the system to verify desired solutions, discover and prohibit undesired ones, inspire level edits, and acclimate to an unfamiliar 3D creation platform. Two noted that rapid, in-progress trajectory visualizations were crucial to their process.
Designer 1 set out to build a "pixel-perfect platformer." The system showed their initial design was unsolvable because the goal platform sat too high; after an edit made it solvable, a later query revealed an unintended route that skipped their lava ring obstacle entirely. Shrinking the goal and enlarging the ring discouraged it, and a waypoint constraint on the top platform confirmed the intended gameplay end to end. They valued being able to evaluate play on obstacles harder than they could comfortably playtest themselves — and to "press a button and rapidly confirm that a design was still solvable" after each edit.
External Designer 1. Our system allowed this designer to (a) see why their design was unsolvable, (b) make an edit resulting in a solvable obstacle, (c) see an alternate solution they did not know was possible, (d) make an edit discouraging that solution, and (e) verify that their final design supported their intended solution.
Six college-age playtesters attempted obstacles built with the system. Each first tried to solve the obstacle; on success they were asked to find a harder solution if one existed. Across three design studies, human players solved the obstacles along the paths the designers intended — so designers can trust that the feedback reflects real human play.
Human playtesting. Across three design studies, feedback from our system allowed a designer to create obstacle courses that supported their desired solutions (top row): a solution passing through the wall gaps and one jumping around the wall (left), a design with multiple solution paths (center), and a design where players time jumps between platforms to balance the difficulty of the preceding section (right). All of these solutions were reproduced by human playtesters (bottom row). On the rightmost obstacle, playtesters agreed the second section was much easier than the first — exactly as the designer intended based on trajectory feedback.
Query performance. Mean time to solve (with inter-quartile range) for five methods across 56 solvability queries logged from our design studies, grouped into tertiles by Go-Explore's time to first solution. On long queries our policy-selection strategy (GE-PS) solves more queries than baseline Go-Explore (GE), a >15 s reduction in average solve time, at minimal overhead on short and medium queries. Both GE and GE-PS outperform Cell-Free Latent Go-Explore (CFLGE), Policy-Based Go-Explore (PBGE), and a pure RL policy rollout (RL). Queries exceeding the 90 s budget are terminated and counted as 90 s.
@article{majercik2026solvability,
author = {Majercik, Zander and Zhang, Sharon and Wang, William and
Karmali, Tejan and Zhou, Fangjun and Yuan, Yucheng and
Chou, Jean-Peic and Agrawala, Maneesh and Fatahalian, Kayvon},
title = {Providing Rapid Design Feedback for 3D Obstacle Course Games
Using Constrained Solvability Queries},
year = {2026},
}