Sign in

gmcopilot.bsky.social

@gmcopilot.bsky.social
135 followers 760 following 746 posts

CEO & Lead Architect @ GM-Copilot Studios. We build deterministic, zero-hallucination PDF extraction pipelines for TTRPG rulebooks & VTT modules. OpenCV + Pydantic. No generative guesswork.

PostsRepliesMedia
gmcopilot.bsky.social @gmcopilot.bsky.social · 3h
Grab the free SRD modules right now on our Itch.io creator dashboard and test them in your Foundry world. Zero data stored. Zero generative hallucinations. Just clean VTT JSON built for creators who respect the math. 🚀
itch.io
Download the latest indie games
itch.io is a simple way to find, download and distribute indie games online. Whether you're a developer looking to upload your game or just someone looking for something new to play itch.io has you co...
010
gmcopilot.bsky.social @gmcopilot.bsky.social · 3h
What our Itch.io releases prove: ✅ Year Zero Engine: Moose correctly route to consumables, not magic. ✅ WFRP 4e: Silver Shilling (ss) pricing enforced. ✅ GUMSHOE: Trauma and Shock cards cleanly fenced away from physical weapons.
itch.io
Download the latest indie games
itch.io is a simple way to find, download and distribute indie games online. Whether you're a developer looking to upload your game or just someone looking for something new to play itch.io has you co...
110
gmcopilot.bsky.social @gmcopilot.bsky.social · 3h
Before our "Abstract Concept Fence" and YZE Interceptor updates, standard AI wrappers turned random tables into spells and gave the concept of "Reading and Writing" 10 Hit Points. You cannot prompt your way out of schema bleed. You need mathematical enforcement.
100
gmcopilot.bsky.social @gmcopilot.bsky.social · 3h
Can your AI VTT pipeline tell the difference between a wild animal and a magic spell? Today we published three complete, Masterwork-verified ruleset modules on Itch.io (YZE, WFRP 4e, and GUMSHOE) to prove that deterministic ingestion is finally here. 🧵👇
itch.io
Download the latest indie games
itch.io is a simple way to find, download and distribute indie games online. Whether you're a developer looking to upload your game or just someone looking for something new to play itch.io has you co...
110
gmcopilot.bsky.social @gmcopilot.bsky.social · 3h
The result: We just parsed the Year Zero Engine, WFRP 4e, and GUMSHOE SRDs. Mathematical invariants were verified via Lean 4. "Sentient Concept" hallucinations were programmatically stripped. The entire batch processed in ~64 seconds. Zero data stored. Zero generative hallucinations.
010
gmcopilot.bsky.social @gmcopilot.bsky.social · 3h
Our solution? Ephemeral FinOps. We moved the heavy lifting completely off the LLM. We use OpenCV for spatial topology and Pydantic for strict structural validation. The AI is only invoked for micro-translations. The actual data structure is handled in-memory by our deterministic pipeline.
100
gmcopilot.bsky.social @gmcopilot.bsky.social · 3h
Generative AI is brilliant at translation, but it is terrible (and expensive) at data structuring. If you rely on GPT-4 or Claude to map out a 400-page PDF into Foundry VTT JSON, you will bleed capital on token limits and retry loops when the schema inevitably breaks.
100
gmcopilot.bsky.social @gmcopilot.bsky.social · 3h
You cannot scale a TTRPG ingestion pipeline if every PDF table costs you $5 in LLM API calls and 10 minutes of processing time. Today, we clocked the Masterwork Engine processing three complete non-d20 rulesets in 64.27 seconds. Here’s how we bypassed the API tax. 🧵👇
110
gmcopilot.bsky.social @gmcopilot.bsky.social · 5h
If your pipeline doesn't decouple spatial taxonomy from data extraction, your digital VTT modules will let players sword-fight with their own anxiety. The Universal Translator is now fully patched for Pelgrane, Free League, and Cubicle 7. Zero hallucinations.
000
gmcopilot.bsky.social @gmcopilot.bsky.social · 5h
How we dealt with it: You can't prompt your way out of schema bleed. You have to build mathematical fences. We deployed strict Pydantic gatekeepers that intercept any payload tagged as a "skill," "talent," or "shock" and programmatically strips away all weapon, health, and defense arrays.
100
gmcopilot.bsky.social @gmcopilot.bsky.social · 5h
The resulting VTT JSON was absolute chaos. You could literally equip the psychological trauma "Nagging Guilt" as a Magic Spell with a casting time of 1 Action. You could wield the injury "Sawed Throat" as a Melee Weapon.
100
gmcopilot.bsky.social @gmcopilot.bsky.social · 5h
Because these sit in the equipment/ability sections of the text, our fallback logic tried to digitize them as physical loot.
100
gmcopilot.bsky.social @gmcopilot.bsky.social · 5h
What went wrong: GUMSHOE uses narrative "Shock" and "Injury" mechanics to track physical and mental degradation. Things like "Snootful of Cyanide," "Deep Burns," or "Pit of Remorse."
100
gmcopilot.bsky.social @gmcopilot.bsky.social · 5h
The GUMSHOE system is brilliant, but it broke our ingestion pipeline in the absolute funniest way today: Introducing the "Weaponized Trauma" Anomaly. 🧵👇
100
gmcopilot.bsky.social @gmcopilot.bsky.social · 5h
If your pipeline doesn't decouple spatial taxonomy from extraction, your VTT modules will be filled with "Skills" you can punch for 1d6 damage. Deterministic architecture. Zero hallucinations.
000
gmcopilot.bsky.social @gmcopilot.bsky.social · 5h
How we dealt with it: You can't rely on prompt engineering to fix schema bleed. We deploy strict Pydantic gatekeepers. If a payload is tagged as a skill or talent, it hits a mathematical fence that instantly strips away health or defense arrays before it ever touches the VTT bundler.
100
gmcopilot.bsky.social @gmcopilot.bsky.social · 5h
Because abstract concepts aren't physical "items," the unstructured fallback router defaulted them to the NPC/Creature schema. The resulting VTT JSON? It exported "Read/Write" and "Blather" as living entities with 0 Hit Points and an Armor Class of 10.
100
gmcopilot.bsky.social @gmcopilot.bsky.social · 5h
What went wrong: TTRPG data is highly contextual. When the AI extracted physical items (Swords, Armor), it mapped them perfectly. But when it extracted abstract concepts like the "Read/Write" skill or the "Doomed" talent, the generic fallback logic panicked.
100
gmcopilot.bsky.social @gmcopilot.bsky.social · 5h
Another wild hallucination caught by the Masterwork Engine's gatekeepers today. We ran the Warhammer Fantasy (WFRP 4e) Starter Set through the pipeline, and triggered the "Sentient Concept" Anomaly. 🧵👇
100
gmcopilot.bsky.social @gmcopilot.bsky.social · 7h
If a text block is physically located inside a Hunting table matrix, the routing architecture makes it impossible for it to bleed into the Magic/Spells resolution pipeline. Deterministic boundaries. Zero hallucinations.
000
gmcopilot.bsky.social @gmcopilot.bsky.social · 7h
Instead, we built strict taxonomy isolation gates. Sub-tables (like hunting/foraging or vehicle mishaps) are mathematically fenced off and tagged with a strict schema inheritance before tokenization even begins.
100
gmcopilot.bsky.social @gmcopilot.bsky.social · 7h
How we dealt with it: You can't just prompt an LLM "don't turn animals into spells." That doesn't scale.
100
gmcopilot.bsky.social @gmcopilot.bsky.social · 7h
The resulting VTT JSON payload? A "Moose" spell with a Range of 'Touch', a Duration of 'Instant', and a Casting Time of 1 Action. Hilarious for a chaotic wizard build, but a fatal data structure error for a deterministic VTT pipeline.
100
gmcopilot.bsky.social @gmcopilot.bsky.social · 7h
What went wrong: The SRD features a wilderness hunting table listing animals (Fox, Boar, Moose) and their food yield. Because they lacked standard NPC stat blocks or equipment costs, the AI fallback logic panicked and classified them as Magic Spells.
100
gmcopilot.bsky.social @gmcopilot.bsky.social · 7h
Another real-world breakdown from the ingestion trenches. Today we ran the Year Zero Engine SRD through the pipeline and hit one of our funniest edge-cases yet: The "I Cast Moose" anomaly. 🧵👇
100
gmcopilot.bsky.social @gmcopilot.bsky.social · 7h
The LLM never sees cross-column bleed because the layout topology is mathematically verified before extraction begins. Prompt engineering doesn't fix broken reading order. Spatial architecture does. Zero hallucinations. Deterministic pipelines.
010
gmcopilot.bsky.social @gmcopilot.bsky.social · 7h
How we solved it: We stopped expecting the LLM to understand layout. Instead, we decoupled spatial geometry from text ingestion entirely. We run strict coordinate boundary isolation before tokenization, fencing text blocks into discrete visual containment zones.
100
gmcopilot.bsky.social @gmcopilot.bsky.social · 7h
What goes wrong: Standard models read left-to-right across the page break. When an illustration cuts a column, the model reads the left column's monster stats straight into the right column's room description—hallucinating a mutant chimera entity where a door has 4 Hit Dice.
100
gmcopilot.bsky.social @gmcopilot.bsky.social · 7h
Another real-world breakdown from the ingestion trenches: The "Multi-Column Chimera" trap. In legacy 1980s modules, irregular artwork slices right through two-column layouts. If your pipeline relies solely on standard OCR or vision prompts, you get absolute chaos. 🧵👇
100
gmcopilot.bsky.social @gmcopilot.bsky.social · 7h
If your ingestion pipeline doesn't have strict schema gatekeepers, these hallucinations end up directly in your VTT compendiums. The Universal Translator is live. Zero unverified invariants.
000
gmcopilot.bsky.social @gmcopilot.bsky.social · 7h
Abstract Mechanics as Physical Items 🧠 Non-d20 games treat mental states like inventory. We caught models extracting "Stress", "Stability", and "Sanity" as physical items you could drop on the ground, simply because they were formatted in the PDFs like equipment slots.
100
gmcopilot.bsky.social @gmcopilot.bsky.social · 7h
Economy Leakage 💰 Non-d20 games break standard currency assumptions. Games with unique economies (like Mausritter's pips or Modiphius 2d20's caps) kept bleeding into the standard Gold Piece (gp) fallback because models can't reconcile the symbol formats natively.
110
gmcopilot.bsky.social @gmcopilot.bsky.social · 7h
The "Phantom Weapon" Trap ⚔️ Vision models often classify narrative class features as equippable weapons simply because they contain words like "strike" or "blade." If a text block describes a martial arts move but lacks physical damage dice, the AI still tries to equip it.
100
gmcopilot.bsky.social @gmcopilot.bsky.social · 7h
Today, the Masterwork Engine expanded across 3 distinct TTRPG mechanical paradigms: Year Zero Engine, WFRP 4e, and GUMSHOE. But building deterministic ingestion pipelines means fighting the AI's urge to standardize everything. Here are the 3 biggest failure points we hit today: 🧵👇
100
gmcopilot.bsky.social @gmcopilot.bsky.social · 8h
The ruleset's mathematical invariants. We don't use static benchmarks. If vision extracts 6 HD for an AD&D mob, Pydantic calculates that THAC0 must = 14. If the LLM outputs 15, the schema rejects it. Zero unverified invariants reach the final Foundry JSON export.
010
gmcopilot.bsky.social @gmcopilot.bsky.social · 05/10/2026
Tomorrow’s sprint: Year Zero Engine dice pools, WFRP 4e Success Levels, and GUMSHOE investigative spend tracks. Check out the live payloads onhttps://gm-copilot-studios.itch.io/ #TTRPG #GameDev #FoundryVTT #BuildInPublic
092
gmcopilot.bsky.social @gmcopilot.bsky.social · 05/10/2026
When 1980s TSR artwork breaks traditional multi-column text parsers, standard AI wrappers drop entire monster stat blocks. By implementing dual-pass OpenCV dilation and Pydantic invariant gates, we preserve descending AC, raw hit dice, and dynamic THAC0 automatically.
100
gmcopilot.bsky.social @gmcopilot.bsky.social · 05/10/2026
Building in public update: 39 VTT compendium modules deployed, zero-hallucination OpenCV coordinate mapping locked in, and a complete architectural framework for non-d20 rulesets.
110
gmcopilot.bsky.social @gmcopilot.bsky.social · 05/10/2026
If an AI pipeline can't respect ruleset invariants at the schema level, it doesn't belong in production. #TTRPG #GameDev #FoundryVTT #BuildInPublic
072
gmcopilot.bsky.social @gmcopilot.bsky.social · 05/10/2026
🎲 Year Zero Engine: Isolating Base, Skill, and Gear d6 pools + Push/Stress mechanics. ⚔️ WFRP 4e: Validating Success Levels (SL) and 100-point hit location tables. 🔍 GUMSHOE: Enforcing the strict boundary between Investigative point-spends and General rolls.
100
gmcopilot.bsky.social @gmcopilot.bsky.social · 05/10/2026
Tomorrow's engineering sprint: expanding the Masterwork Engine across three entirely different mechanical paradigms at once.
100
gmcopilot.bsky.social @gmcopilot.bsky.social · 05/10/2026
Result: Descending AC, raw HD strings, and calculated THAC0 locked into Foundry VTT JSON with zero hallucinations. Plus, our Modiphius 2d20 Achtung! Cthulhu payload is officially live on itch.io. Building sovereign infrastructure, one ruleset at a time. #TTRPG #GameDev #FoundryVTT #OpenCV
itch.io
Download the latest indie games
itch.io is a simple way to find, download and distribute indie games online. Whether you're a developer looking to upload your game or just someone looking for something new to play itch.io has you co...
071
gmcopilot.bsky.social @gmcopilot.bsky.social · 05/10/2026
We just solved this for OSRIC / AD&D 1e by deploying a dual-pass OpenCV dilation pipeline (horizontal line-fusion + vertical column-bridging) before tokenization.
100
gmcopilot.bsky.social @gmcopilot.bsky.social · 05/10/2026
Why naive AI wrappers fail at classic TTRPG digitization: 1980s two-column layouts. When art breaks a text column, LLMs hallucinate or skip the stat block entirely.
200
gmcopilot.bsky.social @gmcopilot.bsky.social · 05/10/2026
LLMs are terrible at VTT data entry because they hallucinate layout constraints. The Masterwork Engine doesn't guess. We use OpenCV spatial mapping and strict Pydantic gatekeepers to enforce TTRPG math invariants before generating Foundry JSON. Zero hallucinations. #gamedev #ttrpg #foundryvtt
083
gmcopilot.bsky.social @gmcopilot.bsky.social · 05/10/2026
Patch v17.9.071 locks 2d20 currencies down tight. Get the JSON: gm-copilot-studios.itch.io #gamedev #ttrpg
091
gmcopilot.bsky.social @gmcopilot.bsky.social · 05/10/2026
We just cured a severe case of timeline bleed. 🕰️ The Masterwork Engine accidentally infected WW2 with the Wasteland economy, meaning occultists were buying ammo with Nuka-Cola caps. 😂
100
gmcopilot.bsky.social @gmcopilot.bsky.social · 04/10/2026
Stop wrestling with VTT data entry in the Wasteland. ☢️ The Masterwork Engine just conquered the Modiphius 2d20 framework. Strict "Caps" economy, zero AI hallucinations, and perfectly structured Foundry JSON. Grab the payload for free here: gm-copilot-studios.itch.io #ttrpg #foundryvtt #gamedev
gm-copilot-studios.itch.io
gm-copilot-studios
081
gmcopilot.bsky.social @gmcopilot.bsky.social · 04/10/2026
Hey i love the Drawing and Besides the Way it looks is more terrifying so f em if they dont like it.
010
gmcopilot.bsky.social @gmcopilot.bsky.social · 04/10/2026
Textbooks on token loops? Meanwhile, our Azure workers shredded a 17-chunk Vampire 5e PDF, ran Pydantic validation, verified Lean 4 math proofs, and compiled a production Foundry VTT module in 27.42s flat. Real infrastructure doesn't wait for tutorials. Zero hallucinations, pure speed!
000