One Grail, Three Kingdoms: How Grail of the Gods Hopped From TI-99/4A to Intellivision to ColecoVision
News

One Grail, Three Kingdoms: How Grail of the Gods Hopped From TI-99/4A to Intellivision to ColecoVision

Most homebrew games are lucky to exist on one machine. Grail of the Gods exists on at least five. In February 2018 it completed a hopscotch run across three of the classic era’s most stubbornly different platforms — Texas Instruments’ TI-99/4A home computer, Mattel’s Intellivision console and Coleco’s ColecoVision — picking up new graphics, new music, new maps and new authors at every stop. Nobody planned the relay. There was no publisher, no licence and no money changing hands beyond one cartridge sold at cost. There was just source code, posted publicly, and a succession of programmers who each read it and thought the same thing: my machine could run this. The porting chain is the story, and it says more about how the retro homebrew scene actually works than any single release could.

A Twenty-Line Beginning

The trail starts on the PC, with a programmer working under the name IBOL. His original Grail of the Gods was written in Dark BASIC as an entry in a 20-line challenge — an exercise in squeezing a complete game into a listing short enough to type in. What he squeezed in was a miniature role-playing game in the roguelike mould: a lone adventurer descends through a dungeon of mazes, fighting monsters, collecting gold, potions, weapons and armour, chasing one prize at the bottom. According to later discussion on AtariAge, the little game kept growing after the challenge ended — within a couple of months it had gained graphics, and a month or so after that it had been remodelled into an isometric 3D view. But it was the plain, portable bones of the thing that mattered. A dungeon crawler built from mazes, statistics and text travels well, because almost every home computer ever made can draw characters on a screen and roll dice.

The MC-10 Detour Nobody Expected

The first porter was Jim Gerrie, a tireless champion of the TRS-80 MC-10, Radio Shack’s tiny, underpowered 1983 micro. Gerrie built a cottage industry out of bringing games to a machine most people had forgotten, and Grail of the Gods was among his conversions. The MC-10 version matters out of all proportion to the machine’s sales figures, because Gerrie’s page about it is where the next porter found the game. Porting chains are rarely straight lines drawn on a map. They are trails of links, blog posts and forum threads, and this one ran from a Dark BASIC listing, through one of the obscurest micros of the eighties, to a programmer browsing the internet in 2017 and wondering whether his favourite computer could do the same trick.

Eight Levels of ASCII on the TI-99/4A

A Texas Instruments TI-99/4A home computer

The Texas Instruments TI-99/4A, the machine where the homebrew chain began in the autumn of 2017. Photo: MKFI, via Wikimedia Commons (public domain).

The TI-99/4A version came from a programmer posting as majestyx, and his motives were openly sentimental. He had just finished an Extended BASIC conversion of Oregon Trail when he remembered a forum thread from roughly four and a half years earlier asking why nobody had made a roguelike for the TI. Nobody had. He had also seen Gerrie’s MC-10 version, recognised the Dark BASIC original behind it, and decided the idea was, in his own assessment, promising and doable. Grail of the Gods in Extended BASIC was only the second program he had ever written in the language.

It nearly defeated him on speed. Interpreted Extended BASIC crawled so badly that the game was barely playable even with the emulator’s CPU overdrive switched on, so he fed the listing through Harry Wilhelm’s XB compiler and wrestled the code — strings especially — into a shape the compiler would accept. Random maze generation went next: a single level took ten minutes to reach ten per cent completion, so he abandoned generated mazes and borrowed his layouts instead, adapting the eight levels of the Dungeon of Doom from Origin’s Exodus: Ultima III. Each level was a 17-by-17 grid with fixed spots for gold, traps, potions, the entrance and the exit, and monsters, weapons and armour scattered at random.

The result, posted to AtariAge on 3 November 2017, was an unapologetically old-school, all-text dungeon crawl. There is no plot beyond reaching the eighth level and claiming the Grail itself; the replay value lives in self-set challenges, such as finishing rich, finishing with a high rank earned by clearing out every monster, or sneaking through with the lowest rank possible. Majestyx was cheerfully honest about the design’s quirks, noting that a rusty dagger boosts your weapon rating exactly as much as a magic claymore, just as in the original. He also published the full listing so anyone could tinker, said plainly that he made nothing from the game, and raised no objection when Greg at Arcade Shopper began selling cartridges of it at cost.

He could not leave it alone, either. A final revision in February 2018 added a second eight-level dungeon, the tougher Fires of Hell, alongside the original, retroactively named Dungeon of Doom — both adapted from Ultima III dungeons. And the TI story has a coda: for Halloween 2019, programmer tmop69 produced an enhanced edition with graphics, sound and joystick support, and Arcade Shopper updated its cartridge to carry both the plain and enhanced versions. The text original majestyx had insisted on keeping pure had, two years on, sprouted pictures — on its home machine, at least. On the next machine, pictures were only the beginning.

Intellivision: The Port That Grew a Whole Band

A Mattel Intellivision console

Mattel’s Intellivision, the second stop on the tour, where the game gained graphics, music and sound within a single week in February 2018. Photo: Evan-Amos, via Wikimedia Commons (public domain).

Óscar Toledo Gutiérrez — better known as nanochess, the author of the IntyBASIC compiler — found majestyx’s TI thread while browsing AtariAge, tracked down the Dark BASIC source, and concluded it would fit the Intellivision. His version, posted on 6 February 2018, is in some ways the most faithful of the three. Where the TI port had sacrificed maze generation, IntyBASIC was fast enough to keep the original generation code, producing full 20-by-20 mazes. Toledo redesigned the status bar, trimmed monster names to eight letters, built a scrolling window onto the dungeon and used the JLP cartridge hardware’s extra memory to track which parts of the maze the player had actually seen. You steer with the hand controller’s disc alone, walking into things to pick them up, descend or fight — battles start automatically when you come alongside a monster, and your gear wears out as you use it, so fresh weapons and armour are a necessity rather than a luxury.

Then the thread turned into a jam session. Toledo had released his source and openly invited brave souls to add graphics, music and sound. Kiwi answered first with a graphical tileset for the dungeon and its monsters, alongside contributions from carlsson. ARTRAG supplied sound effects. Nyuundere composed background music, plus separate victory and game-over tunes. Mthompson wrote a PDF instruction sheet. Kiwi rendered a golden grail for the victory screen and a skeleton for the game-over screen. In the space of five days the Intellivision port went from plain text to a fully dressed production with a proper credits list on its title screen — a neat demonstration that in this scene, publishing your source code is an invitation, and invitations get accepted.

The Intellivision version also had the longest commercial afterlife. In 2023 it resurfaced as a physical release from Intellivision Revolution, catalogue number IR-0060, issued as one of the three games in the IntelliClub Pro 2023 membership package alongside Antarctic Tales: Enhanced Edition and Time Pilot. A dungeon crawler that began as twenty lines of BASIC had become a boxed club exclusive, twenty years after the console it ran on had left the shops.

ColecoVision: Twenty-Nine Maps and a Birthday Present

A ColecoVision console

The ColecoVision, the third stop. Its version swapped generated mazes for a pack of twenty-nine hand-picked maps. Photo: Evan-Amos, via Wikimedia Commons (public domain).

The final hop was the fastest. Kiwi, fresh from drawing graphics for the Intellivision version — including pixeling that 3D-rendered grail down to fit the machine’s colour rules — asked the obvious question out loud: why not make a ColecoVision port? The ColecoVision thread opened on AtariAge on 23 February 2018, seventeen days after the Intellivision one, with Kiwi explaining that he had written the game in C and framing the release as a birthday-month gift to the ColecoVision community.

One thing refused to cross over. The maze-generation routine needed numbers larger than eight bits, so Kiwi borrowed majestyx’s solution instead — fixed maps — but did it bigger: a pack of twenty-nine dungeons, most of them captured from levels the Intellivision version had generated, plus originals of his own. The exclusives included a treasure room guarded by a monster from much deeper in the game, a chess-piece layout, and a gauntlet map where you fight every enemy in the game in turn. Items and monsters were placed randomly under the original rules. Kiwi added battle animation and sound effects, a string of increasingly silly adjectives for the fragile weapons and armour — he compared their breakability, in jest, to Breath of the Wild — and two easier difficulty settings for players who kept dying. Music, he admitted, was beyond his bravery.

The following month became an open-air debugging session, conducted in public with good humour. Players on different emulators found levels that loaded empty, exits that froze the game, and a black-screen fault in the earliest builds. Kiwi traced the worst of it to his object-placement failsafe resetting itself inside its own loop, fixed it, and cheerfully documented the one bug he decided to keep: a slain hero’s corpse could be drawn into the next fight and killed a second time, because fixing it would have meant tangling the main loop. When majestyx finally commented on the thread in 2020, he noted that he had owned a ColecoVision and a TI at the same time back in 1983, so the port felt like reliving his eighth and ninth grades. Kiwi, for his part, released the source code in February 2019, saying the game was finished and that he did not feel it would be right to publish it on cartridge. The ColecoVision version would stay a gift.

Why This Little Game Kept Moving

Strip the story down and three habits explain it. First, everybody published their source. IBOL’s listing could be read; Gerrie’s port could be studied; majestyx shipped his full Extended BASIC listing with notes; Toledo attached his IntyBASIC code and asked for help improving it; Kiwi eventually did the same. Second, each community had a gap the game happened to fill — the TI had been waiting years for a roguelike of its own, and compact, statistics-driven dungeon crawls suit all three of these machines precisely because they ask almost nothing of the graphics hardware. Third, nobody treated a port as a copy. The TI version traded generation for borrowed Ultima III layouts; the Intellivision version kept generation and gained a scrolling window, music and art; the ColecoVision version traded generation away again and gained a curated atlas of twenty-nine maps and a gauntlet. Each machine got the Grail of the Gods its hardware — and its programmers — could honestly support.

That is the real shape of homebrew in the forum era: not lone geniuses, but relay teams who never meet, passing a twenty-line dungeon from Texas to a Mattel console to a Coleco box, improving it in public and arguing about staircase sound effects along the way. The Grail, appropriately enough, turned out not to be the cup at the bottom of the eighth level. It was the source code, sitting in the open, waiting for the next person to pick it up.

One email a week: the best new articles, hidden gems, and zero spam. Insert coin to continue.

Join the discussion

Your email address will not be published. Required fields are marked *