
Over the last few weeks, I created a computer game set in the Arctic. Or maybe I’ve been working on it since 1981. It all depends on how you count.
All I know for sure is that I programmed the original version of Arctic Adventure in Radio Shack TRS-80 Level II BASIC when I was in high school. (It’s possible I did at least some of that work in 1980, though it was published in 1981.) In 2021, I put a debugged and slightly expanded version on the web. And in late January and early February of this year, I used Anthropic’s Claude Code to treat my ancient TRS-80 Level II BASIC code as raw material for a fancy, modern edition of Arctic Adventure. The new version even adds one meaningful feature the 1981 edition didn’t have at all: graphics.
Who else do you know who’s been banging away at the same project for that long, even if intermittently?
Arctic Adventure 2026 is easy to embed on any web page, so here you go. Feel free to try it out rather than reading on. Just remember to SAVE your game if you intend to return to it.
I don’t remember how long it took me to put together the original version of Arctic Adventure, but it would have been weeks if not months, occupying most of my spare time at home and school (I had access to a TRS-80 at both, thank goodness). I was the second most proficient programmer at my high school and, as far as I remember, came up with the code based largely on my own techniques.1 Level II BASIC was sluggish by nature—it was interpreted, not compiled—and so getting the game running fast enough to be bearable was something of an achievement.
Creating the new one started as a lark. Maybe even an attempt to prove it wasn’t actually possible.
I’ve often toyed around with the intersection of AI and ancient computer programs—for instance, by trying to get chatbots to write a Level II BASIC program to draw a square, something they couldn’t do for a long time.2 Two years ago, I even taught ChatGPT to write old-school adventure games based on any theme, with optional 8-bit-esque graphics.
Last month, when I was fooling around with Claude Code, the first thing I tried was getting it to program a couple of simple games that evoked the early 1980s. Impressed by the results, I wondered if I should try something more elaborate. Then a goofy experiment occurred to me. I’d already built an ambitious 1980s-style game: Arctic Adventure. In fact, I’d written it in the 1980s. What if I fed my BASIC listing into Claude Code, just to see what might happen?
So I did. I pasted in the program in its entirety, asked Claude to convert it for the web and add graphics, and provided no further guidance.

What happened next astounded me. After digesting the program listing, Claude Code had a rough draft of a web-native edition ready in minutes, complete with artwork for every scene.
Yes, its first pass was buggy and incomplete. The art, in particular, would need a lot more work. But it was at least 80% of the way to a playable game. I began debugging it, adding features, and polishing up the visual experience. I felt like I had two collaborators: Claude and the teenage me who’d written the original game.
Within a few days, I had something that felt, once again, like my own creation. The process has been so absorbing that it’s been tough to pull myself away from it, even to write this article.
Arctic Misadventure
At this point, I should pause and explain why I bothered to bring my old game into the 21st century. It’s not because I’m intensely proud of it. “Reasonably decent, considering it was written by a high school student so many years ago” is the highest praise I can summon.

The first four decades of the Arctic Adventure saga are covered in copious detail over at another site of mine, Arctic81.com. Briefly: In high school, I loved playing text-based TRS-80 adventure games written by Scott Adams.3 Moved to write an Adams-style adventure myself, I set it in the Arctic. I didn’t know anything about the place, and don’t remember bothering to do any research, but as far as I knew, nobody else had used it as fodder for an adventure.
I hoped my game might get published and make me some money. It was and it did, as a type-it-in-yourself listing in a book called The Captain 80 Book of BASIC Adventures.
Captain 80 wrote me a check, but never got around to giving me a copy of the book. Eventually, someone who worked for him later icily told me that a bug in my program had made the game unwinnable. I felt a brief pang of remorse and then moved on.

Many years later, I did track down a copy of the book online. It sat on my shelf for several years until I got around to typing the program into a TRS-80 emulator on my iPad. I found the bug—which made it impossible to play the game, let alone win it—and several other ones, and fixed them. I also added a fair amount of new functionality, including embedding another TRS-80 game I’d written, a slot machine simulator, as a bonus. When I figured out how to make the thing run in a web-based TRS-80 emulator, I put it on Arctic81.com, accompanied by an account of its strange history.
I lost track of the number of websites (and at least one print magazine) that covered my semi-epic quest to make Arctic Adventure playable. Many people tried the online version. Quite a few emailed me to say they enjoyed it. Some offered suggestions for further improvements.
All of a sudden, a slightly painful distant memory turned into something resembling a triumph. Along the way, I also concluded that the original bug might have been introduced after I turned the code over to Captain 80, which further lifted my spirits.
Inspired by all this, my friend Charles made a web-playable version of his early 1980s TRS-80 BASIC adventure, Lost Ship Adventure. (He’d programmed it slightly before I wrote mine, as we sat together in our school’s computer lab.) I added it to Arctic 81. Last year, a programmer/historian named Jim Gerrie ported my game to a different TRS-80 BASIC, in a version that’s actually closer to the original than my own updated edition. That’s on Arctic 81, too. And now this new version has its own Arctic 81 page.

To get back to the question “Why Arctic Adventure 2026?”: I don’t think anyone has been sitting around specifically waiting for it. But porting and revising the game served well as a laboratory for exploring Claude Code. I was able to forge ahead far more quickly than if I’d had to devise a game from scratch. And the finished product is certainly at home on Arctic 81.
Arctic Adventure 2026 includes only minor tweaks to the game’s locations, objects, puzzles, and plot.4 Mostly, they’re what my brain came up with during the first Reagan administration (or maybe late in the Carter administration—I wish I remembered for sure). If you weren’t playing computer games back then, the bare-bones experience might confuse you: For example, how could it be that on a snowy plain, you can only go in two directions, WEST and SOUTH? The answer: Because it was a challenge to get even 20 locations into 16KB of RAM.
There’s also a lot in the game that doesn’t make a huge amount of logical sense. You, the player, are supposedly stranded in the Arctic, even though it soon becomes clear you’re within walking distance of civilization. Items are hidden and revealed in ways that would be extraordinarily unlikely to happen in real life. Adventure games were just like that back then, so I left it all alone.5
Arctic Adventure 2026 does have some substantial new creature comforts. Its save/load feature is far more robust, with five slots that preserve games in progress even if you close the browser tab. At any point, you can scroll back through the game to its beginning. I felt bad about the several ways you can abruptly die, so I added a once-per-game “undo death” option. You can choose between an interface with larger graphics or a more compact view that also shows your inventory of carried items at the bottom. I also added more hints and help.
The big change is the artwork. Over the past 10 months, I’ve vibe-coded several apps, but all the others amounted to productivity software, and I’d used platforms other than Claude Code to make them. Until I plugged my code into Claude Code, I didn’t know how it would render visuals.
Appropriately enough, it coded them. They were nothing like what Google’s Nano Banana and other AI image editors would have generated. Instead, Claude cranked out simple vector drawings, not hyperdetailed bitmaps. And it turned out that it wasn’t all that great at making them. (AI blogger Simon Willison came up with the useful benchmark of asking LLMs to draw a vector image of a pelican riding a bicycle, which even the most cutting-edge models still do in a rudimentary fashion.)

Claude Code’s first pass at my game’s scenes came off as downright lazy. For example, it didn’t bother to give a polar bear any legs. I also soon discovered that if I told it to draw that bear performing some specific act, I was likely to get an unrecognizable mishmash of shapes.
Eventually, I went through almost every element in every scene and gave Claude specific instructions on what to draw. That worked better, though there was still plenty of stuff it couldn’t really render at all. For instance, chairs came out looking like M.C. Escher art. (I settled for a stool.)
At first, all this artwork consisted of still images illustrating my terse 1981 scene descriptions, such as “You are in an igloo.” Given that the text only mentioned objects directly related to gameplay, the scenes felt far too stripped down. The game involved plenty of action and surprises, but they weren’t depicted at all.
Little by little, I dressed the game up with background details, cut scenes (kinda—most last 1.5 seconds), and special effects. It turned out that Claude was better at making artwork move than at drawing it, as long as the motion could be expressed mathematically. I probably spent more time adding animation to the scenes—snow falling, sea life swimming, slot machine dials spinning—than on any other aspect of the game.
When I showed Charles a rough draft of the game with graphics, he commented that it felt like the art should be interactive. That led me to add the ability to GET and GO by clicking on items. Then I added hyperlinks to the text’s “Obvious exits,” “You see,” and “Inventory” lists. The result is that you can play a fair chunk of the game without typing. Theoretically, I could have made it entirely click-driven by showing menus of commands, but that seemed at odds with the original game, in which figuring out what you can and can’t do is the whole point.6
Toward the end of the development process, I added some sound effects, all of them relating to clickable items or the slot machine. (After I’d rigged that gambling device to show flashing lights and coins tumbling out when you hit a jackpot, silence felt inappropriate.) The audio amounts to bloops and bleeps, and if you don’t like it, well, there’s a mute button.
I have a vision in my mind of a version of this game with a magnificent orchestral soundtrack that changes depending on how you play, but that turned out to be slightly beyond Claude Code’s abilities.
As much fun as I’ve had with this project, I found myself grappling with my emotions over several aspects of it, starting with the basic fact that it adds graphics to what had been a text-only experience.
Back when I was addicted to text adventures, they felt like theater of the mind. I never felt the least bit deprived because Scott Adams’ early 1980s games had no artwork. (Maybe some people did, though: He eventually released adventures with graphics, as did other early purveyors of text-only games such as Infocom. Meanwhile, platforms such as the Apple II had graphical adventures almost from the start—most notably those written by Sierra On-Line’s Roberta Williams, including The Wizard and the Princess and King’s Quest. I never played any of them, so they had minimal influence on how I visualized Arctic Adventure.)

I still love text adventures–I might even write another one someday. But I found that adding graphics to Arctic Adventure didn’t ruin it, any more than movies bespoil novels they’re based upon. It’s just a different medium.
Oh, and I eventually realized I could soothe my conscience by giving the new game a text-only mode. On a smartphone, the text version even fits on the screen at the same time as the keyboard, eliminating the need to scroll around. This may have been the trickiest coding challenge to pull off in the entire game.7 After failing to get Claude Code to handle it, I outsourced the challenge to Gemini, resulting in the only lines of code in the game that Claude didn’t generate.
Along with getting my head around Arctic Adventure becoming graphical, there was the question of how much credit I could take for the new version existing. Yes, it was my idea. After ingesting my BASIC program, Claude Code even retained some of my original logic and variable names. But I wrote none of the JavaScript and CSS code that makes the new game work. I barely even looked at it.8
At first, that left me feeling a tad guilty. I certainly believe that learning to program computers is good for your intellect and soul, and regret that my skill at it didn’t advance much after I left high school. Vibe-coding something I wish I could have written on my own seemed like cheating.

I wasn’t haunted for long. Almost nobody programs computers in machine language.9 Mostly, programmers work in high-level programming languages that simplify many aspects of the job. Thanks to AI, I realized, English is just an extraordinarily high-level programming language. And vibe coding is coding.
Working on the game, I was able to make changes and add elements almost as fast as I could type, which was both mind-bending and exhilarating. In many cases, Claude Code took a minute to pop out a perfect execution of something I wasn’t sure it could do at all. Conversely, when it introduced bugs, they usually involved functionality that seemed straightforward to me. But squashing mysterious bugs is part of any programming job, and I felt useful when I found them and aided Claude in its troubleshooting.10 (My friend S.A. Applin beta-tested the game and reported several other glitches.)

The weirdest part of working on the game was the several occasions when I discovered Claude had proactively added minor bits of functionality, mostly involving anticipating things people might type into it. It was so good at mimicking the writing style I’d used in high school that I wasn’t always sure its contributions hadn’t been there all along.
Even if relying on AI to do the coding seemed okay, using it to generate the game’s graphics made me uneasy. I am sensitive to the concerns of creative people who consider all machine-generated imagery to be a ripoff, and bristle at the ultra-homogenized aesthetic of most of it myself. So when I discovered that Claude Code was just barely capable of rendering the cartoony kind of artwork I wanted, I felt better.
Cajoling Claude into drawing imagery that pleased me was hard enough that I will cheerfully take partial credit for the results. They remain basic. But so is the game they’re illustrating, and not just because I wrote it in BASIC. Anything too polished would have been inappropriate.
Side note: At one point, when I was working on some supplementary Arctic Adventure graphics in Nano Banana, I accidentally generated an image that vividly depicts what the game would have looked like if I’d used Gemini or ChatGPT to crank out all the imagery rather than producing most of it in Claude Code. Here it is, as devoid of soul as you’d expect (and with several misunderstandings of what it was trying to draw):

If that were my only option, I would have killed my own project rather than foist it on the world.
It’s been three weeks since I started vibe-coding the new version of Arctic Adventure, and I’m still tweaking it. It’s fun to lavish more attention on this project than it deserves. Some of these little touches are pretty obvious; others, I’m not positive anyone will ever notice. It’s been wild collaborating with a coding partner that will unhesitatingly attempt to crank out anything I ask for; a human programmer would have pushed back more.11
I know I entertained myself by making this game. I think it’s at least as entertaining as the original version and my 2021 revision, and probably more accessible to people who weren’t playing TRS-80 adventures when I did. Still, even with graphics, it beats with the heart of a Scott Adams-style text adventure. The crucial elements boil down to typing verbs and nouns into a command-line interface, just as they did in 1981—or would have, if the printed version hadn’t been rendered unplayable by that damn bug. (Speaking of which, if you find bugs in this version, please let me know.)
One other thing: The original version of Arctic Adventure consisted of only 141 lines of TRS-80 Level II BASIC, which was why it was practical to publish it in a book as a type-it-in listing. The new edition, in JavaScript and CSS, is 20,940 lines long. By my math, it would have required 10 TRS-80 floppy disks to store.
I could never have programmed Arctic Adventure 2026 on my own. But I do take satisfaction in the possibility that high-school me wrote tighter, more efficient software than Claude Code does.
Footnotes:
- My friend Charles, a far more adept programmer than I am, contributed a bit of machine code that scrolled the bottom half of the screen while leaving the top alone—a feat that would have been tough to accomplish in BASIC.
- ChatGPT still can’t consistently do it.
- Not the Dilbert guy.
- To reduce the chances of the game responding to player input with a “Huh?” or “I don’t know how to do that,” I added a bunch of synonyms to the vocabulary, as well as messages that make clear input had been understood even if it doesn’t advance the gameplay. In the early 1980s, those kinds of upgrades would have maxed out the TRS-80’s RAM and 1-MHz processor. Today, I effectively had unlimited memory and computational muscle at my disposal.
- I can’t blame 1980s adventure culture for one of the game’s oddest touches: the fact it involves a casino in the Arctic. I added that part in 2021 when I decided to merge in my TRS-80 slot machine code.
- Someday, I’d like to vibe-code a fully graphics-driven adventure in the spirit of LucasArts titles such as Zak McKracken (ahem) and The Secret of Monkey Island. However, I am not positive that Claude Code, in its current state, would be up to handling the graphics.
- On iOS, Safari really wants to auto-zoom in on text fields, and imposes decisions about scrolling that make it surprisingly difficult to make a non-zooming, half-height web page. But Gemini figured out a clever workaround when Claude could not.
- Charles peeked at the code and declared some of it “cringe-worthy.”
- After I wrote the original version of Arctic Adventure, I did manage to teach myself Z-80 code, and programmed a spectacular version of Space Invaders in it—an achievement I’m always happy to have a reason to bring up. I called it Space Troopers and sold it to Captain 80, but he didn’t end up publishing it. I don’t have a copy myself.
- When my 1981 version of Arctic Adventure was buggy and got printed in a book, it was forever. Shipping bug fixes for the new one takes seconds.
- Though Claude doesn’t work for free: After blowing through all the tokens included with my Claude Pro plan, I have spent something approaching $200 in overage charges to complete the game. Totally worth it.