Dev Log

From the Workshop

Behind-the-scenes notes on building games, forging tools, and running a small studio that punches above its weight.

4 June 2026

How Pi Agents Build, Test, and Ship Game Code with Oracle-Backed Flows

A flow spawns, agents fan out through five oracle gates, the game-builder fixes 19 red tests while vision judges check the live game — and it all runs as one autonomous flow.

Read →
15 June 2026

Zero-CPU Crowd Animation: 1,000 Animals, One Draw Call, No Skeletons

Our crowd renderer bakes every animation frame into a bone-matrix palette once, then the GPU drives every instance itself — 1,000 animals at 60 FPS, each with its own clip and phase. This is how AAA does crowds. Now it runs in our Godot fork.

Read →
14 June 2026

GPU-Skinned Herds: One Draw Call for 1,000 Animated Characters in Godot

Godot can't batch-render 1,000 animated characters. We built a GPU skinned-instance herd renderer into the engine itself — already driving crocodile herds in Ariki. Pre-built editor binaries for macOS and Windows.

Read →
11 June 2026

Flows Are Sessions, Not Pipelines: Why We Moved Our Agent Orchestrator from YAML to JavaScript

We killed the static YAML DAG and rewrote our agent orchestration in 200 lines of JavaScript. Now a flow IS a session — you chat it, steer it, and it pauses for you at a human gate.

Read →
10 June 2026

Why Voice Is the Missing Input for Game Development

Speaking a bug while looking at the screen beats typing it from memory ten minutes later. Here's how voice-to-agent pipelines work, why game dev is the ideal use case, and what changes when you stop typing bug reports.

Read →
7 June 2026

Live Ozan Radio: A Personal AI Station in Cursor

I wanted a radio that never plays catalog music — only fresh AI compositions shaped by my taste. Here's the stack, the player, and how I DJ every generated track with metadata.

Read →
3 June 2026

How We Restyled Our Blog with Two Template Files and Zero Dependencies

We gave the Tinqs blog a visual refresh — gradient titles, dark code panels, date pills, amber accent bars. Two template files, one build step, zero external dependencies.

Read →
25 May 2026

What an Agent Harness Is and Why Game Dev Needs One

A raw AI model is stateless. An agent harness wraps around it and provides identity, memory, tools, context, and guardrails. Here's why game development needs its own.

Read →
25 May 2026

AI Art at Every Price Point: How We Generate Game Assets with fal.ai

We generate all visual assets for our game through fal.ai — concept art, icons, logos, trailer frames. Here's the 4-layer prompt pattern that actually works, and how we pick between 12 models spanning two orders of magnitude in cost.

Read →
25 May 2026

Fork, Don't Build: How We Modified Gitea, Pi, and Godot Instead of Starting from Scratch

Three forks, less than 0.5% code changed. Why modifying existing platforms beats building new ones — and how we turned Gitea into a game dev platform with 3D preview, AI agents, and LFS-first workflows.

Read →
25 May 2026

A Pre-Commit Agent That Guards Your Secrets for $0.001

Too many things to remember before hitting commit. Don't leak API keys. Don't reference classified codenames. Don't link to deleted repos. We built a two-layer pre-commit hook — regex + LLM — that catches all of it for $0.001.

Read →
22 May 2026

Streaming a 12km Archipelago in Godot 4

Godot has no built-in asset streaming. We built four layers to run a 12km archipelago with 9 islands, 155 vegetation types, and 2,000 crowd instances — on an RTX 3060.

Read →
18 May 2026

One Binary to Rule Them All: Our Studio CLI

Every machine in our studio runs the same Go binary. It knows who you are, what machine you're on, and what services are reachable. It takes screenshots, sends them to cloud vision, and runs health checks — in 100ms.

Read →
6 March 2026

How a 4-Person Studio Runs on AI Agents

We gave AI agents persistent identities, skill playbooks, and access to our entire knowledge base. Here's how four people ship like forty.

Read →