<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Mary Khachatryan</title>
    <description>The latest articles on DEV Community by Mary Khachatryan (@mary_khachatryan_153).</description>
    <link>https://dev.to/mary_khachatryan_153</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4154237%2F2ec6e363-d554-427f-9daa-f33368b0f28c.jpg</url>
      <title>DEV Community: Mary Khachatryan</title>
      <link>https://dev.to/mary_khachatryan_153</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mary_khachatryan_153"/>
    <language>en</language>
    <item>
      <title>A Safer Way to Hand Off Game Studio Tasks Between Engineers and Artists</title>
      <dc:creator>Mary Khachatryan</dc:creator>
      <pubDate>Thu, 01 Oct 2026 09:10:21 +0000</pubDate>
      <link>https://dev.to/mary_khachatryan_153/a-safer-way-to-hand-off-game-studio-tasks-between-engineers-and-artists-2ip1</link>
      <guid>https://dev.to/mary_khachatryan_153/a-safer-way-to-hand-off-game-studio-tasks-between-engineers-and-artists-2ip1</guid>
      <description>&lt;p&gt;Small game studios often have the right expertise in the room but attached to the wrong development setup.&lt;/p&gt;

&lt;p&gt;An engineer may understand the repository, build commands, and runtime constraints. An artist may be better equipped to judge animation timing, composition, readability, and whether an effect belongs in the game. The work stalls when we treat those capabilities as inseparable.&lt;/p&gt;

&lt;p&gt;A useful &lt;strong&gt;game studio task handoff between engineer and artist&lt;/strong&gt; does not ask the artist to become an engineer or ask an AI agent to replace either person. It packages one bounded task so that each participant contributes the judgment they actually possess.&lt;/p&gt;

&lt;p&gt;This guide shows how to structure that handoff without sharing accounts, credentials, or vague responsibility.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Disclosure: I work with the team behind Wagglet. This article was prepared with AI assistance and reviewed against the current product documentation. The workflow and limitations described here should still be evaluated against your studio’s own security and review requirements.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Start with a task that has a visible result
&lt;/h2&gt;

&lt;p&gt;Consider a hit-confirm effect for a combat prototype.&lt;/p&gt;

&lt;p&gt;The effect already runs, but the team has three concerns:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The burst obscures the enemy silhouette.&lt;/li&gt;
&lt;li&gt;The timing feels late relative to the impact animation.&lt;/li&gt;
&lt;li&gt;The effect may be too dense on a narrow mobile viewport.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The engineer knows how to check out the correct branch and launch the relevant scene. The VFX artist knows what visual hierarchy, timing, and density should look like. Neither should have to surrender their account or impersonate the other.&lt;/p&gt;

&lt;p&gt;This is a promising handoff because the result is observable, the scope is narrow, and an unsuccessful attempt can be discarded.&lt;/p&gt;

&lt;p&gt;A poor candidate would be “improve combat effects.” That leaves the agent and artist to decide where the task begins, what files may change, and when the result is acceptable.&lt;/p&gt;

&lt;p&gt;A better task is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Adjust the existing hit-confirm burst in the combat sandbox so the enemy silhouette remains readable at 390×844 and 1920×1080. Do not change damage timing, animation events, or unrelated effects. Return before-and-after captures and the changed files for engineering review.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The second version defines an outcome, a boundary, and evidence.&lt;/p&gt;

&lt;h2&gt;
  
  
  Divide the handoff into three roles
&lt;/h2&gt;

&lt;p&gt;A safe handoff separates preparation, execution, and acceptance.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. The engineer prepares the technical boundary
&lt;/h3&gt;

&lt;p&gt;The engineer identifies:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the repository and starting revision;&lt;/li&gt;
&lt;li&gt;the scene or test case to open;&lt;/li&gt;
&lt;li&gt;the files that are likely in scope;&lt;/li&gt;
&lt;li&gt;the command used to run the project;&lt;/li&gt;
&lt;li&gt;the behaviors that must not change;&lt;/li&gt;
&lt;li&gt;the evidence required at delivery;&lt;/li&gt;
&lt;li&gt;the conditions that should stop the work.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This does not require predicting every implementation detail. It means removing ambiguity that could cause the task to expand silently.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. The artist runs the visual check
&lt;/h3&gt;

&lt;p&gt;The artist uses their own authorized workspace, development tools, and agent account. Their instructions should focus on the human judgment the task needs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;compare the effect at the specified viewport sizes;&lt;/li&gt;
&lt;li&gt;check whether the character silhouette remains readable;&lt;/li&gt;
&lt;li&gt;inspect the delay between contact and the visible burst;&lt;/li&gt;
&lt;li&gt;reject clipping, abrupt cuts, or unrelated visual changes;&lt;/li&gt;
&lt;li&gt;capture the specified evidence;&lt;/li&gt;
&lt;li&gt;stop if the agent proposes changes outside the named effect.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The artist is not being asked to approve architecture, dependency changes, or production deployment.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. The engineer accepts or rejects the delivery
&lt;/h3&gt;

&lt;p&gt;The engineer reviews the diff, runs the relevant tests, and confirms that the change remains inside the agreed boundary. Delivery is evidence that the work was attempted; it is not automatic acceptance.&lt;/p&gt;

&lt;p&gt;That distinction prevents “the demo looked fine” from becoming the only quality gate.&lt;/p&gt;

&lt;h2&gt;
  
  
  Write a task contract the agent can follow
&lt;/h2&gt;

&lt;p&gt;A compact task contract makes the boundary inspectable before anyone starts:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;task&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Tune the combat hit-confirm burst&lt;/span&gt;
  &lt;span class="na"&gt;starting_point&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;repository&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;studio/game-client&lt;/span&gt;
    &lt;span class="na"&gt;branch&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;prepared-review-branch&lt;/span&gt;
    &lt;span class="na"&gt;scene&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;CombatSandbox&lt;/span&gt;
    &lt;span class="na"&gt;effect&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;hit-confirm-burst&lt;/span&gt;

&lt;span class="na"&gt;scope&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;allowed&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;Existing hit-confirm effect configuration&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;Effect-local texture or timing values&lt;/span&gt;
  &lt;span class="na"&gt;prohibited&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;Combat damage timing&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;Animation event wiring&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;Shared renderer settings&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;Package upgrades&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;Production deployment&lt;/span&gt;

&lt;span class="na"&gt;human_checks&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;viewports&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;390x844&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;1920x1080&lt;/span&gt;
  &lt;span class="na"&gt;verify&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;Enemy silhouette remains readable&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;Burst begins at the visible impact&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;No clipping at either viewport&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;Other combat effects remain unchanged&lt;/span&gt;

&lt;span class="na"&gt;delivery&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;required&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;List of changed files&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;Before-and-after captures at both viewports&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;Commands run&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;Test results&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;Known limitations&lt;/span&gt;

&lt;span class="na"&gt;stop_conditions&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;Required asset or project access is missing&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;The effect cannot be isolated from combat logic&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;A dependency or shared renderer change appears necessary&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;Existing unrelated changes overlap the target files&lt;/span&gt;

&lt;span class="na"&gt;acceptance&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;owner&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;gameplay engineer&lt;/span&gt;
  &lt;span class="na"&gt;rule&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Delivery requires engineering review before merge&lt;/span&gt;
&lt;span class="s"&gt;~~~&lt;/span&gt;

&lt;span class="s"&gt;The contract should be short enough to inspect but specific enough to prevent improvisation.&lt;/span&gt;

&lt;span class="c1"&gt;## Keep credentials attached to people&lt;/span&gt;

&lt;span class="s"&gt;The engineer and artist should each use their own authorized identities. A handoff is not a reason to copy an API key, export a browser session, or send somebody a password.&lt;/span&gt;

&lt;span class="s"&gt;The task can transfer instructions, repository context, file paths, test commands, acceptance criteria, non-secret sample data, and evidence requirements. It should not transfer another person’s credentials.&lt;/span&gt;

&lt;span class="s"&gt;If the artist lacks repository access, the task is not ready. If the agent cannot authenticate using the artist’s authorized environment, it should stop and report the missing access. It should not weaken permissions or search for another credential.&lt;/span&gt;

&lt;span class="c1"&gt;## Give the agent stop conditions, not unlimited initiative&lt;/span&gt;

&lt;span class="s"&gt;Coding agents are good at continuing. A safe handoff also tells them when not to continue.&lt;/span&gt;

&lt;span class="s"&gt;For this example, the agent should stop if the effect is coupled to combat timing, if the working tree contains overlapping changes, or if the requested visual adjustment requires a renderer-wide modification.&lt;/span&gt;

&lt;span class="s"&gt;A useful stop report is concrete:&lt;/span&gt;

&lt;span class="s"&gt;~~~text&lt;/span&gt;
&lt;span class="s"&gt;Stopped before editing.&lt;/span&gt;

&lt;span class="s"&gt;The hit-confirm effect reads its duration from the shared combat event.&lt;/span&gt;
&lt;span class="s"&gt;Changing the effect locally would also change gameplay timing.&lt;/span&gt;

&lt;span class="na"&gt;Evidence&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
&lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;Effect config&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;effects/hit-confirm.json&lt;/span&gt;
&lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;Shared timing source&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;combat/impact-events.ts&lt;/span&gt;
&lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;No files changed&lt;/span&gt;

&lt;span class="na"&gt;Decision needed&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
&lt;span class="s"&gt;Confirm whether an engineer should separate visual duration from gameplay timing.&lt;/span&gt;
&lt;span class="s"&gt;~~~&lt;/span&gt;

&lt;span class="s"&gt;That report preserves the boundary and gives the reviewer a real decision.&lt;/span&gt;

&lt;span class="c1"&gt;## Ask the artist to produce evidence&lt;/span&gt;

&lt;span class="s"&gt;“Looks good” is difficult to review later. Require evidence that corresponds to the acceptance criteria.&lt;/span&gt;

&lt;span class="s"&gt;For the hit-confirm task, a useful delivery contains&lt;/span&gt;&lt;span class="err"&gt;:&lt;/span&gt;

&lt;span class="s"&gt;1. Before-and-after captures at both required viewports.&lt;/span&gt;
&lt;span class="s"&gt;2. A short note identifying the frame used to judge impact timing.&lt;/span&gt;
&lt;span class="s"&gt;3. A list of changed files.&lt;/span&gt;
&lt;span class="s"&gt;4. The command used to run the sandbox.&lt;/span&gt;
&lt;span class="s"&gt;5. Any warning, unsupported setting, or approximation encountered.&lt;/span&gt;
&lt;span class="s"&gt;6. Confirmation that unrelated effects were sampled and remained unchanged.&lt;/span&gt;

&lt;span class="s"&gt;The artist’s judgment remains essential, but it becomes easier for the engineer to inspect.&lt;/span&gt;

&lt;span class="c1"&gt;## Review the change from two directions&lt;/span&gt;

&lt;span class="s"&gt;The artist asks whether the visual hierarchy is correct, the effect feels synchronized, the intended style is preserved, and important gameplay information remains readable.&lt;/span&gt;

&lt;span class="s"&gt;The engineer asks whether the change stayed inside the allowed files, preserved gameplay behavior, used valid assets and settings, passed the relevant tests, and is safe to merge.&lt;/span&gt;

&lt;span class="s"&gt;The task is accepted only when both kinds of evidence are satisfactory.&lt;/span&gt;

&lt;span class="c1"&gt;## What this workflow does not prove&lt;/span&gt;

&lt;span class="s"&gt;A successful handoff does not prove that the artist can independently maintain the rendering system. It does not establish that every visual task can move outside engineering. It also does not measure a productivity improvement by itself.&lt;/span&gt;

&lt;span class="s"&gt;The workflow is most appropriate when the missing technical skill is narrow, the human runner already possesses relevant judgment, the result is observable, the work is reversible, and qualified review is available.&lt;/span&gt;

&lt;span class="s"&gt;It is a poor fit when correctness is hidden, access is inappropriate, failure is costly, or the runner cannot recognize an important failure.&lt;/span&gt;

&lt;span class="s"&gt;The same boundary is emphasized in [Wagglet’s field note on capability-bridging task handoffs](https://wagglet.com/blog/close-team-skill-gaps-with-ai-task-handoffs): agent assistance can help a teammate complete bounded work, but it does not make that teammate interchangeable with a specialist.&lt;/span&gt;

&lt;span class="c1"&gt;## Pilot the pattern with one effect&lt;/span&gt;

&lt;span class="s"&gt;A studio does not need a company-wide policy to test this workflow.&lt;/span&gt;

&lt;span class="s"&gt;Choose one low-risk visual task. Record preparation time, clarification requests, work and review time, rework, whether the task was accepted or abandoned, which stop conditions were triggered, and what evidence was missing. Then revise the template.&lt;/span&gt;

&lt;span class="s"&gt;A good handoff makes expertise easier to apply without pretending expertise no longer matters. The engineer supplies the technical boundary. The artist supplies visual judgment. The agent helps bridge the setup and implementation gap. A separate review decides whether the result belongs in the game.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>gamedev</category>
      <category>ai</category>
      <category>productivity</category>
      <category>softwareengineering</category>
    </item>
  </channel>
</rss>
