Optional Industries

Vienna, Austria

One person. A fleet of language models. 154 days to a live alpha.

Optional Industries is an independent game studio run by Nik — one person, and a standing fleet of language models that does the typing, the testing and the nightly work, never the deciding. The product is numbup, a 3D gacha auto-battler, in closed alpha on iOS and Android since 22 August.

Nik runs a payroll department for a living and had never written a line of C# before the first commit. numbup was built in the hours around that job.

Every figure on this page is measured from the repository when the page is built. Nobody types these numbers in by hand — including every one further down.

See numbup How it was built

The product

numbup^

A 3D gacha auto-battler in colorful flashy pixels. Every random pull has its odds one tap away, before you pull — including the tiers you can’t equip yet. No purchases are active in the alpha. Closed alpha, with testers on Discord.

iOS + Android Godot 4.6 Build 45 Closed alpha

Where a run goes

A silver-armoured character swinging a sword into a crowd of clown enemies on a green tiled lane, coins bursting out of one of them.

Stumbling.Era 2. The clowns drop coins.

A small dark violet character facing a golden boss roughly three times its size, sword raised, on a grey stone lane.

One-Armed Bandit.Floor 1. That is the boss.

The same game running on a phone: an archer facing an enemy on a green lane in a dark forest, with the equipment slots, the pill bottle and the currency counters below it.

On a phone.Build 45, mid-battle.

Ten eras of gear, and side dungeons named after what they do to you. The two above are rendered in engine from the game’s own battle scene — cropped in, with the health bars and the HUD out of frame. The third is a phone, unretouched, HUD and all.

What you collect

Coins
Gacha Balls
Gold Nuggets
Blue Chips
Dungeon Permits
Skill Tissues
Holy Smokes
Holy Fans
Research Juice
Buff Nubs

How we work

The receipts

numbup is built by one person in Vienna working with language models — Claude on most commits, Gemini on some. That claim is easy to make, so here is the evidence, with the command that produced each figure. The repository is private; the script that measures it is not: receipts.py.

Commits, cumulative

The chart documents the pace. numbup is the outcome.

17,889commits · 21 mar – 2 oct 2026

MarAprMayJunJulAugSepOct
▲ 22 Aug — alpha opens, 278 commits that day 15 days with no commit 91.7 / day across seven months

The same game

An early build of numbup: grey rectangles standing in for the player and the enemies, emoji icons in the equipment slots, and a button labelled Machine.

Day 2. Desktop debug build, 23 March. Boxes for characters. The button still said “Machine”.

numbup today: 3D characters on a green tiled lane in front of a mountain backdrop, an archer facing three enemies with health bars, and below them the equipment slots, the pill bottle and the navigation bar.

Day 195. Build 45, closed alpha on iOS and Android. Screenshot from an iPhone, mid-battle.

195 days from the first commit to the commit this page was built from git log --reverse --format=%ad 8ef96752a | head -1
17,889 commits git rev-list --count 8ef96752a
14,286 of 16,025 commits — merges left out — were written with Claude at the keyboard, and that is a floor, not a ceiling: the ones written by scripts never got the line that records it git log --no-merges --format=%H --grep='Co-Authored-By: Claude' 8ef96752a | wc -l
1,747 bugs written down — numbered, most of them closed, none of them forgotten
1,262 closed 176 partly 309 open
grep -ho '^### BG-[0-9]*' docs/BACKLOG.md docs/backlog-archive-*.md | sort -u | wc -l
3,364 automated checks, spread over 291 files, that run before a branch reaches main — the merge stops at the first failure grep -h '^def test_' tools/tests/test_*.py | wc -l
1 person — 17,886 of 17,889 commits carry one author name. Of the three that do not, two were signed by the fleet and one is the initial commit, with the name typed wrong git shortlog -sn 8ef96752a

Not one line of numbup was typed by hand. It could not have been: the person directing the fleet had never written C#, and knew about as much SQL as a payroll job teaches. The fleet supplies the syntax. It does not supply the logic, the constraints or the refusals — every line shipped because someone read it, argued with it, or threw it out, and that part was never going to be automated.

The game itself contains no language model: the company is built with them, the product is not. And every 3D model, sound and texture in the game was made by a person: bought or licensed, never generated, credited wherever a license asks for it. Assets whose source could not be traced back to a person were replaced rather than kept. The full list of credits ships inside the game, under Settings → Credits.

How one person keeps up

Not the headcount. The line.

A studio of one keeps up by turning every repeated judgment into a tool that makes it the same way twice. The fleet runs overnight; the mornings are for deciding.

Bug reports filed inside the game open a thread in a channel within seconds. The chat word filter, the nightly cheat scan and the nightly review all run without anyone starting them.

A fleet that types fast is the easy half. The other half is what it is not allowed to do: 3,364 automated checks before a branch merges, a nightly review that reads the diff nobody else read, and every defect that still gets through written down with a number — 1,747 so far, 1,262 of them closed. None of that was built for elegance. It was built because the person reading the diffs could not catch a bad one by instinct. The interesting part was never the typing.

Two reasons to write

What you might want from this.

The studio is one person, so the inbox is the front door — there is no form, no funnel and no one else to route it past.

For players and app stores

Documents

Get in touch

Contact

Questions about the game, your data, or anything else: hello@optionalindustries.com

Offensive content in World Chat: report it to report@optionalindustries.com — we respond within 24 hours.