Skip to content
All Works
App

Killer: Directives — A Deduction FPS for iOS, Play-Tested by AI

A side project: an offline 3D FPS for iOS in which you deduce the target from three clues, engage without shooting civilians by mistake, then shake off a police chase and escape. By giving an AI coding agent my design intent and quality bar, I reached a build with 15 missions in 5 languages in 11 days, and ran 94 rounds of QA in which the AI played the game itself.

  • TypeApp
  • Side ProjectBuilt with AI Agents
Killer: Directives — A Deduction FPS for iOS, Play-Tested by AI

Overview

I’m building an iOS game around the concept of “an offline FPS where you observe and decide,” with 3 chapters, 15 missions, 14 pieces of gear, 5 vehicles, and 5 languages. I set the concept, rules, story direction, and quality bar; an OpenAI Codex agent handled implementation. It is an offline game with no ads, payments, or accounts.

Problem

In a deduction FPS with no answer markers or auto-aim, it is hard for a person to check, case by case, “Do the clues really point to only one person?” and “Can it be played to the end on mobile?” And because the goal is a worldwide release, I also had to manage rights risks such as real-world firearm designs, trademarks, and music.

Approach

I set the quality bar as an instruction: “The AI plays 10 games itself for QA, analyzes the cause after each game, and fixes it.” The agent plays the game in the simulator using XCUITest, synthesized real touches, and Vision OCR; when something fails, it analyzes the cause, fixes it, and runs regression tests. For example, it reproduced a vehicle-escape collision problem across 540 physics conditions to find the cause. For performance, any frame over 100ms counts as a failure, and results are split into PASS / FAIL / UNVERIFIED under the principle “never record an unverified success.” Before release, I classified 20 IP risks into P0–P2, replaced 4 real-world firearm models with original ones, and renamed the gear and the protagonist.

Results

Using Unity 6.3 (URP) and C#, I reached version 0.4.66 (build 70) in 11 days. The AI ran 94 rounds of play QA; automated checks cover 7,264 behaviors, 8,198 mobile UI items, 435 core rules, and 2,921 localization items; and 30 store screenshots are ready across 5 languages × iPhone and iPad. The distribution certificate, verification of 6 rights items, and a full playthrough of the final build remain, so it is at the pre-launch stage, before TestFlight. Performance figures are measured on the simulator.

Lessons Learned

The more implementation you hand to AI, the more a planner’s job shifts to deciding “what counts as a pass.” Write the quality bar as numbers and judgment rules, and the agent finds and fixes its own failures.