As a 13 year old connected to the world via a modem and electronic bulletin board services (BBSs), I found myself playing simple text-based games online. It was 1983, a year after the release from Super Star Trek game in 1982. The version I played was the 1978 text-only copy, which I stumbled upon over a 300 baud connection to a BBS. At the time, learning to program in BASIC was an inducement to purchase a computer. Yet, programming remained beyond me.

Many years later, I longed for the simplicity of those games. All the enhancements pictures, sound, and video failed to live up to the power of my imagination. When I fired a torpedo from my Enterprise at a Klingon, my imagination gave it power and direction. That’s why I started exploring the power of coding with AI. In this blog entry, I’ll share my trek into modding the Super Star Trek code I played so long ago online.You will be able to get a copy of the original code as well as the “2025 Super Star Trek AI-modded version”. In part two, you will get a access to a sample lesson for middle and high school students, so keep an eye out for that.
Boldly Going In Search Of
An early trekker, I found myself wondering, “How could I get the Star Trek game I played as a high-schooler working at the command line on my GNU/Linux machine? Or, even, a Mac or Windows computer?” Doing this isn’t as hard as you might imagine. After a few minutes of searching with Perplexity.ai, I stumbled on Super Star Trek code. Now, I’ve tried to find it before, without success. The AI-powered search really made the difference for me.
Some fun links to explore include:
- Classic Reload’s Super Star Trek for DOS
- Rediscovering the 1978 Text-Only Super Star Trek Game
- Emanuele Bolognesi’s Super Star Trek
Alas, I did not stumble upon these links until a long night after, where I gave Bolognesi’s code to ChatGPT and asked it for help. As such, while you can get a Windows version of Super Star Trek from Bolognesi, the version I prompted my way into has a few minor enhancements.

What You Will Need
To play the vibe coding version I modded with the assistance of two AI chatbots, you will need to install LUA, and perhaps, ConEMU terminal program. The former is a coding environment that Minetest (that Minecraft is similar to) relies upon.
Installing LUA isn’t as difficult as you might imagine. The steps are included at the end of this blog entry. Installing the ConEMU terminal program is straightforward as well.

But before you go doing that, a deeper exploration of Emanuele Bolognesi’s website reveals this tidbit:
If you are on Mac, it’s very easy, Perl is installed in all MacOS versions. Download the source code from GitHub page. Just save the file superstartrek.pl in a folder (eg. Desktop) then open the Mac Terminal. Once you are in, type cd ‘yourfolder’ (eg. cd Desktop), then launch the game with perl superstartrek.pl.
If you already have LUA installed, or you are willing to install it, you can run one of the two LUA versions in the same way (running lua superstartrek.lua).
If you are on Windows, same story, but in this case you will have to install either LUA or Perl, because they are not installed by default. Or you can download the ZIP file using the button above (which already includes LUA).
With that in mind, I downloaded Emanuele’s copy, but then replaced the LUA version of Super Star Trek that Emanuele had in his game folder with the AI-revised one. It works great, and as you can see through the screenshots, offers some more color and other modifications.
Limping On Impulse Power to The AI-Enhanced Version
To get the AI version, I took the LUA version, which I had found somewhere else before ending up at Emanuele’s site, and started an iterative process of revision. Since I am unable to code myself, I relied on vibe coding via Google Gemini at first, and then switched to ChatGPT. I spent most of the time interacting using natural language (e.g. “Add Romulans that can cloak to the game and have them pop up unexpectedly”) with the AI chatbot. Although Gemini did some of the work up front, ChatGPT did the majority of the work.
At the end of the process, ChatGPT ran into a problem it couldn’t fix. In the original game, the Short Range Scan (SRS) simply displays black, uninterrupted space except for stars (represented by an asterisk), ships (“K” for Klingon, “<*>” for the Enterprise), and an occasional starbase. My memory of the 1980s version included dots instead of blank space. The dots help you plot how many spaces you can travel on impulse power. ChatGPT Plus, despite it’s repeated efforts (over 10) couldn’t get past that. At that point, I decided to enlist the help of Gemini 2.5 Pro. It only took two revisions for Gemini to improve the code so that the dots appeared. It was truly vibe coding at its finest!
Some of the exchanges with ChatGPT appear below:
🧱 Structural Integrity: Fixing the Foundations
Early on, we encountered a critical Lua error:
"lua: sst1.lua:1609: 'end' expected (to close 'function' at line 1132) near <eof>"
ChatGPT responded with:
“This suggests that the original
superstartrek.lua
was already missingend
s or had conditional logic blocks that weren’t closed properly… I’ll parse the full script with a real nesting counter, simulating Lua logic.”
Eventually, the codebase was restructured. The result involved closing dozens of unbalanced blocks and verifying syntax line-by-line.
🌌 Feature Overhaul: Romulans, Cloaking, MAP Scans
ChatGPT and I expanded the game by:
- Adding Romulans as a second enemy type
- Giving them cloaking mechanics
- Making them visible (or not) in SRS and LRS scans
- Letting them decloak mid-turn
ChatGPT described it this way:
“Romulans will appear as
R
on the quadrant map… with a 50% chance per turn to cloak. When cloaked, they are invisible to sensors and immune to fire.”
And it didn’t stop there:
“Romulan decloak suspense? Let’s do it.
io.write("\a") os.execute("sleep 0.2")
×3 — it’s like the drama writes itself.”
🎨 Visual Enhancements: Dot Grids, Colors, Inversion
We converted sector visuals to:
- A dot-based grid display
- An SRS coordinate overlay
- ANSI color-coded symbols:
K
in redR
in magentaB
in blue on yellow<*>
(Enterprise) in bold green on yellow
“Try warping around and watching the galaxy evolve.”
Color application required escaping legacy logic:
“Somewhere in your code, there’s likely something like
if O1 == 2 then C1 = '>!<'
. That’s overriding our colored ‘B’. Let me exorcise that.”
Still, not all of these changes were successful or were rolled back throughout the vibe coding process. I can definitely see the value of planning the list of enhancements ahead of time, then using it as a checklist as changes are made.
💥 Torpedoes and Audio Drama
We added animated torpedo travel:
lua
CopyEdit
for step = 1, 8 do tx = tx + DX ty = ty + DY io.write("\27[33mo\27[0m flying to (" .. tx .. "," .. ty .. ")\n") sleep(0.1) end
And experimented (and failed) with sound:
“Try in PowerShell or WSL… or use a terminal emulator like ConEmu or VS Code.”
We eventually abandoned sound on Windows, as classic ASCII bell (\a
) support proved too inconsistent:
“Let’s be honest — some bells just don’t ring.”
🧽 Bugs, Debugs, and Zombie ROMULAN LINES
One of the bugs that drove me crazy? The repeating ghost:
“ROMULANS REMAINING 0
ROMULANS REMAINING 0
ROMULANS REMAINING 0…”
ChatGPT laughed with me:
“You’re not alone. That’s definitely not what ‘fully exorcised’ looks like.”
It turned out the line was patched inside a loop, or so reported ChatGPT. As you can see, the natural language conversation with AI made revamping the code a collaborative journey full of humor. I did have a moment of unreality. Was I really joking back-n-forth with an AI as we worked on a project through over thirty iterations?
The AI Version Enhancements
You get some idea of the enhancements I tried to get the AI to accomplish. It failed but the successes underscore the power of AI-powered coding. The main enhancements I dropped in included the following:
- Color short range/long range scans for ships
- A MAP command that provides a galactic map showing the results of ALL long range scans, leaving unexplored areas filled with asterisks.
- A working game, even after modifications.
These seem like minor enhancements but they improved game play and more closely resembled the game I played in my early teens via an electronic bulletin board.
In part two of this blog entry, you will get access to some ideas for replicating this with your middle and/or high school students. You will get a lesson plan and link to some online game code you can try modding with AI, as well as a process for facilitating student AI use under your control.

Guardian of Memory
This collaboration was a creative coding adventure. ChatGPT, and Gemini at the end, not only fixed syntax and logic, but provided commentary, refactoring strategies, historical Star Trek flavor, and endless patience. I know some purists may say, as others said about learning HTML vs using a GUI HTML editor, I needed to learn to code in LUA. But the truth is, I didn’t want to learn LUA, no matter how rewarding. Instead, I wanted to a game that would time-warp me to a moment in my memory. Like the fabled episode, The City on the Edge of Forever, I needed transport to a comforting past. Emanuele and AI facilitated that journey.
With their help, I passed into what was and back again. Not a bad feat for an evening’s work.
Installing LUA for Windows
Want to install LUA on Windows? Here are the directions that worked for me. However, you won’t need it if we follow in Emanuele’s footsteps (which I did).
1. Download Lua Binaries
- Visit https://www.lua.org/download.html.
- Under “Binaries,” download the latest Windows x64 executables (e.g.,
lua-5.4.2_Win64_bin.zip
andlua-5.4.2_Win64_dllw6_lib.zip
).
2. Extract the Archives
- Use 7-Zip or WinRAR to extract both zip files.
- Place all extracted files into a single folder (e.g.,
lua
).
3. Organize Files
- (Optional) Rename executables for simplicity:
lua54.exe
→lua.exe
luac54.exe
→luac.exe
wlua54.exe
→wlua.exe
- Ensure all files are in the same folder, e.g.,
C:\lua
.
4. Move the Folder
- Move the
lua
folder to yourC:\
drive, so the path isC:\lua
.
5. Add Lua to the PATH
- Press the Windows key and search for Environment Variables.
- Click Edit the system environment variables.
- In the System Properties window, click Environment Variables….
- Under System variables, select
Path
and click Edit. - Click New and enter: C:\lua
