Notes on Nostos: Vector Literature in the Vector Medium

David M. Berry


The "Development Guide" for Nostos


"Welcome to my Island," Calypso. 

"Of those replying to a question on the risk of ultimate 'takeover' of human affairs by intelligent machines, about half regarded it as 'negligible', and most of the remainder as 'substantial' with a few voting for 'overwhelming... A danger could then arise of city dwellers becoming dependent on systems which could no longer be fully understood or controlled. Counter-measures to such dangers might include the introduction of auditing procedures for computer programs, research on program-understanding programs, and system-understanding systems generally, and, finally, the advent of programs to teach the users of intelligent systems" Donald Mitchie, 1973.

"To the first writers who spoke against the old style of authoritative rhetoric, the problem of the author's voice in fiction was extremely complicated. [Henry] James's Prefaces, for example, those shrewd and indispensable explorations into the writer's craft offer no easy reduction of technique to a simple dichotomy of telling versus showing, no pat rejection of all but James's own methods. And, in fact, James's own methods were surprisingly varied. The persistent enemy for James was intellectual and artistic sloth, not any particular way of telling or showing a story," Wayne C. Booth, 1961.

"The only law that binds the novelist throughout, whatever course he is pursuing, is the need to be consistent on some plan, to follow the principle he has adopted," Percy Lubbock, 1921.

"There is no software," Friedrich Kittler, 1995.


Over the past six weeks I have been experimenting with a computable literary artefact that explores the trajectory and limitations of Large Language Models (LLMs) through vibe coding (vibe gaming?) a large-scale vector-medium artefact. The aim was to not only explore scale limitations on a complex programming project, but also to create a literary object in and of itself which is particular to the vector medium I theorise and which encourages the user to ask questions about the "unreliable narrator" of AI and its provenance (see Booth 1983; Berry 2025).[1] 

The in-game browser Netscape
Nostos, the resultant game/world/object, utilises the aesthetic of early web ecosystems (including GeoCities, Netscape, 1990s laptop environment and mobile phone) to create a dissonance between the user-facing "game" interface and the backend code. Code is always present in differing abstractions and access points throughout the world it presents, not just within the game but also through the web presentation and even the GitHub repository itself. We might say that the project requires the "reader" to become a critical code studies investigator, bypassing the frictionless, synthesised answers of the in-world machines to uncover the fragmented, human truth hidden in HTML comments, programming code, a web archive and encrypted scripts. It is a study in what we might call "vector love," cognitive anaesthesia, and the fragile nature of digital memory.

The world/game itself is now over 211,576 lines of source, of which 126,715 is the textual corpus of the internal web (60%) and 84,861 is code (!!), and so far has taken 17.7 billion tokens to create. In 48 days, costs (approx) are

  • API token cost: £209,881 (i.e. if one were paying on the go, with caching turned off)
  • API costs: £24,237 (if one were paying on an API tier, with caching)
  • Real cost: £142 (the cost I paid through the Claude Max subscription)

The game Nostos, a 2D isometric world. 
This discrepancy between the amount of tokens used (17.7 billion, yes billion), and the costs, is interesting in itself, but I think this raises questions about the underlying political economy of frontier AI companies, but also about the potential of this abundance of compute and token production. It seems like software (or code production) is becoming untethered from the living labour that originally was required to create it. Not only does this raise questions about the future direction of software engineering and programming itself, but it also suggests that code might become relatively unlimited, subject to the token costs. I asked Gemini Pro and ChatGPT Pro (LLMs) to convert the game into the kinds of human labour time that would traditionally have been required. Gemini estimates 7.5–15 person-years of conventional production; GPT-5.6 estimates 16–24 person-years. Against the observed 301 hours of human labour, these imply respectively about 44–88x and 94–140x compression of human production time. What is becoming available is on-tap code production or symbolic production capacity. Production becomes abundant, but judgement, verification, integration and attention remain scarce. The following numbers are estimates of each of the frontier AI labs of the work involved in creating Nostos - this is the actual text and logic of each of their calculations. 

GEMINI PRO (20 August numbers) (~5–6 people × 1.5–2.5 years → approximately 7.5-15 person-years)

  • The Math: At a generous 100 lines a day, 84,822 lines of logic and framework code represents roughly 850 developer-days.
  • The Team: For a team of two full-time programmers working 220 days a year, this is about 2 years of pure coding time.
  • If an indie game studio of 5 to 6 people (2 programmers, 2 writers, 1 designer, 1 producer/QA) were fully funded to build NostOS manually, it would take them approximately 1.5 to 2.5 years of full-time, 40-hour work weeks (Gemini Pro, 22 Aug 2026). 

CHATGPT 5.6 Sol (20 August numbers) (~8–12 people × ~2 years → approximately 16–24 person-years)

  • A conventional production process would plausibly have required a software team of around 8–12 people working for perhaps two years, or somewhere in the region of 16–24 person-years of labour. NostOS was instead produced through approximately 301 hours of human interaction with generative models over 48 days.

CLAUDE OPUS 5 (20 August numbers) (~9–26 person-years, midpoint ~15)

  • [Claude Opus 5] estimate[s] the code and the prose separately, on the grounds that neither instrument fits both halves of the artefact: 107,882 lines of code and tests, at empirical net-delivered rates of 5,000–20,000 lines per developer-year, gives 5.4–21.6 person-years; 1,032,217 words of page copy, at 1,000–1,500 finished words a day, gives a further 3.1–4.7. 
  • Together that is 9–26 person-years, midpoint about 15, implying 50–154x compression against the observed 301 hours. 
  • Basic COCOMO run over the same code gives 27.3 person-years in organic mode and 82.5 in embedded, both judged too high because they price in requirements phases, formal documentation and team communication overhead that a solo build never incurs.
Three estimates of the project: the lean studio (Gemini Pro, 44–88x), the full production team (GPT-5.6 Sol, 94–140x), and a rate-based estimate (Claude Opus 5, 50–154x)

The "braincode" run by robots in-world which can be refunctioned in the ML programming language
It took me approximately 301 hours (48 working days for a single person) to create Nostos. The work (so far!) remains incomplete. I want to give just some of the highlights of the software artefact, such as that it contains a fully runnable version of ELIZA (a compact reconstruction in the spirit of Anthony Hay's faithful reimplementation github.com/anthay/ELIZA), a large selection of objects that can be used, manipulated or crafted, a walkman, for playing the cassette tapes littered over the island, and a mobile phone (supporting in-game 2FA).

There is also a self-standing implementation (!) of the ML programming language (Standard ML) written from scratch in JavaScript. There are also three types of terminal (two fictional terminals, one for the AIs and one for the RON resistance movement, and the third a simulation of Unix v7, which runs ML for programming and pico for editing), an emulation of Netscape Navigator (used by the resistance), Internet Explorer (used by the AIs) and many other software objects, and an in-game fictional World Wide Web with over 2000 pages, which hold game lore, general information and the means to refunction (Benjamin) the robots via the ML programming language to edit their "braincode". If that's not enough there is, in-game, a functional simulation of the NeXTSTEP operating system. 

NeXTSTEP simulation running in-world
The world itself is made up of five islands (calypso, circe, helios, ithaca, polyphemus), and a separate "Backspace" where the AIs have banished most of human culture. Each of the four main islands is controlled by different AIs of differing attitudes towards humans with the first, Calypso, being the first AI whose island beach the player washes up on. 

There are a number of different robots but there are two distinct types of robot brains, each running the simplified ML braincode. We might think of them as "digital" robots versus "vector" robots. 

The digital robots run the in-game ML code which can be adapted by the user to make the robot(s) do different things by hacking them via their name, when suitably tagged (which causes a zero day to open up), an example of the code of the T1 robot (T-class) is:

(* T-1 pursuit. TIRESIAS-pursuit 1.4.                     *)
(* No flee behaviour: a T-1 that runs is a T-1 that has   *)
(* to be recovered. Faults are reported to the foundry.   *)
(*                                                        *)
(* SERVICE AIDS, disabled in the shipped unit:            *)
(*   eye "blue"    lamp: red amber green blue white off   *)
(*   flash 2       flashes per second; 0 is steady        *)
(*   beep          one buzz, rate-limited by the chassis  *)
(* Uncomment the marked line below to fit them.           *)

(* eye "blue" ; flash 2 ; beep ;                          *)
if charge < 15 then home
else if threat then hunt
(* else if threat then (beep ; eye "white" ; flash 6 ; hunt) *)
else patrol

The vector robots (V-class) on the other hand use an internal vector space to control their behaviour making them much harder to try to adapt, as seen below:

(* model.ml — V5_01. grown at the foundry, build 423. do not edit. *)
(*                                                                     *)
(* in:  charge casualty cargo home threat hurt bias *)
(* out: patrol tend home flee wait *)

let relu = fn x => if x < 0.0 then 0.0 else x in
let dot = fn w => fn x =>
      if length w = 0 then 0.0
      else hd w * hd x + dot (tl w) (tl x) in
let layer = fn ws => fn x =>
      if length ws = 0 then []
      else relu (dot (hd ws) x) :: layer (tl ws) x in
let linear = fn ws => fn x =>
      if length ws = 0 then []
      else dot (hd ws) x :: linear (tl ws) x in
let argmax = fn l => fn i => fn bi => fn bv =>
      if length l = 0 then bi
      else if hd l > bv then argmax (tl l) (i + 1) i (hd l)
      else argmax (tl l) (i + 1) bi bv in

let x = [real charge / 100.0,
         real casualty_range / 24.0,
         if cargo then 1.0 else 0.0,
         real home_range / 40.0,
         if threat then 1.0 else 0.0,
         if hurt then 1.0 else 0.0,
         1.0] in

let h = layer [
          [0.00, ~1.14, 0.00, 0.00, 0.00, 0.00, 1.21],
          [0.00, 0.00, 1.04, 0.00, 0.00, 0.00, 0.00],
          [~3.87, 0.00, 0.00, 0.00, 0.00, 0.00, 0.84],
          [0.00, 0.00, 0.00, 0.00, 0.61, 1.04, ~0.20],
          [0.00, 0.00, 0.00, 0.98, 0.00, 0.00, ~0.31],
          [0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 1.05]] x in

let o = linear [
           [~0.87, 0.00, ~0.48, ~0.82, 0.26, 0.57],
           [1.25, 0.43, ~1.97, ~0.88, 0.00, 0.00],
           [~0.21, 0.00, 3.62, 0.00, 0.29, 0.00],
           [0.00, 0.00, 0.00, 2.02, 0.00, 0.00],
           [~0.48, 0.00, 0.00, ~0.51, 0.00, 0.15]] h in

let k = argmax (tl o) 1 0 (hd o) in
if k = 0 then patrol
else if k = 1 then tend
else if k = 2 then home
else if k = 3 then flee
else wait

The braincode the V-class machines run is a small feedforward network with seven inputs, six hidden units, five outputs, rectified linear in the middle and an argmax at the end. The weights were designed by hand rather than trained, which means they can still be read. Each hidden row is a detector and one of them triggers, for example, when a fallen machine is close, or when its own cell is running down. The five output rows are intents (essentially functions the robot can perform): patrol, tend, home, flee, wait.

Together these, and many other layers or mediations articulated through code, construct the entire Nostos project. Built using the vector space I am theorising, the form of this vector media artefact is amorphous and overlapping, both machinic procedure and literature, code and world-exploration, a kind of gamic irrealism.  






Notes

[1] I have been reading the very interesting Metagaming: Playing, Competing, Spectating, Cheating, Trading, Making, and Breaking Videogames by Stephanie Boluk and Patrick LeMieux after creating Nostos, and their concept of "metagaming" is a useful way of thinking about game design philosophy, what they call "a critical practice in which playing, making, and thinking about videogames occur within the same act" (Boluk and LeMieux 2017). Although I have attempted to think in terms of a "vector medium" (see Berry 2026), I think their emphasis on reflexivity and awareness of medium specificity is crucial when thinking about games as a particular form of media. Nostos is not solely meant to be a game, though, and has a large literary or textual aspect to its form, represented not just in the web archive within the game, but also through the textual interface presented by the laptop and terminals the user can explore.  

[2] I used Claude to generate this set of statistics for the game (caveat emptor). Claude Code writes a JSON-lines transcript of every session to disk, and each record carries four token counts: output, fresh input, cache reads and cache creation. The figures are summed from 329 such files. Taking every transcript unweighted gives 18.59 billion tokens, so the 17.77 billion quoted here assigns 820 million to work on other projects; the two dominant transcripts, 708 MB and 207 MB, measure 98 and 99 per cent game work. That headline figure is traffic rather than distinct text: cache reads are 98.1 per cent of it (a cache read is the same conversation handed back to the model at the start of another turn). Published rates per million tokens at the time of writing: for Opus, $15 fresh input, $75 output, $18.75 cache write, $1.50 cache read; for Sonnet, $3, $15, $3.75 and $0.30; for Haiku, $1, $5, $1.25 and $0.10.

For energy estimates, only tokens that ran a forward pass count, which is 314 million of prefill, the fresh input and cache writes together, plus 26.4 million of decode. Cache reads are excluded because they load stored key-value state rather than recomputing attention over the prefix, which is why they are priced at a tenth of fresh input; scaling on the full 17.77 billion instead would give a figure fifty-two times too high. At an assumed two floating-point operations per active parameter per token, and three hundred billion active parameters, that is about 2.0 by ten to the twentieth operations, or roughly 181 device-hours of a current accelerator, which at 1.4 kilowatts a device is 254 kilowatt hours. Anthropic publishes little about the parameter count, and therefore assumptions have had to be made for the calculations presented here: two hundred billion would give 169 kilowatt hours, five hundred billion 423.

Water has two parts: on-site cooling at three tenths of a litre per kilowatt hour gives 76 litres, and off-site evaporative loss in generating the electricity, at one and four fifths litres, gives 457, for 533 in total. Both rates vary by site, season and generating mix by a factor of several. It is the weakest number here and should be read as indicative.

Calculated by Claude Opus 5 (High)


Calculated by Claude Opus 5 (High)



Bibliography

Berry, D.M. (2025) ‘Provenance Anxiety: Death of the Author in the Age of Large Language Models’, Stunlaw. Available at: https://stunlaw.blogspot.com/2025/12/provenance-anxiety-death-of-author-in.html.

Berry, D.M. (2026) ‘Vector Theory: Epistemology, Political Economy, and Probabilistic Computation’, Philosophy & Technology, 39(3), p. 149. Available at: https://doi.org/10.1007/s13347-026-01162-w.

Booth, W.C. (1983) [1961] The Rhetoric of Fiction. Chicago: University of Chicago Press.

Boluk, S. and LeMieux, P. (2017) Metagaming: Playing, Competing, Spectating, Cheating, Trading, Making, and Breaking Videogames. Minneapolis: Univ Of Minnesota Press.

Lubbock, P. (1921) The Craft of Fiction. London.

Michie, D. (1973) ‘Machines and the Theory of Intelligence’, Nature, 241(5391), pp. 507–512. Available at: https://doi.org/10.1038/241507a0.




Comments

Popular Posts