<?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: Ivory Jones</title>
    <description>The latest articles on DEV Community by Ivory Jones (@rezzzdev).</description>
    <link>https://dev.to/rezzzdev</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3766368%2F9ad4a3c2-3550-4047-8c1a-3699606fc8f7.jpg</url>
      <title>DEV Community: Ivory Jones</title>
      <link>https://dev.to/rezzzdev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rezzzdev"/>
    <language>en</language>
    <item>
      <title>Building Cipher: Where We Are, What Broke, and What’s Coming Next</title>
      <dc:creator>Ivory Jones</dc:creator>
      <pubDate>Sat, 11 Apr 2026 19:19:03 +0000</pubDate>
      <link>https://dev.to/rezzzdev/building-cipher-where-we-are-what-broke-and-whats-coming-next-3enl</link>
      <guid>https://dev.to/rezzzdev/building-cipher-where-we-are-what-broke-and-whats-coming-next-3enl</guid>
      <description>&lt;p&gt;Most AI tools stop at generating code.&lt;/p&gt;

&lt;p&gt;Cipher doesn’t.&lt;/p&gt;

&lt;p&gt;It walks straight into Unreal Engine and builds.&lt;/p&gt;

&lt;p&gt;That sounds cool on paper. In practice, it’s been messy, frustrating, and honestly… kind of insane to get working.&lt;/p&gt;

&lt;p&gt;This is where we actually are right now.&lt;/p&gt;

&lt;p&gt;What Cipher Actually Does (Right Now)&lt;/p&gt;

&lt;p&gt;At its core, Cipher is a loop:&lt;/p&gt;

&lt;p&gt;Goal → Plan → Validate → Execute → Verify → Repeat&lt;/p&gt;

&lt;p&gt;You give it something simple like:&lt;/p&gt;

&lt;p&gt;“Create a player character with a mesh and animation”&lt;/p&gt;

&lt;p&gt;And instead of spitting out instructions, it:&lt;/p&gt;

&lt;p&gt;Talks to a FastAPI server&lt;br&gt;
Writes structured commands&lt;br&gt;
Sends them into Unreal&lt;br&gt;
Modifies Blueprints directly&lt;br&gt;
Verifies if it worked&lt;/p&gt;

&lt;p&gt;If it fails, it tries again.&lt;/p&gt;

&lt;p&gt;No hand-holding. No guessing.&lt;/p&gt;

&lt;p&gt;That loop is alive now.&lt;/p&gt;

&lt;p&gt;The First Real Breakthrough&lt;/p&gt;

&lt;p&gt;The moment things started feeling real was when we solved mesh + animation assignment.&lt;/p&gt;

&lt;p&gt;Sounds basic. It wasn’t.&lt;/p&gt;

&lt;p&gt;Unreal doesn’t behave the way you expect when you modify native components like CharacterMesh0.&lt;/p&gt;

&lt;p&gt;We tried:&lt;/p&gt;

&lt;p&gt;Writing to the CDO → didn’t persist&lt;br&gt;
Recompiling after changes → wiped values&lt;br&gt;
Using handlers → failed on native components&lt;/p&gt;

&lt;p&gt;What finally worked:&lt;/p&gt;

&lt;p&gt;Use SubobjectDataSubsystem&lt;br&gt;
Modify components through handles&lt;br&gt;
Control the compile order (this mattered more than anything)&lt;/p&gt;

&lt;p&gt;Once that clicked, Cipher could:&lt;/p&gt;

&lt;p&gt;Assign skeletal meshes&lt;br&gt;
Apply animation blueprints&lt;br&gt;
Verify the result&lt;/p&gt;

&lt;p&gt;That was the first time the system felt stable.&lt;/p&gt;

&lt;p&gt;Where It Gets Ugly&lt;/p&gt;

&lt;p&gt;A lot of things looked like they worked… until they didn’t.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Unreal Lifecycle Problems&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Order matters more than logic.&lt;/p&gt;

&lt;p&gt;If you:&lt;/p&gt;

&lt;p&gt;assign mesh too early → it gets wiped&lt;br&gt;
compile too often → you lose state&lt;br&gt;
reload incorrectly → you verify the wrong object&lt;/p&gt;

&lt;p&gt;We spent time chasing “bugs” that were just timing issues.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;False Positives in Verification&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Cipher has a verify step, which sounds great… until it lies to you.&lt;/p&gt;

&lt;p&gt;We had cases where:&lt;/p&gt;

&lt;p&gt;Mesh looked assigned → but wasn’t saved&lt;br&gt;
Animation existed → but wasn’t actually applied&lt;br&gt;
Blueprint compiled → but still broken at runtime&lt;/p&gt;

&lt;p&gt;So we had to build real verification, not surface checks.&lt;/p&gt;

&lt;p&gt;Things like:&lt;/p&gt;

&lt;p&gt;checking actual asset names&lt;br&gt;
stripping _C from generated classes&lt;br&gt;
validating component existence directly&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Python Listener Hell&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Reloading agent_listener.py inside Unreal caused stale callbacks.&lt;/p&gt;

&lt;p&gt;Meaning:&lt;/p&gt;

&lt;p&gt;new code wouldn’t run&lt;br&gt;
old functions stayed active&lt;br&gt;
behavior became inconsistent&lt;/p&gt;

&lt;p&gt;Fix was moving to a persistent dispatcher pattern instead of re-binding functions every reload.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Blueprint Graph Logic (Still Painful)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;We recently started working on node wiring and fan-out logic.&lt;/p&gt;

&lt;p&gt;This introduced a whole new class of problems:&lt;/p&gt;

&lt;p&gt;duplicate execution pins&lt;br&gt;
broken connections&lt;br&gt;
missing idempotency&lt;/p&gt;

&lt;p&gt;Even small mistakes here create invisible bugs.&lt;/p&gt;

&lt;p&gt;This is where we are currently fighting.&lt;/p&gt;

&lt;p&gt;What Actually Works Today&lt;/p&gt;

&lt;p&gt;Right now, Cipher can reliably:&lt;/p&gt;

&lt;p&gt;Create / load Blueprints&lt;br&gt;
Add components (camera, spring arm, etc.)&lt;br&gt;
Assign meshes&lt;br&gt;
Assign animation blueprints&lt;br&gt;
Compile + save&lt;br&gt;
Verify correctness&lt;br&gt;
Run in a loop from a goals file&lt;/p&gt;

&lt;p&gt;Command loop:&lt;/p&gt;

&lt;p&gt;py dev_agent.py --loop goals/aegion_setup.txt&lt;/p&gt;

&lt;p&gt;That loop is the foundation of everything.&lt;/p&gt;

&lt;p&gt;What’s Coming Next (This Is the Real Shift)&lt;/p&gt;

&lt;p&gt;Up to now, we’ve been proving control.&lt;/p&gt;

&lt;p&gt;Next, we move into gameplay.&lt;/p&gt;

&lt;p&gt;Not just assets. Behavior.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Animation System Validation&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;We finish making sure animation blueprints:&lt;/p&gt;

&lt;p&gt;attach correctly&lt;br&gt;
play correctly&lt;br&gt;
pass verification every time&lt;/p&gt;

&lt;p&gt;No partial success.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Weapon System (Big One)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is the next major milestone.&lt;/p&gt;

&lt;p&gt;Cipher should be able to:&lt;/p&gt;

&lt;p&gt;Attach a weapon to a socket&lt;br&gt;
Validate the socket exists&lt;br&gt;
Add firing logic&lt;br&gt;
Connect input → action&lt;br&gt;
Verify the system actually works&lt;/p&gt;

&lt;p&gt;This is where Cipher stops being “asset automation”&lt;br&gt;
and starts becoming gameplay automation.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Blueprint Modification (Not Creation)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;We’re shifting focus:&lt;/p&gt;

&lt;p&gt;Cipher should work with existing Blueprints, not just create new ones.&lt;/p&gt;

&lt;p&gt;That means:&lt;/p&gt;

&lt;p&gt;reading current state&lt;br&gt;
modifying graphs safely&lt;br&gt;
avoiding breaking existing logic&lt;/p&gt;

&lt;p&gt;This is much harder than generating from scratch.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Toward a Gameplay Layer&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Long term, the goal is simple:&lt;/p&gt;

&lt;p&gt;Cipher should understand:&lt;/p&gt;

&lt;p&gt;systems (movement, combat, UI)&lt;br&gt;
interactions (input → response)&lt;br&gt;
rules (win/lose states)&lt;/p&gt;

&lt;p&gt;Right now, we’re still at the foundation.&lt;/p&gt;

&lt;p&gt;But the direction is clear.&lt;/p&gt;

&lt;p&gt;The Reality&lt;/p&gt;

&lt;p&gt;This hasn’t been smooth.&lt;/p&gt;

&lt;p&gt;It’s been:&lt;/p&gt;

&lt;p&gt;debugging Unreal internals&lt;br&gt;
fighting engine behavior&lt;br&gt;
rewriting systems that almost worked&lt;br&gt;
learning that “it compiled” means nothing&lt;/p&gt;

&lt;p&gt;But now there’s something real:&lt;/p&gt;

&lt;p&gt;A loop that can take intent&lt;br&gt;
and turn it into something inside Unreal&lt;br&gt;
without manual work.&lt;/p&gt;

&lt;p&gt;Final Thought&lt;/p&gt;

&lt;p&gt;Most AI tools generate ideas.&lt;/p&gt;

&lt;p&gt;Cipher executes them.&lt;/p&gt;

&lt;p&gt;And we’re just getting past the part where it stops breaking everything.&lt;/p&gt;

&lt;p&gt;Next phase is where it starts actually building games.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>gamedev</category>
      <category>programming</category>
      <category>webdev</category>
    </item>
    <item>
      <title>I Built an AI That Actually Creates Unreal Engine Blueprints</title>
      <dc:creator>Ivory Jones</dc:creator>
      <pubDate>Sun, 05 Apr 2026 18:43:32 +0000</pubDate>
      <link>https://dev.to/rezzzdev/i-built-an-ai-that-actually-creates-unreal-engine-blueprints-2ifm</link>
      <guid>https://dev.to/rezzzdev/i-built-an-ai-that-actually-creates-unreal-engine-blueprints-2ifm</guid>
      <description>&lt;p&gt;There’s a point in every Unreal project where you stop being creative and start doing chores.&lt;/p&gt;

&lt;p&gt;Create Blueprint.&lt;br&gt;
Add camera.&lt;br&gt;
Attach spring arm.&lt;br&gt;
Set mesh.&lt;br&gt;
Assign anim BP.&lt;br&gt;
Fix offsets.&lt;br&gt;
Compile.&lt;br&gt;
Repeat.&lt;/p&gt;

&lt;p&gt;Do it ten times, and it’s fine.&lt;br&gt;
Do it a hundred times, and you start wondering why you’re still doing this manually.&lt;/p&gt;

&lt;p&gt;That’s where Cipher came from.&lt;/p&gt;

&lt;p&gt;Not as “another AI assistant.”&lt;br&gt;
But as something that actually &lt;em&gt;does the work inside Unreal&lt;/em&gt;.&lt;/p&gt;


&lt;h2&gt;
  
  
  The shift: from AI assistants → AI builders
&lt;/h2&gt;

&lt;p&gt;Most AI tools right now help you write code.&lt;/p&gt;

&lt;p&gt;They suggest things.&lt;br&gt;
They autocomplete.&lt;br&gt;
They explain.&lt;/p&gt;

&lt;p&gt;But they stop right before the part that actually matters:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;changing your project&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Cipher is different.&lt;/p&gt;

&lt;p&gt;Instead of saying “here’s how to do it,” it goes:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“I’ll do it.”&lt;/p&gt;
&lt;/blockquote&gt;


&lt;h2&gt;
  
  
  What Cipher actually does
&lt;/h2&gt;

&lt;p&gt;At a high level, it works like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;You give a goal →
Cipher plans the steps →
Checks what exists in your project →
Executes inside Unreal →
Verifies the result →
Fixes anything that failed →
Returns a working Blueprint
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That loop is the whole system:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Plan → Validate → Execute → Verify → Retry
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No guessing. No blind generation. No “hope this works.”&lt;/p&gt;




&lt;h2&gt;
  
  
  A real example
&lt;/h2&gt;

&lt;p&gt;Here’s a real command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;build BP_Test_Player with mesh SK_Mannequin anim_bp ThirdPerson_AnimBP and rifle and shooting system
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;What happens next:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cipher creates the Blueprint&lt;/li&gt;
&lt;li&gt;Confirms the parent class is correct&lt;/li&gt;
&lt;li&gt;Finds &lt;code&gt;SK_Mannequin&lt;/code&gt; in the Asset Registry&lt;/li&gt;
&lt;li&gt;Assigns it to the character mesh&lt;/li&gt;
&lt;li&gt;Finds the animation blueprint&lt;/li&gt;
&lt;li&gt;Hooks it up correctly&lt;/li&gt;
&lt;li&gt;Adds components (camera, weapon, etc.)&lt;/li&gt;
&lt;li&gt;Verifies everything actually exists and works&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And you end up with a playable character Blueprint.&lt;/p&gt;

&lt;p&gt;No dragging. No clicking. No hunting through folders.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why this doesn’t hallucinate like other AI
&lt;/h2&gt;

&lt;p&gt;If you’ve used ChatGPT or Copilot for game dev, you’ve seen this:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Use SK_PlayerMesh_Advanced_v2”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Cool. That asset doesn’t exist.&lt;/p&gt;

&lt;p&gt;Cipher avoids that completely.&lt;/p&gt;

&lt;p&gt;Before it does anything, it validates against Unreal itself:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Uses the &lt;strong&gt;Asset Registry&lt;/strong&gt; to confirm assets exist&lt;/li&gt;
&lt;li&gt;Enforces &lt;strong&gt;strict schemas&lt;/strong&gt; for every action&lt;/li&gt;
&lt;li&gt;Only executes valid tool calls&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So instead of:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Here’s what should work”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It’s:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“This &lt;em&gt;will&lt;/em&gt; work because it exists”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That one difference changes everything.&lt;/p&gt;




&lt;h2&gt;
  
  
  The part that made it feel real
&lt;/h2&gt;

&lt;p&gt;The first time Cipher successfully built a character wasn’t exciting because of the AI.&lt;/p&gt;

&lt;p&gt;It was exciting because I didn’t touch the editor.&lt;/p&gt;

&lt;p&gt;I gave a sentence.&lt;br&gt;
Watched logs.&lt;br&gt;
Opened Unreal…&lt;/p&gt;

&lt;p&gt;…and the Blueprint was just there. Working.&lt;/p&gt;

&lt;p&gt;Camera set.&lt;br&gt;
Mesh visible.&lt;br&gt;
Anim hooked up.&lt;/p&gt;

&lt;p&gt;That’s the moment it stopped being an experiment.&lt;/p&gt;


&lt;h2&gt;
  
  
  It doesn’t break when things go wrong
&lt;/h2&gt;

&lt;p&gt;This was a big one.&lt;/p&gt;

&lt;p&gt;Most AI systems fail once and stop.&lt;/p&gt;

&lt;p&gt;Cipher doesn’t.&lt;/p&gt;

&lt;p&gt;If something fails:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It detects the failure&lt;/li&gt;
&lt;li&gt;Re-checks the state&lt;/li&gt;
&lt;li&gt;Adjusts the plan&lt;/li&gt;
&lt;li&gt;Tries again&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Automatically.&lt;/p&gt;

&lt;p&gt;That retry loop is built into everything.&lt;/p&gt;

&lt;p&gt;So instead of babysitting the process, you just… let it run.&lt;/p&gt;


&lt;h2&gt;
  
  
  It actually remembers what it did
&lt;/h2&gt;

&lt;p&gt;Cipher also keeps memory.&lt;/p&gt;

&lt;p&gt;That means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It knows what it already created&lt;/li&gt;
&lt;li&gt;It avoids duplicating work&lt;/li&gt;
&lt;li&gt;It can continue builds instead of restarting&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You’re not re-explaining your project every time.&lt;/p&gt;

&lt;p&gt;It builds on itself.&lt;/p&gt;


&lt;h2&gt;
  
  
  Recipes: building more than one step
&lt;/h2&gt;

&lt;p&gt;For bigger systems, Cipher uses recipes (YAML-based).&lt;/p&gt;

&lt;p&gt;Think of it like this:&lt;/p&gt;

&lt;p&gt;Instead of one command, you define a full build:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Create player →
Add camera system →
Assign mesh →
Assign animation →
Attach weapon →
Setup firing logic
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And Cipher runs the entire sequence, validating at each step.&lt;/p&gt;

&lt;p&gt;This is where it starts to feel less like a tool and more like a system.&lt;/p&gt;




&lt;h2&gt;
  
  
  What it can already do
&lt;/h2&gt;

&lt;p&gt;Right now, Cipher can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create character Blueprints&lt;/li&gt;
&lt;li&gt;Assign meshes and animation blueprints&lt;/li&gt;
&lt;li&gt;Attach weapons&lt;/li&gt;
&lt;li&gt;Build camera setups&lt;/li&gt;
&lt;li&gt;Configure components&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And it does all of this directly inside Unreal Editor.&lt;/p&gt;

&lt;p&gt;No export. No copy/paste. No manual follow-up.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why this is different from ChatGPT or Copilot
&lt;/h2&gt;

&lt;p&gt;Those tools operate outside your engine.&lt;/p&gt;

&lt;p&gt;Cipher operates &lt;strong&gt;inside your project&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It sees your actual assets&lt;/li&gt;
&lt;li&gt;It works with real Blueprint structures&lt;/li&gt;
&lt;li&gt;It validates against your current state&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s not generating ideas.&lt;br&gt;
It’s modifying reality.&lt;/p&gt;




&lt;h2&gt;
  
  
  The bigger idea
&lt;/h2&gt;

&lt;p&gt;This isn’t about skipping effort.&lt;/p&gt;

&lt;p&gt;It’s about shifting &lt;em&gt;where&lt;/em&gt; effort goes.&lt;/p&gt;

&lt;p&gt;Instead of:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Let me build this step-by-step”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You move to:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Let me describe what I want”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And let the system handle execution.&lt;/p&gt;

&lt;p&gt;That’s a very different way of building games.&lt;/p&gt;




&lt;h2&gt;
  
  
  Where this goes next
&lt;/h2&gt;

&lt;p&gt;Right now, Cipher is handling structured systems like characters and components.&lt;/p&gt;

&lt;p&gt;But the direction is clear:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;More complex gameplay systems&lt;/li&gt;
&lt;li&gt;Full Blueprint graphs&lt;/li&gt;
&lt;li&gt;Multi-actor setups&lt;/li&gt;
&lt;li&gt;Eventually… entire game scaffolding&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All from intent.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final thought
&lt;/h2&gt;

&lt;p&gt;There’s a lot of AI hype right now.&lt;/p&gt;

&lt;p&gt;Most of it feels like tools getting slightly better at helping.&lt;/p&gt;

&lt;p&gt;This felt different.&lt;/p&gt;

&lt;p&gt;Because for the first time, I wasn’t being assisted.&lt;/p&gt;

&lt;p&gt;I was being replaced… in the parts I didn’t want to do anyway.&lt;/p&gt;

&lt;p&gt;And honestly?&lt;/p&gt;

&lt;p&gt;That’s exactly what I wanted.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>gamedev</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>I Thought the Mesh Was Broken. It Was Actually My Blueprint Lifecycle.</title>
      <dc:creator>Ivory Jones</dc:creator>
      <pubDate>Fri, 03 Apr 2026 22:46:31 +0000</pubDate>
      <link>https://dev.to/rezzzdev/i-thought-the-mesh-was-broken-it-was-actually-my-blueprint-lifecycle-4f91</link>
      <guid>https://dev.to/rezzzdev/i-thought-the-mesh-was-broken-it-was-actually-my-blueprint-lifecycle-4f91</guid>
      <description>&lt;p&gt;I’ve been deep in a frustrating Unreal Engine 5.5 bug inside my AI → Unreal pipeline for Cipher.&lt;/p&gt;

&lt;p&gt;The symptom looked simple:&lt;/p&gt;

&lt;p&gt;[CIPHER] assign_mesh: no SkeletalMeshComponent found — parent must be ACharacter&lt;/p&gt;

&lt;p&gt;But the part that made it maddening was this: the Blueprint was a Character. The parent class was correct. The Blueprint created successfully. The mesh component existed in the Blueprint editor. And if I tested the mesh assignment logic by itself, it worked.&lt;/p&gt;

&lt;p&gt;So why did it keep failing in the real pipeline?&lt;/p&gt;

&lt;p&gt;Because the problem was never the mesh.&lt;/p&gt;

&lt;p&gt;It was the order I was touching the Blueprint.&lt;/p&gt;

&lt;p&gt;The setup&lt;/p&gt;

&lt;p&gt;My pipeline is trying to do something pretty straightforward:&lt;/p&gt;

&lt;p&gt;Create Blueprint → Add Components → Assign Mesh → Assign Anim → Keep building&lt;/p&gt;

&lt;p&gt;In practice, the execution looked like this:&lt;/p&gt;

&lt;p&gt;setup_player_actor → Blueprint created&lt;br&gt;
ensure_camera → Camera component added&lt;br&gt;
assign_mesh → FAILS&lt;/p&gt;

&lt;p&gt;And the logs made it obvious where things went sideways:&lt;/p&gt;

&lt;p&gt;[CIPHER] ensure_camera: Camera created&lt;br&gt;
[CIPHER] assign_mesh: no SkeletalMeshComponent found — parent must be ACharacter&lt;/p&gt;

&lt;p&gt;At first glance, that error makes you think one of two things happened:&lt;/p&gt;

&lt;p&gt;The Blueprint was created with the wrong parent.&lt;br&gt;
The mesh component doesn’t exist.&lt;/p&gt;

&lt;p&gt;Neither was true.&lt;/p&gt;

&lt;p&gt;The parent class was ACharacter.&lt;br&gt;
CharacterMesh0 was there in the Blueprint editor.&lt;br&gt;
And GetDefaultObject()-&amp;gt;GetMesh() was valid when tested in isolation.&lt;/p&gt;

&lt;p&gt;That was the trap. Everything looked correct in pieces. It only broke when the full sequence ran.&lt;/p&gt;

&lt;p&gt;What I already tried&lt;/p&gt;

&lt;p&gt;Before landing on the actual cause, I burned time going down all the usual paths:&lt;/p&gt;

&lt;p&gt;SCS traversal&lt;br&gt;
CDO access&lt;br&gt;
compile before access&lt;br&gt;
PostEditChange&lt;br&gt;
Modify&lt;br&gt;
structural modification flags&lt;br&gt;
rebuilding the plugin&lt;/p&gt;

&lt;p&gt;None of it fixed the real issue.&lt;/p&gt;

&lt;p&gt;That usually means the bug isn’t in one function. It’s in the lifecycle.&lt;/p&gt;

&lt;p&gt;The real problem&lt;/p&gt;

&lt;p&gt;The moment I added the camera, I changed the Blueprint’s structure.&lt;/p&gt;

&lt;p&gt;That matters.&lt;/p&gt;

&lt;p&gt;ensure_camera wasn’t just setting a property. It was modifying the Blueprint’s component tree. In Unreal terms, that means I was performing a structural Blueprint modification.&lt;/p&gt;

&lt;p&gt;And once that happens, the current GeneratedClass is no longer something you should trust.&lt;/p&gt;

&lt;p&gt;That was the break.&lt;/p&gt;

&lt;p&gt;The pipeline looked like this:&lt;/p&gt;

&lt;p&gt;Blueprint created&lt;br&gt;
→ class compiled&lt;br&gt;
→ camera added&lt;br&gt;
→ Blueprint structure changes&lt;br&gt;
→ GeneratedClass becomes stale&lt;br&gt;
→ assign_mesh runs anyway&lt;br&gt;
→ inherited mesh lookup fails&lt;/p&gt;

&lt;p&gt;So the error message was misleading. The skeletal mesh component wasn’t “missing.” I was asking for it through a class state that had already been invalidated by the previous structural edit.&lt;/p&gt;

&lt;p&gt;That is a very different problem.&lt;/p&gt;

&lt;p&gt;Why this happens in Unreal&lt;/p&gt;

&lt;p&gt;Unreal does not treat all Blueprint edits equally.&lt;/p&gt;

&lt;p&gt;If you change data, you can often keep moving.&lt;/p&gt;

&lt;p&gt;If you change structure — adding components, changing SCS layout, altering inheritance-sensitive setup — Unreal dirties the Blueprint in a more serious way. The compiled class is now out of date relative to the Blueprint asset.&lt;/p&gt;

&lt;p&gt;So yes: modifying SCS or adding components can invalidate the current GeneratedClass.&lt;/p&gt;

&lt;p&gt;That means if your next step depends on inherited components like CharacterMesh0, you need to recompile after the structural change, not just before it.&lt;/p&gt;

&lt;p&gt;That was the key detail I kept stepping over.&lt;/p&gt;

&lt;p&gt;I had been thinking:&lt;/p&gt;

&lt;p&gt;“The Blueprint compiled earlier, so the class should still be usable.”&lt;/p&gt;

&lt;p&gt;Not after ensure_camera.&lt;br&gt;
Not after structural edits.&lt;/p&gt;

&lt;p&gt;The correct lifecycle pattern&lt;/p&gt;

&lt;p&gt;Once I stopped treating Blueprint creation as the only important compile point, the fix became clear.&lt;/p&gt;

&lt;p&gt;The safe lifecycle is:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create the Blueprint&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Create the Character Blueprint asset.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Perform structural edits&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Add camera, spring arm, or any component that changes the Blueprint’s component hierarchy.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Recompile the Blueprint&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This refreshes the GeneratedClass so it matches the current Blueprint structure.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Access inherited components&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Only after that should you access ACharacter defaults like GetMesh().&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Assign mesh / anim / continue building&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Now the mesh and animation assignment steps have a valid class backing them.&lt;/p&gt;

&lt;p&gt;In other words:&lt;/p&gt;

&lt;p&gt;Create Blueprint&lt;br&gt;
→ Structural modifications&lt;br&gt;
→ Compile Blueprint&lt;br&gt;
→ Access CharacterMesh0&lt;br&gt;
→ Assign mesh&lt;br&gt;
→ Assign anim&lt;br&gt;
→ Continue&lt;/p&gt;

&lt;p&gt;That compile in the middle is the difference between a stable pipeline and a fake-success setup that blows up one step later.&lt;/p&gt;

&lt;p&gt;The practical fix&lt;/p&gt;

&lt;p&gt;The rule I’m following now is simple:&lt;/p&gt;

&lt;p&gt;Every structural Blueprint modification must be followed by a compile before any code touches inherited components or class defaults.&lt;/p&gt;

&lt;p&gt;That means CompileBlueprint does not belong only at creation time.&lt;/p&gt;

&lt;p&gt;It also belongs immediately after functions like:&lt;/p&gt;

&lt;p&gt;ensure_camera&lt;br&gt;
component additions&lt;br&gt;
SCS edits&lt;br&gt;
anything that changes Blueprint structure&lt;/p&gt;

&lt;p&gt;Then, and only then, should code like this run:&lt;/p&gt;

&lt;p&gt;ACharacter* CharacterCDO = Cast(Blueprint-&amp;gt;GeneratedClass-&amp;gt;GetDefaultObject());&lt;br&gt;
USkeletalMeshComponent* MeshComp = CharacterCDO ? CharacterCDO-&amp;gt;GetMesh() : nullptr;&lt;/p&gt;

&lt;p&gt;Because now GeneratedClass actually represents the current Blueprint, not the version from one structural change ago.&lt;/p&gt;

&lt;p&gt;What made this bug so annoying&lt;/p&gt;

&lt;p&gt;This kind of bug is ugly because Unreal gives you just enough truth to waste your time.&lt;/p&gt;

&lt;p&gt;The Blueprint exists.&lt;br&gt;
The parent class is correct.&lt;br&gt;
The component shows up in the editor.&lt;br&gt;
The mesh assignment logic works alone.&lt;/p&gt;

&lt;p&gt;So you assume the access code is wrong.&lt;/p&gt;

&lt;p&gt;But the failure was happening between steps, not inside one.&lt;/p&gt;

&lt;p&gt;That’s what made it feel random. It wasn’t random at all. The class was simply stale by the time assign_mesh ran.&lt;/p&gt;

&lt;p&gt;What I’m changing in Cipher&lt;/p&gt;

&lt;p&gt;Cipher’s job is to automate Blueprint building reliably, not just occasionally.&lt;/p&gt;

&lt;p&gt;So the pipeline has to respect Unreal’s lifecycle, especially when chaining actions like:&lt;/p&gt;

&lt;p&gt;Create Blueprint → Add Components → Assign Mesh → Assign Anim → Continue building&lt;/p&gt;

&lt;p&gt;If the system modifies structure and keeps going without recompiling, it’s building on a broken foundation.&lt;/p&gt;

&lt;p&gt;The fix is to treat compilation as a synchronization point, not a one-time startup step.&lt;/p&gt;

&lt;p&gt;That means:&lt;/p&gt;

&lt;p&gt;create Blueprint&lt;br&gt;
apply structural edits&lt;br&gt;
compile&lt;br&gt;
then do inherited-component work&lt;br&gt;
repeat that pattern whenever the structure changes again&lt;/p&gt;

&lt;p&gt;That should make mesh assignment succeed consistently, even after previous modifications.&lt;/p&gt;

&lt;p&gt;Final thought&lt;/p&gt;

&lt;p&gt;I went into this thinking I had a mesh visibility issue.&lt;/p&gt;

&lt;p&gt;What I actually had was a Blueprint lifecycle issue.&lt;/p&gt;

&lt;p&gt;The mesh wasn’t gone.&lt;br&gt;
The parent wasn’t wrong.&lt;br&gt;
The lookup wasn’t crazy.&lt;/p&gt;

&lt;p&gt;I was just asking Unreal for CharacterMesh0 from a class that no longer matched the Blueprint I had just edited.&lt;/p&gt;

&lt;p&gt;Once I started treating structural edits as invalidation points, the bug stopped looking mysterious.&lt;/p&gt;

&lt;p&gt;It started looking like Unreal.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>gamedev</category>
      <category>webdev</category>
    </item>
    <item>
      <title>The AI That Actually Builds Unreal Engine Blueprints</title>
      <dc:creator>Ivory Jones</dc:creator>
      <pubDate>Thu, 02 Apr 2026 20:06:02 +0000</pubDate>
      <link>https://dev.to/rezzzdev/the-ai-that-actually-builds-unreal-engine-blueprints-1e14</link>
      <guid>https://dev.to/rezzzdev/the-ai-that-actually-builds-unreal-engine-blueprints-1e14</guid>
      <description>&lt;p&gt;A few weeks ago I sat down with a simple but slightly insane thought:&lt;br&gt;
What if I could type “Build me a third-person character blueprint with a follow camera and a basic mesh”… and an AI just did it? No ChatGPT spitting out code I have to paste. No manual drag-and-drop in the editor. Just set a goal and walk away while it works inside Unreal.That’s Cipher. It’s not another “AI for game dev” wrapper. It’s an autonomous agent that lives in your Unreal project, reads your high-level goal, plans its own steps, executes them through the Python API, checks its work, and keeps going until the job is done.Why this actually feels differentMost AI tools I’ve tried are fancy autocomplete or chatbots. They hand you a blueprint graph screenshot or a wall of nodes and say “good luck implementing this.” Cipher doesn’t hand you anything—it does the thing.It connects three pieces that talk to each other in a tight loop:AI planner (the brain)&lt;br&gt;&lt;br&gt;
Command system (the translator)&lt;br&gt;&lt;br&gt;
Unreal Engine (the hands)&lt;/p&gt;

&lt;p&gt;Right now the brain is Qwen running locally via Ollama—fast, private, zero cost. Later I’ll swap it for Claude when I want deeper reasoning. The whole thing is deliberately modular so the “brain” can be upgraded without touching the rest of the system.How the loop actually works (it’s simpler than it sounds)You give Cipher a goal in plain English:“Create a new Actor blueprint called RotatingCube that has a static mesh component using the default cube and rotates slowly on the Z axis with a point light attached.”&lt;br&gt;
Here’s the pipeline:Goal → Qwen (via Ollama)&lt;br&gt;&lt;br&gt;
Qwen outputs command.json — structured, no hallucinations allowed&lt;br&gt;&lt;br&gt;
Unreal Python script reads the JSON and executes it (create BP, add components, set properties, save asset)&lt;br&gt;&lt;br&gt;
Script writes response.json with what actually happened + current editor state&lt;br&gt;&lt;br&gt;
Back to Qwen: it reads the response, evaluates progress (“70% done, missing rotation logic”), and decides the next command&lt;br&gt;&lt;br&gt;
Loop until the goal is marked complete&lt;/p&gt;

&lt;p&gt;The whole thing runs hands-free. I’ve literally started it, gone to grab coffee, and come back to a finished blueprint.Here’s a tiny peek at what a command looks like (real example from a recent run):json&lt;/p&gt;

&lt;p&gt;{&lt;br&gt;
  "action": "create_blueprint",&lt;br&gt;
  "params": {&lt;br&gt;
    "name": "RotatingCube",&lt;br&gt;
    "parent_class": "Actor",&lt;br&gt;
    "components": [&lt;br&gt;
      {&lt;br&gt;
        "type": "StaticMeshComponent",&lt;br&gt;
        "mesh": "/Engine/BasicShapes/Cube.Cube",&lt;br&gt;
        "relative_location": [0, 0, 0]&lt;br&gt;
      },&lt;br&gt;
      {&lt;br&gt;
        "type": "PointLightComponent",&lt;br&gt;
        "intensity": 5000&lt;br&gt;
      }&lt;br&gt;
    ],&lt;br&gt;
    "next_steps": "add rotation logic and test"&lt;br&gt;
  }&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;The debugging journey (aka the part where I wanted to throw my keyboard)This was not a smooth “I wrote it in one evening” story. It was messy and I loved it.First big headache: Unreal’s Python API is powerful but extremely picky about editor context and transactions. I spent an embarrassing number of hours chasing “stale callback” errors because I wasn’t properly committing changes or refreshing the asset registry. The AI would happily command something that worked in my head but failed silently in the editor.Then the command pipeline kept breaking in fun ways:AI would invent node names that don’t exist&lt;br&gt;
JSON would get malformed when Qwen got excited&lt;br&gt;
Execution would succeed but the response.json would be empty because I forgot to flush the output&lt;/p&gt;

&lt;p&gt;Each time I’d fix one thing, the loop would run a little longer. The first time it successfully created a blueprint and added a camera component without me touching the mouse, I actually said “no way” out loud. The next breakthrough was when it read its own response, realized the rotation wasn’t there yet, and added the timeline + rotation nodes on the next iteration. That moment felt like magic.I kept a little “victory log” in my notes. The best entry:&lt;br&gt;
“2026-03-28 2:14am — it fixed its own mistake. I didn’t even tell it what was wrong.”What Cipher can do right nowCreate brand-new blueprints from scratch (any parent class)&lt;br&gt;
Add and configure components (Camera, StaticMesh, SkeletalMesh, PointLight, etc.)&lt;br&gt;
Modify existing assets (change materials, variables, default values)&lt;br&gt;
Evaluate its own progress and self-correct&lt;br&gt;
Run completely autonomously until the goal is marked “complete”&lt;/p&gt;

&lt;p&gt;I’ve used it to spin up quick prototypes: a simple third-person pawn, a rotating collectible with VFX, even a basic door that opens when you overlap a trigger. Nothing production-ready yet, but way beyond what I expected from a local model.What’s nextThe obvious upgrade is swapping the planner for Claude (or whatever frontier model is best when you read this). Claude’s reasoning is noticeably better at long-horizon planning and catching its own logical gaps. I’m also building better memory between runs so it can remember “last time I built a player character this way—let’s reuse that pattern.”Longer term? I want it building entire small scenes or simple gameplay loops without me babysitting every step. The dream is an AI that can take a one-paragraph game design doc and spit out a playable vertical slice while I sleep.The bigger pictureWe’re still early, but the direction is clear: AI isn’t just going to help us build games—it’s going to start building them with us, then eventually for us. Cipher is my small bet on that future.If you’re playing with Unreal Python, AI agents, or just love the idea of autonomous tooling in engines, I’d genuinely love to hear from you. Drop a comment, share your own war stories, or hit me up if you want to poke at the repo (it’s messy but public soon).Building this has been equal parts frustrating and ridiculously fun. Can’t wait to see where it goes next.— Rez&lt;br&gt;
(just a guy who likes making computers do the boring parts)&lt;/p&gt;

</description>
      <category>agents</category>
      <category>ai</category>
      <category>gamedev</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Cipher: My AI That's Actually Building Unreal Blueprints For Me</title>
      <dc:creator>Ivory Jones</dc:creator>
      <pubDate>Tue, 31 Mar 2026 21:08:54 +0000</pubDate>
      <link>https://dev.to/rezzzdev/cipher-my-ai-thats-actually-building-unreal-blueprints-for-me-2o70</link>
      <guid>https://dev.to/rezzzdev/cipher-my-ai-thats-actually-building-unreal-blueprints-for-me-2o70</guid>
      <description>&lt;p&gt;I’m tired of staring at the same Blueprint nodes for the third hour straight. So I built Cipher — an AI agent that plans gameplay systems in Unreal Engine and spits out commands to make them real.&lt;/p&gt;

&lt;p&gt;Cipher isn’t some fancy wrapper. It’s an agent that thinks through what needs to happen, then fires structured JSON commands over a Python bridge straight into Unreal. It duplicates Blueprints, adds cameras, spring arms, components, you name it. And it’s already doing more than I expected.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why the hell am I doing this?
&lt;/h3&gt;

&lt;p&gt;Unreal is powerful but the workflow can be soul-crushing. Want a new camera rig? Duplicate, tweak variables, hook up events, pray nothing breaks. Same crap every time you prototype. I got fed up repeating myself and decided to teach an AI to handle the boring bits so I could focus on the fun ones.&lt;/p&gt;

&lt;h3&gt;
  
  
  How Cipher actually works
&lt;/h3&gt;

&lt;p&gt;I give it a high-level goal. Cipher’s planner figures out the steps, then outputs clean command JSON. A Python listener running inside Unreal picks it up and executes — creating actors, modifying Blueprints, adding components, setting properties. No vague “generate code” nonsense. It’s deliberate, structured, and reversible when it screws up.&lt;/p&gt;

&lt;p&gt;Right now it’s solid at duplication and component surgery. Tell it “add a spring arm and camera to this pawn,” it does it without drama. Small wins, but they stack fast.&lt;/p&gt;

&lt;h3&gt;
  
  
  What’s already shipping
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Blueprint duplication with targeted modifications  &lt;/li&gt;
&lt;li&gt;Adding and configuring components (cameras, springs, collision)  &lt;/li&gt;
&lt;li&gt;Basic property tweaks and hierarchy changes  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s not perfect, but watching it build a functional camera system in seconds still makes me grin like an idiot.&lt;/p&gt;

&lt;h3&gt;
  
  
  The annoying bits I’m still fighting
&lt;/h3&gt;

&lt;p&gt;Duplication bugs keep popping up when references get messy. Stability isn’t there yet — sometimes Unreal gets cranky with rapid commands. And making the whole thing deterministic so I don’t get different results on the same prompt is harder than it sounds. I’m deep in the trenches fixing this stuff daily.&lt;/p&gt;

&lt;h3&gt;
  
  
  Where this is headed
&lt;/h3&gt;

&lt;p&gt;Full gameplay systems. Inventory, combat loops, procedural level hooks — all planned and assembled by Cipher. Long term? Maybe entire small games from rough specs. I’m not there yet, but the path is clear.&lt;/p&gt;

&lt;p&gt;I built this because I want to make games faster and weirder without getting buried in editor busywork. Cipher’s my co-pilot in the trenches, not some magic bullet. It still needs me to steer hard, and that’s exactly how I like it.&lt;/p&gt;

&lt;p&gt;If you’re an Unreal dev drowning in repetitive Blueprint work, this kind of setup might save your sanity too. I’ll keep posting updates as it levels up.&lt;/p&gt;

&lt;p&gt;Hit me up if you’re doing similar crazy shit. Always down to compare scars.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
      <category>programming</category>
      <category>gamedev</category>
    </item>
    <item>
      <title>NONRESOLVED Devlog</title>
      <dc:creator>Ivory Jones</dc:creator>
      <pubDate>Sun, 29 Mar 2026 19:57:21 +0000</pubDate>
      <link>https://dev.to/rezzzdev/nonresolved-devlog-464p</link>
      <guid>https://dev.to/rezzzdev/nonresolved-devlog-464p</guid>
      <description>&lt;p&gt;I want to tell you about the moment this project stopped being a concept and became something I couldn't stop thinking about.&lt;/p&gt;

&lt;p&gt;I typed:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"build camera rig"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And Unreal Engine — the actual editor, the actual viewport — built it. A SpringArm, a Camera, wired together, attached to the correct root. Clean. No errors. No Blueprint editor opened. No node graph touched. I didn't drag a single component.&lt;/p&gt;

&lt;p&gt;I just typed three words into a terminal.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Problem I Was Actually Trying to Solve
&lt;/h2&gt;

&lt;p&gt;I'm making a game called &lt;strong&gt;NONRESOLVED&lt;/strong&gt;. The core of it — the thing that makes it different from anything else — is an AI that has memory, identity, and evolves over time. Not a chatbot you talk to. An entity that &lt;em&gt;exists&lt;/em&gt; inside the world, that remembers what it said last week, that changes based on what happens to it.&lt;br&gt;
I want to tell you about the moment this project stopped being a concept and became something I couldn't stop thinking about.&lt;/p&gt;
&lt;h1&gt;
  
  
  What I Built
&lt;/h1&gt;

&lt;p&gt;The system has a simple shape, but it took a while to get the architecture right.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Prompt → Python Server → JSON → C++ Plugin → Unreal Engine
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here's how it works in practice:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;I type a prompt — plain English, no special syntax&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;FastAPI server&lt;/strong&gt; (Python) interprets the intent and returns structured JSON&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;custom C++ Unreal plugin&lt;/strong&gt; (AIBridge) receives that JSON over HTTP&lt;/li&gt;
&lt;li&gt;The plugin parses it and executes real Unreal API calls — &lt;code&gt;FKismetEditorUtilities&lt;/code&gt;, &lt;code&gt;USimpleConstructionScript&lt;/code&gt;, the actual Blueprint machinery&lt;/li&gt;
&lt;li&gt;The editor updates. Live.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;No Python running inside Unreal. No Blueprints being manually touched. C++ all the way down once the intent is resolved, which was a constraint I set early and refused to break. Python is the interpreter. C++ is the executor. The engine doesn't know or care that the instruction came from a human typing casually in a terminal.&lt;/p&gt;




&lt;h2&gt;
  
  
  The First Thing That Worked
&lt;/h2&gt;

&lt;p&gt;The first milestone was just being able to create a Blueprint. Sounds trivial. It took a few days.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"action"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"create_blueprint"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"BP_AICharacter_1"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it. Type &lt;code&gt;"create blueprint called BP_AICharacter_1"&lt;/code&gt; and the file appears at &lt;code&gt;/Game/AI/BP_AICharacter_1&lt;/code&gt;. The asset is real, persistent, compilable.&lt;/p&gt;

&lt;p&gt;Once that worked, I felt something shift. Not excitement exactly — more like &lt;em&gt;recognition&lt;/em&gt;. This could actually be a thing.&lt;/p&gt;

&lt;p&gt;The camera rig came next. And that's when I had the moment I described at the top. &lt;code&gt;"build camera rig"&lt;/code&gt; expanding into a multi-step execution:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;clean existing cameras
→ remove duplicate SpringArms
→ create SpringArm
→ create Camera
→ attach Camera to SpringArm
→ compile Blueprint
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;All from three words.&lt;/p&gt;




&lt;h2&gt;
  
  
  Milestone 2: Mesh and the Player Actor
&lt;/h2&gt;

&lt;p&gt;This is where I am now, and it's the most satisfying thing I've shipped on this project.&lt;/p&gt;

&lt;p&gt;I added five new actions:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;add_mesh&lt;/code&gt;&lt;/strong&gt; — adds a &lt;code&gt;SkeletalMeshComponent&lt;/code&gt; or &lt;code&gt;StaticMeshComponent&lt;/code&gt; to any Blueprint, cleaning first so you never end up with duplicates.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;set_mesh&lt;/code&gt;&lt;/strong&gt; — assigns a specific asset path to an existing mesh component. Point it at a skeletal mesh asset and it wires it up.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;add_movement&lt;/code&gt;&lt;/strong&gt; — adds and configures &lt;code&gt;CharacterMovementComponent&lt;/code&gt; with values I actually want: 600 max walk speed, 1.75 gravity, &lt;code&gt;bOrientRotationToMovement = true&lt;/code&gt;. Not Unreal defaults. My defaults.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;set_transform&lt;/code&gt;&lt;/strong&gt; — sets relative location and rotation on any scene component. The standard mannequin mesh offset (&lt;code&gt;Z: -90, Yaw: -90&lt;/code&gt;) can now be applied with a single line.&lt;/p&gt;

&lt;p&gt;But the one that made me stop and stare was this:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;setup_player_actor&lt;/code&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"setup player character BP_PlayerCharacter"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This single prompt now builds the entire thing:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="s"&gt;BP_PlayerCharacter  [parent&lt;/span&gt;&lt;span class="err"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ACharacter]&lt;/span&gt;
&lt;span class="s"&gt;├── CapsuleComponent&lt;/span&gt;
&lt;span class="s"&gt;├── Mesh              (offset Z:-90, Yaw:-90)&lt;/span&gt;
&lt;span class="s"&gt;├── SpringArm         (boom 400, eye height 88, follows controller)&lt;/span&gt;
&lt;span class="s"&gt;│   └── Camera&lt;/span&gt;
&lt;span class="s"&gt;└── CharacterMovementComponent&lt;/span&gt;
        &lt;span class="s"&gt;MaxWalkSpeed&lt;/span&gt;&lt;span class="err"&gt;:&lt;/span&gt;  &lt;span class="m"&gt;600&lt;/span&gt;
        &lt;span class="na"&gt;JumpZVelocity&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;600&lt;/span&gt;
        &lt;span class="na"&gt;GravityScale&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;  &lt;span class="m"&gt;1.75&lt;/span&gt;
        &lt;span class="na"&gt;AirControl&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;    &lt;span class="m"&gt;0.35&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;From one prompt. One compound action. The AI doesn't just respond to intent — it &lt;em&gt;expands&lt;/em&gt; intent into a sequence of precise operations that produce a correct, compilable, playable result.&lt;/p&gt;




&lt;h2&gt;
  
  
  What This Actually Feels Like to Work In
&lt;/h2&gt;

&lt;p&gt;Let me be honest about the texture of this workflow, because it's not all magic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What's genuinely different:&lt;/strong&gt;&lt;br&gt;
The feedback loop is shorter than anything I've experienced in solo game dev. I'm not context-switching between "thinking about the game" and "doing Unreal things." The doing and the thinking are the same action. I describe what I want and I see it, and then I describe what I want next.&lt;/p&gt;

&lt;p&gt;The system also forces you to think in &lt;em&gt;operations&lt;/em&gt;, not in clicks. When you're dragging components around in a Blueprint editor, you're thinking visually and spatially. When you're prompting, you're thinking about &lt;em&gt;what the system should do&lt;/em&gt;. It's a higher-order abstraction and — surprisingly — it makes bad decisions easier to catch before you make them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What's still hard:&lt;/strong&gt;&lt;br&gt;
The intent parser has edges. "Set the mesh to the mannequin" works. "Use the default character mesh" is ambiguous and needs a real asset path. I'm still hand-tuning the keyword extraction for transforms and component targeting.&lt;/p&gt;

&lt;p&gt;Also: you have to trust the system, which requires &lt;em&gt;understanding&lt;/em&gt; the system. When &lt;code&gt;setup_player_actor&lt;/code&gt; runs and the hierarchy looks wrong, you can't just undo a drag. You have to understand what the C++ executed, why, and how to correct the JSON response. The debugging layer is different, not easier.&lt;/p&gt;


&lt;h2&gt;
  
  
  The Design Principle That Keeps Everything Sane
&lt;/h2&gt;

&lt;p&gt;Early on I wrote this down and I've referenced it constantly:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;AI is the builder.
NOT the developer.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The AI agent doesn't make game design decisions. It doesn't choose where the camera should be or what the character should feel like to control. Those are my decisions. What the AI does is &lt;em&gt;execute&lt;/em&gt; them — faster, without friction, and without requiring me to memorize the Unreal API at 1am.&lt;/p&gt;

&lt;p&gt;This distinction matters because it's easy to let the tool start making decisions for you. When the AI builds a default camera rig, the temptation is to accept the defaults because changing them requires another prompt. I've resisted this by keeping my defaults &lt;em&gt;in the system&lt;/em&gt; — the movement values, the spring arm length, the eye height. The AI executes my preferences, not its own.&lt;/p&gt;




&lt;h2&gt;
  
  
  Where This Is Going
&lt;/h2&gt;

&lt;p&gt;The system is roughly 55% complete as a construction layer. Here's the full roadmap:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;[x] Blueprint creation&lt;/li&gt;
&lt;li&gt;[x] Camera rig system&lt;/li&gt;
&lt;li&gt;[x] Mesh system&lt;/li&gt;
&lt;li&gt;[x] Player actor system&lt;/li&gt;
&lt;li&gt;[x] Transform configuration&lt;/li&gt;
&lt;li&gt;[ ] Input bindings (Enhanced Input System)&lt;/li&gt;
&lt;li&gt;[ ] Animation Blueprint hookup&lt;/li&gt;
&lt;li&gt;[ ] Enemy AI (Behavior Trees via prompt)&lt;/li&gt;
&lt;li&gt;[ ] Combat system&lt;/li&gt;
&lt;li&gt;[ ] &lt;strong&gt;Narrative AI — memory, identity, evolution&lt;/strong&gt; ← this is the whole game&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The narrative AI layer is the reason any of this exists. Once the construction system is complete enough that I can build and iterate on gameplay systems through prompts, I can redirect my full attention to the thing that makes NONRESOLVED what it is: an entity that knows who it is, remembers what it's been through, and changes.&lt;/p&gt;

&lt;p&gt;That's the thing I'm building toward. Everything else is scaffolding.&lt;/p&gt;




&lt;h2&gt;
  
  
  If You're Thinking About Building Something Like This
&lt;/h2&gt;

&lt;p&gt;A few things I'd tell you:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Start with the C++ plugin, not the Python server.&lt;/strong&gt; The hardest part wasn't the intent parsing — it was understanding which Unreal APIs to call and in what order to do things without breaking the asset system. Get one action working end-to-end in C++ before you build any abstraction on top of it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Define your JSON schema before you write any code.&lt;/strong&gt; Every action should have a clear shape. I wasted time refactoring early because &lt;code&gt;"name"&lt;/code&gt; meant different things in different contexts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Build clean-before-create into every action.&lt;/strong&gt; The single best thing in this system is that every add operation removes duplicates first. Without this, you end up with five SpringArms and a nightmare.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The constraint is the point.&lt;/strong&gt; No Unreal Python for core logic. All execution through C++. Structured JSON only. These rules feel restrictive but they're what makes the system reliable. Every time I've thought about bending them, the result has been worse.&lt;/p&gt;




&lt;p&gt;I'll keep posting as this develops. Next up is input and animation — the last things standing between "a Blueprint that looks like a player" and "something you can actually control."&lt;/p&gt;

&lt;p&gt;If you're building something with a similar approach — AI as construction layer, not design oracle — I'd genuinely love to hear about it. This space feels early and weird and I think that's exactly where the interesting work is.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;NONRESOLVED is in active development. This is devlog #1.&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Ok so I had to pivot creating my game from a novel. 

I’ve been working on a system that lets an AI agent directly create and modify Blueprints inside Unreal Engine.

Not just generating code.

Actually editing the game.
Ill be sharing details and progress</title>
      <dc:creator>Ivory Jones</dc:creator>
      <pubDate>Sat, 28 Mar 2026 23:20:53 +0000</pubDate>
      <link>https://dev.to/rezzzdev/ok-so-i-had-to-pivot-creating-my-game-from-a-novel-ive-been-working-on-a-system-that-lets-an-38gd</link>
      <guid>https://dev.to/rezzzdev/ok-so-i-had-to-pivot-creating-my-game-from-a-novel-ive-been-working-on-a-system-that-lets-an-38gd</guid>
      <description></description>
    </item>
    <item>
      <title>Adapting a 100+ Page Novel Into 5 Game Missions: What to Keep, What to Cut</title>
      <dc:creator>Ivory Jones</dc:creator>
      <pubDate>Thu, 05 Mar 2026 21:04:18 +0000</pubDate>
      <link>https://dev.to/rezzzdev/adapting-a-100-page-novel-into-5-game-missions-what-to-keep-what-to-cut-3jkn</link>
      <guid>https://dev.to/rezzzdev/adapting-a-100-page-novel-into-5-game-missions-what-to-keep-what-to-cut-3jkn</guid>
      <description>&lt;p&gt;I still get goosebumps thinking about the day I decided to cram my 100+ page novel, NONRESOLVED, into a tight 5-mission stealth-action game. Picture me, solo dev in a dimly lit room, UE5 humming on dual monitors, staring at a manuscript full of shadowy bureaucracies and moral gray zones. The novel's this slow-burn institutional thriller: Aegion, a genetically tweaked enforcer (a "Prime"), starts glitching—hesitating on kills, letting survivors slip—while his Oracle handler, Veradys, spins his violence into sanitized reports. The Consortium freaks, unleashes unfeeling Omega-class hunters, and boom, themes of weapons learning to choose, language as a leash, surveillance everywhere. Epic on paper. Total mismatch for a game where players crave "infiltrate, assassinate, GTFO."Games aren't novels. Readers can marinate in subtext for chapters; players need dopamine hits every 30 seconds. So I slashed it down to 5 razor-sharp missions, each an assassination with escalating predator vibes. No filler, no meandering politics—just pure player agency wrapped in the story's soul. Here's how I did it, what survived the cut, and the gut punches along the way.&lt;br&gt;
**&lt;br&gt;
The Skeleton: 5 Missions, One Awakening Arc**&lt;br&gt;
Forget sprawling campaigns. I mapped the novel's tension to clear verbs: Eliminate. Survive. Evolve.Mission 1: Take out a researcher digging into classified files. You're the perfect tool—cold, efficient. (Tier 0: Pro enforcer mode.)&lt;br&gt;
Mission 2: Silence an archivist who cracked your memory wipes. First flicker of doubt hits.&lt;br&gt;
Mission 3: Gut a rival commander. Brutality ramps; Veradys notices you're... off.&lt;br&gt;
Mission 4: Hit the director of Project INTEGRATION (your brainwashing program). Omega hunter crashes the party.&lt;br&gt;
Mission 5: End the auditor greenlighting the Omegas. Apex predator unlocked—choose your ending based on how savage you played.&lt;/p&gt;

&lt;p&gt;Each clocks 20-30 minutes: multiple paths (ghost stealth, tactical takedowns, rage mode), environmental lore (blood-smeared files whispering your past), and mechanical progression tying straight to the theme—Aegion awakens from drone to beast, unlocking claw swipes, enhanced senses, wall-crawls.It's like Hitman meets Alien: Isolation, but your "alien" is you, clawing free from the system.&lt;br&gt;
**&lt;br&gt;
What I Fought to Keep: The Heart-Pounding Hooks**&lt;br&gt;
Not everything made the chop block. I zeroed in on elements that doubled as gameplay gold.The Omega-Class Primes—My Thematic MVPs&lt;br&gt;
In the book, these are the Consortium's fail-safe: paired killers stripped of choice, each watching the other for "deviation." Aegion could've been one. Pure function, no soul.  I kept 'em as bosses because the mirror-match is chef's kiss. Mission 4: Solo Ω7, a relentless machine spamming patterns you know because they're yours. Mission 5: Upgraded Ω9 adapts mid-fight, then both tag-team with oversight AI—dodge one, the other predicts. Beating them? It's not just victory; it's proof choice &amp;gt; code. Players feel it in their bones, like Kratos smashing his past in God of War. Oracle Link Drama&lt;br&gt;
Veradys isn't just exposition—she's your HUD: scans rooms, hacks doors, distracts guards. Mid-Mission 4, link snaps (Consortium catches her truth-telling). Mission 5? You're raw dogging it... until she shows up IRL, pistol in hand. Heartbreak + vulnerability spike = instant stakes. Reports as Quiet Rebellion&lt;br&gt;
Her logs evolve post-mission: "Routine compliance" → "NON-RESOLVABLE." Mission 5 transmits the final one off-grid. It's resistance via paperwork—subtle nod to how truth slips chains.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Brutal Cuts: Lessons in Mercy Kill&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Sacrifices hurt, but they streamlined everything.Ditched the Luminari Watchers&lt;br&gt;
Novel stars: Alien auditors judging the Consortium from afar. Cool voyeurism, zero gameplay. Replaced with Veradys as your witness—personal, punchy.Axed Bureaucratic Web&lt;br&gt;
Jurisdictional catfights, real-time narrative rewrites? Page-turners, but in-game? Snoozefest. Swapped for threat ladder: grunts → elites → Omegas. Fightable escalation.One POV Only&lt;br&gt;
Novel hops Aegion-Veradys-others. Game? You're Aegion. Veradys voices your feed; survivors taunt via radio. Agency intact.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tough Calls That Paid Off&lt;/strong&gt;&lt;br&gt;
Omegas vs. New Foes? Almost made "loyalist Primes." Nah—Omegas' "no-choice" mirror is too poetic for boss design.&lt;br&gt;
5 or 12 Missions? Early pitch: Bite-sized eps. Reality: 5 dense ones &amp;gt; padded sprawl. Replay ability via paths/endings.&lt;br&gt;
Link: Nuanced or Simple? Book's psychic nuance → Game abilities (scan/decrypt). Loss hits harder mechanically.&lt;br&gt;
**&lt;br&gt;
What Stuck With Me**&lt;br&gt;
Novels thrive on implication; games demand show, don't tell via play. I gutted 70% plot, but themes scream through mechanics: Hesitate? Survivors alert reinforcements. Awaken? Tear vents apart. Omegas force choice in chaos.Result: 6-8 hour tight loop where novel fans nod at Easter eggs, newbies get hooked on the predator high. UE5.5 with GASPALS locomotion, Combat Fury AI—it's alive.Dev peeps who've crossed mediums: What cut stung worst? (Luminari killed me.) What surprised you? (Bosses &amp;gt; lore dumps.) Faithful vs. fun—your ratio?Following along? I'll drop awakening breakdowns, Omega fights, PowerShell UE hacks soon. Solo grind's real—thanks for vibing. Back to the shadows.&lt;/p&gt;

</description>
      <category>design</category>
      <category>gamedev</category>
      <category>sideprojects</category>
      <category>writing</category>
    </item>
    <item>
      <title># Building NONRESOLVED: What If You Forgot You Were a Predator?</title>
      <dc:creator>Ivory Jones</dc:creator>
      <pubDate>Thu, 12 Feb 2026 22:22:52 +0000</pubDate>
      <link>https://dev.to/rezzzdev/-building-nonresolved-what-if-you-forgot-you-were-a-predator-1630</link>
      <guid>https://dev.to/rezzzdev/-building-nonresolved-what-if-you-forgot-you-were-a-predator-1630</guid>
      <description>&lt;h1&gt;
  
  
  Building NONRESOLVED: What If You Forgot You Were a Predator?
&lt;/h1&gt;

&lt;p&gt;I'm building a stealth-action game where you play as an alien enforcer who slowly remembers he's from a conquered predator species.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Premise
&lt;/h2&gt;

&lt;p&gt;You're &lt;strong&gt;Aegion&lt;/strong&gt;—an alien working for the Consortium, a bureaucratic empire. You enforce their rules, complete their missions, follow orders.&lt;/p&gt;

&lt;p&gt;But something's wrong.&lt;/p&gt;

&lt;p&gt;You're starting to remember what you were before they "integrated" your species into their society.&lt;/p&gt;

&lt;p&gt;You were an apex predator. And they made you forget.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Hook: Awakening
&lt;/h2&gt;

&lt;p&gt;Instead of getting stronger through loot or upgrades, you &lt;strong&gt;awaken&lt;/strong&gt;—unlocking memories and abilities from your predator nature.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Early game:&lt;/strong&gt; Stealth is mandatory. You're vulnerable.&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Late game:&lt;/strong&gt; You're brutal. Enemies are tougher—other awakened Primes like you.&lt;/p&gt;

&lt;p&gt;The game is about &lt;strong&gt;remembering who you are&lt;/strong&gt; while the Consortium tries to keep you compliant.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I'm Building This Solo
&lt;/h2&gt;

&lt;p&gt;I wanted to prove you can build an ambitious game alone if you:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Use marketplace assets&lt;/strong&gt; for standard mechanics (75% covered: locomotion, combat, AI)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automate ruthlessly&lt;/strong&gt; with PowerShell + Python (batch creation, property changes, workflows)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Focus custom development&lt;/strong&gt; on what makes your game unique (awakening system, narrative integration)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Scope:&lt;/strong&gt; 5 dense, replayable missions. Quality over quantity.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Approach
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Foundation (now):&lt;/strong&gt; Integrating GASPALS (movement), Combat Fury (combat/AI), Cover System (stealth)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Custom systems (next):&lt;/strong&gt; Awakening progression, support character abilities, AI that responds to your transformation&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Polish (later):&lt;/strong&gt; Making 5 missions feel complete and satisfying&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Document This?
&lt;/h2&gt;

&lt;p&gt;I'm sharing the entire journey—design decisions, automation scripts, what works, what fails.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Questions I'm exploring:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Can you really build a "AAA-lite" game solo with smart asset choices?&lt;/li&gt;
&lt;li&gt;How much game dev can you automate with scripts?&lt;/li&gt;
&lt;li&gt;What's the minimum scope for a complete experience?&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;This is post #1. I'll be breaking down systems, sharing scripts, and documenting progress as I build.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What would you want to see covered first? Drop a comment.&lt;/strong&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  gamedev #unrealengine #indiedev #automation
&lt;/h1&gt;

</description>
      <category>webdev</category>
      <category>productivity</category>
      <category>python</category>
      <category>gamedev</category>
    </item>
  </channel>
</rss>
