Building Agoro Camp in public

A working log of a game that is not finished. What we decided, what it cost, and the things that came out wrong. Agoro Camp is set on Camp Afric — an off-grid property in Portugal that really exists, which makes some of these decisions stranger than they would otherwise be.

Updated 13 September 2026 Newest first In development
The standard this page holds itself to

Everything here was true on the date above it. Concept renders are labelled as concept renders. Prices are called anchors because that is what they are. Where the page shows an empty panel instead of a number, the number genuinely is not there yet.

The bird we built for this camp now belongs to every game we make

Kofa is the Sankofa bird. He was made here, for Agoro Camp, and he is named after the middle of the word — San-ko-fa, where ko-fa is “go and fetch”. That is his whole job.

His loop is retrieve, reveal, scout. You lose something and he brings it back. He perches and shows what stood on this ground before. And scouting ahead unlocks only on ground whose past you have already retrieved — the future is not visible until the past is known. That is the rule of the character, not a line of flavour text.

The gold egg in his beak is the read-out for it: empty means this place’s past is still lost. That works because the egg came out of the mesh as a genuinely separate object, so the game can light it rather than imply it.

What is new today. Kofa is no longer only ours. He is the companion for Agoro Road as well — the same bird, the same look, different abilities in each game, so a player who meets him on the road recognises a friend when they arrive at the camp. A character we already own costs nothing to design into a second game, which is the argument for building him properly once.

He also cost a week nobody planned for. The animation library we meant to take flight cycles from classes a two-legged bird as avian, and its avian section is empty — not thin, empty. Worse, when we went to pose him he shredded: the rig’s skeleton was in the wrong place, bones sitting most of a body-length away from the flesh they control. We kept the weights, moved every bone back inside its own body, and he stood up. The repair is written up in full on the Agoro Road log.

Kofa standing: a tall blue-and-gold bird with adinkra patterning across its neck and body, a long curved neck, and a gold egg held in its beak
Standing, for the first time. The same mesh that had been unusable all week. Nothing was resculpted — only the skeleton was put back where it belonged.
Kofa performing the sankofa look-back: the neck arcs up and back over the spine, the head reversed, the gold egg carried with it
The move he exists for. The neck arcs back over the spine, the head reverses, the egg comes with it. Go back and fetch it.

He has three hand-authored clips now — a walk, an idle and the look-back above. They live in the character file. He is not in the playable build of either game yet, and the date he arrives in each is not set.

What changed — a character is only cheap the second time if the first game did not bake its own rules into him. Kofa’s loop is a rule about knowledge, not a rule about a camp, which is why it moved onto a road without a rewrite. We write shared characters that way from now on.

We took the password off the build

Until this evening you needed a password to play. The reason was not coyness: the map is a real property, ours, seen from above, and putting that on the open internet is a decision rather than a default.

Daniel called it the other way.

everyone should be able to play the current version, thats the wow effect and can go viralDaniel, 12 September 2026

The gate came out the same night — the code that enforced it was deleted rather than switched off, so there is nothing left to accidentally re-enable. The current build is now open to anyone, free, in a browser.

The Agoro Camp board: a top-down view of the real camp as a playable map, with structures placed on it
The board you now get without a password. It is the real site, from above. The build still carries the old name in its corner — the game was renamed to Agoro Camp after this shot, and the build follows.

What changed — we stopped treating the unfinished build as something to protect. It is the most convincing thing we have, and a gate in front of it was costing more than it saved.

The site was in English and the trailer was in German

Nobody had noticed until Daniel read the page as a visitor rather than as its author: “the whole website is in english but the trailer is in german.” The game has always been both languages. The site was not.

So there is a full German version now, written in du-form rather than translated word for word, with the subtitle track defaulting to the language of the page you are on.

What changed — a language is not a setting on a page, it is the whole page. And the person best placed to catch this is whoever looks at the thing without having built it.

We took screenshots of our own page and found three things reading the code would not have shown

The page shows three things from the camp as real 3D models you can spin. The markup was correct, every model reported itself loaded and visible, and the page was wrong anyway:

The founder's model opened facing away from you. Correct model, correct lighting, back of the head. The red cart was framed so small you could not tell what it was. And one model was captioned as something it is not — it is a caravan with an awning, and the label said otherwise, which on a page about a real place is the kind of small lie that matters.

All three were found by rendering the page and looking at the picture.

What changed — we verify pages by rendering them, not by reading them. This is the second time in a week the studio has learned this on a different game, which is roughly how often a lesson has to arrive before it becomes a habit.

The energy panel is empty on purpose

The camp runs on solar panels, batteries and water tanks that are physically there and physically metered. The plan has always been that the in-game energy panel reads the real ones, so the state of charge in the game is the state of charge on the hill.

That connection is built and it has not been switched on: the data is not yet exposed to the page, and a step has to run at the camp end before it is. So the panel on the site sits in its honest waiting-for-the-camp state.

We could have put a plausible number in it. Everything else on this page would then have been worth less.

A frame from a camera at the real camp on 30 August 2026: the off-grid site in Portugal
The camp, 30 August. A real camera frame, not a render. The panel wants to read this place.

What changed — an empty state that tells the truth beats a filled one that does not. If the number is not real yet, the panel says so.

Every job in the batch failed the same way, and the cause was one path

The concept renders for the eight structures are made by a batch runner. On the first run every single job failed with the same error code — which looks like a broken service and is almost never one.

The reference image was given as a relative path, and the script changed directory before using it. Nothing could find the reference, so nothing ran.

What changed — when every item in a batch fails identically, suspect the thing they share rather than the thing they do. Paths are resolved before any directory change now.

About this log

Agoro Camp is in development and the current build is free to play in your browser. This log is part of how we build in public during Shipaton 2026; our released apps are Agoro Pocket, Agoro Bounce and Lanternlight, and each is its own entry. Nothing on this page is a release announcement, and the edition prices on this site are planned anchors that may change — nothing is charged for a reservation.

See the rest of what we make →