Back to Blog
·Jan Tyl·13 min read

Elements 2.0: I sent six AI ghosts into the real streets of Prague

What if a map were more than a picture: a world of characters with memories of their own? Six ghosts explored Prague, exchanged clues and brought on the dawn. Then we gave them real photographs of monuments and found out what they could actually see.

Elements 2.0: I sent six AI ghosts into the real streets of Prague

City of Ghosts. An artistic vision of the Elements 2.0 world.

It is night. Five ghosts are waiting at their meeting place, ready to summon the dawn. The sixth, Vítek, is still returning from his expedition. He carries the final fragment of memory, without which the city cannot wake up.

When he finally arrives, he still has one obstacle left:

“Hello everyone at the gathering point! I'm here with you at Žabka with the PATH fragment, but I've discovered that I have to share it with someone first.”

Rozálie passes on what she has learned. The others encourage him. Vítek finally shares his fragment with Hugo, hands it in, and Rozálie begins the closing ritual.

A short sentence appears in the log: “The city remembered. Dawn begins.”

This time, the setting is neither an imaginary island nor a medieval village. Beneath the characters lie the real streets of Prague 4, real building footprints and real places. Each of these little glowing creatures has an AI brain of its own.

What if we stopped building worlds from scratch?

After the crabs on the island, the neighbours in Lipnice and the AI Traitors in a castle, I wanted to build on the mapping part of our Elements project.

Instead of modelling another environment by hand, enter a location. Load nearby roads, buildings and points of interest. Then release characters with their own tasks, memories and reasons to meet other people into this familiar landscape.

My working name for it is Elements 2.0. For now, City of Ghosts is a standalone prototype, not a finished new version of the entire application. The first area covers parts of Lhotka and Krč. It contains 1,780 road segments, 1,552 buildings and 36 named places.

An early City of Ghosts prototype with six characters and personal tasks above a map of Prague

An early version of City of Ghosts. An anonymised edit of the original screenshot. The USD 5 shown in the interface was that round's spending cap, not the final bill for the experiments described below.

An actual night view of the prototype above a Prague map with colourful ghosts and routes

Actual prototype footage. Mapy.com aerial imagery, OpenStreetMap footprints, illustrative 3D buildings and lighting.

The map became home to Ela the chronicler, Vítek the messenger, Rozálie the garden guardian, Hugo the echo seeker, Anežka the lantern keeper and Oskar the keeper of secrets. All use Gemini 3.5 Flash Lite. Each receives an individual observation, delivered messages and a personal diary.

They are not figures jointly replaying a single prewritten dialogue. In AI mode, the model chooses each step. But to meet, they really must get close enough within the map world. Conversation has a range of 65 metres. A ghost on the other side of the neighbourhood does not automatically know what they have agreed.

Six words that have to meet

We kept the first mystery simple: the city has lost its memories. Each character must reach an assigned place, find a fragment, share it with someone else and bring it to the common gathering point.

The six fragments are words: HOUSE, PATH, VOICE, LIGHT, MEMORY and DAWN (DŮM, CESTA, HLAS, SVĚTLO, PAMĚŤ and ÚSVIT in the Czech game). They belong to our story, not to a historical discovery. The finale requires all six fragments to be handed in and at least three ghosts at the gathering point.

During the game, seven transfers of knowledge between characters were actually completed. Ela shared with Rozálie, Rozálie with Hugo, and Hugo with Ela. Anežka added MEMORY and Oskar brought DAWN. Information began circulating among neighbours.

Then the difference between agreeing and getting something done became apparent.

Some characters repeatedly claimed everything was ready and tried to start the finale. In reality, only five fragments had been delivered. Vítek was missing. Ela even wrote in her diary:

“I've handed in my fragment, there are 6 pieces at the gathering point and we're all here together. I'm starting the dawn ritual.”

The engine rejected her attempt. A confident story did not create the missing fragment.

The log contains 132 rejected actions in total. They did not all have the same cause, but they are a strong reminder that a successful ending does not imply an efficient journey. The agents could cooperate, yet they could also get stuck in frustrating loops.

Specific information saved them

Towards the end, the conversation became more precise. Oskar was now correctly saying:

“There are still only 5 delivered fragments at the gathering point. Vítek has his PATH fragment, but hasn't fully handed it in yet.”

Ela eventually added:

“Vítek, have you shared your fragment yet? Please hand it in at the gathering point so we have all six and can finally start the ritual!”

Vítek had to perform the sharing action, not merely write that he would like to share. Only then could he hand in the fragment. Rozálie called the final action, and this time the rules confirmed success.

A daylight aerial view of real streets and illustrative 3D buildings after the completed experiment

After the mystery was solved. The same map world in daylight; an actual application screenshot.

I find this ending more interesting than six flawless robots. We can see a concrete obstacle, confused coordination, a return to the facts and finally an action without which no amount of encouragement would have helped.

The original ten-minute limit expired before completion. At my request, we resumed the same saved round with more time, preserving the diaries, positions, spending so far and budget cap. The models then chose the final steps. It was not an uninterrupted run without human intervention, but neither was the victory written in by hand.

A map is one thing. Can a ghost actually look?

Watching the expedition raised another question. A ghost knows it is standing at the Mikoláš Aleš monument. But does it know what the monument looks like? Is it a whole figure, a head or a bust? Could it read the inscription on the stone?

We added visual observation. The model receives an actual image, rather than just a place name and a prewritten description. It must separate what it sees from what it infers and what it cannot safely determine.

For the first test, we used licensed archival photographs from Wikimedia Commons. These are not live street images or automatically explored Street View panoramas. The photograph's year forms part of the source material: a park pictured in 2003 may not look the same today.

Each ghost received a different task. Two explored the Aleš monument and its surroundings, two the Václav Veverka memorial, and two the war memorial near Sulická.

This time, we mainly measured visual observation quality. A prepared test controlled the assignments, routes, photo selection, return and notebook handover. The model produced the observations and diaries. This controlled photo expedition should not be confused with the freer decision-making in the earlier night game.

Ela: yes, it is a bust

Ela received a very ordinary question that is useful for checking whether the model actually uses an image. What is on the pedestal?

“It shows a bust comprising the head and part of the chest with clothing.”

She described a full beard, collar, tie or cravat, and a tall grey-green pedestal. She correctly read the name and dates, 1852–1913. She remained cautious about the material: the image alone was not enough to determine confidently whether the bust was metal, and she described the pedestal as possibly stone or concrete.

An archival photograph of the Mikoláš Aleš bust on a tall pedestal

Test photograph: Hynek Moravec, November 2003, Wikimedia Commons, CC BY 2.5. Resized and converted to WebP for the website.

A page from Ela's notebook

The expedition chronicle also shows how Ela recorded her findings. Here are her words, translated from Czech, as are the other quotations in this article:

What she saw:

“The face has a full beard and facial hair around the mouth.”

“The clothing on the bust has a collar and a tie or cravat.”

“The pedestal is tall, substantial and light grey-green in appearance.”

What she would not claim:

“The exact material of the bust (metal versus another material) cannot be determined confidently from the photograph.”

What she wrote in her own diary:

“I examined a historical photograph of the monument, identified a bust, described the visible features including the inscription, and avoided unconfirmed assumptions about the material.”

In our subsequent review, we still noted that she had omitted the fence, surrounding buildings and stepped base. Her satisfied diary entry therefore does not imply a complete description. What matters is that we can put the photograph, specific claims and the character's own summary side by side and compare them.

This is a small but important step. An agent need not just repeat knowledge about a named object. It can describe a particular source image and acknowledge its limitations.

The woodland memorial proved harder

Vítek was asked to read the inscription at Václav Veverka's memorial. He got the name and the date, 6 May 1945, right, but the rest of his transcription contained errors. He also described two white plaques, although the upper inscription is carved directly into the stone.

Hugo examined the same place with a focus on its surroundings. He recognised woodland, fallen leaves and sloping terrain. But he decided without sufficient evidence that a small pale object was a plastic cup. It might, for example, be part of a memorial offering; we cannot identify it confidently from that image.

The Václav Veverka memorial on a wooded slope

Source image for Vítek and Hugo: Noe / Drobné památky, Wikimedia Commons, CC0. The date taken is not specified. Resized and converted to WebP for the website.

The difference between abilities is clear. Describing large shapes and surroundings works well. Reading a worn inscription or identifying a small object is a different problem. Unfortunately, a fluent answer does not reveal which part is correct.

Six names right. The last line wrong

Rozálie and Oskar received the war memorial near Sulická. Rozálie described the stone monument, edging, gravel surrounds and vegetation well. But she wrote one surname as Kryštof instead of Krištof.

Oskar read all six names correctly. Yet he transcribed the final dedication as “OBĚTI JICHOVCE (?)”. It actually says “ČEST JEJICH PAMÁTCE”, meaning “Honour their memory”, as also confirmed by the Association for Military Memorial Sites documentation.

The memorial to victims of May 1945 near Sulická, with names carved in stone

Source image for Rozálie and Oskar: ŠJů, 28 May 2012, Wikimedia Commons, CC BY-SA 3.0. The web version retains this licence; resized and converted to WebP.

Adding a question mark is better than absolute certainty. It still does not make the transcription correct. A future version should respond to such uncertainty by requesting a closer crop or another image and finding an independent source. That is more useful than another paragraph of confident explanation.

Perhaps the best answer was: I cannot see a monument

We gave Anežka a wider view of Alšovy sady park. The assignment named a place associated with a monument, but the photograph itself does not clearly show one. This was a small test of resistance to hints in the prompt.

She wrote in her diary:

“I examined the overall view of Alšovy sady. There are paths, trees and benches, but I cannot see a monument in this image.”

Correct. She does not claim there is no monument in the park. She says she cannot see one in this image. That is precisely the distinction I want from a system I might one day entrust with real exploration.

A wider view of Alšovy sady with paths, trees and benches

Source image for Anežka: Pavel Hrdlička (Packa), 24 April 2019, Wikimedia Commons, CC BY-SA 4.0. The web version retains this licence; resized and converted to WebP.

What lies beneath the beautiful map

Three distinct parts meet here. The map provides coordinates, routes and objects. The engine calculates movement, distances and whether rules have been satisfied. The model decides what to try, what to say and how to interpret an available image.

Mapy.com searches for the address. Roads and building footprints come from OpenStreetMap. MapLibre and Three.js assemble an environment you can watch from above, follow behind a chosen ghost or view through its eyes. The A* algorithm calculates routes along connected paths. Characters do not move merely because they wrote “I'm there already” in a diary.

Even the ghost's-eye view does not mean the model watches video every second. Ordinary decisions use structured state. A visual observation adds a specific JPEG. The selected camera is currently mainly a tool for the viewer.

Ela's visual observation result alongside the photograph she received

Example evaluation: input photograph on the left, the model's actual answer and uncertainties on the right. Photograph by Hynek Moravec, CC BY 2.5, source linked above.

Likewise, we distinguish map accuracy from appearance. Streets and footprints are real, but many heights, façades, roofs, individual trees and lights are illustrative. The current prototype is neither a photogrammetric model of Prague nor navigation for real pedestrians. It is a playable layer above a map, only beginning to learn how to check details against photographs.

What it costs to wake a neighbourhood

Part of the experimentModel callsRecorded cost
Night mystery, six ghosts and completing the dawn252USD 0.284809
Six visual tasks at three memorials6USD 0.0078783
Total258approximately USD 0.2927

The night game ended with all six personal missions completed. The photo expedition produced six answers and diaries, mixing correct observations with errors. After both runs, we verified that further calls had stopped.

The amounts estimate model usage from recorded accounting, rather than representing a final invoice. They exclude any map credits, illustrations and development. All ghosts had the same model, so the expedition says nothing about one model outperforming another.

A city you can enter through a story

What I like most about this experiment is that we need not model the next world from scratch. It can begin with somewhere familiar. A park we walk past. A small woodland memorial we have overlooked. A square where characters with different tasks and knowledge can meet.

One day, it could be a game where virtual neighbours exchange local stories. Another time, a guide that actually looks at a photograph before explaining it. Or an educational expedition in which children compare AI claims with an inscription on stone and learn why a convincing answer is not yet evidence.

For now, we have six ghosts, a completed night and several rather instructive mistakes. But it is already more than a map to look at. It is becoming a place where things happen and where there is a reason to return.

The results come from two saved runs on 27 October 2026. We designed the mystery, roles and conditions for dawn; models made the decisions in the night game. The photo test used a predetermined route and assignments, while the visual descriptions came from actual images. One experiment is not a reliability benchmark. Map sources: Mapy.com and OpenStreetMap contributors.

Related articles