The Game of Lugi

Lugi is a text adventure game written way back in 1980-81 by me and my friend Jay Wilson, who started the project. For those who don’t know, text adventures are an ancient genre of computer game which has no graphics. The program describes your character’s surroundings, and you type in commands to tell it what your character does, such as to walk in a given direction or to pick up or use some item. This type of game is also more pretentiously known as interactive fiction, but that term was not in use back in those days.

Traditional text adventures like Colossal Cave Adventure, Mystery Mansion, or the Zork series generally give the user a rather slow-paced game experience centered around learning the environment and solving puzzles. Once all puzzles are solved, there is relatively little replay value. Lugi is different. First of all, the map is not the same from one run to the next. And second, you have limited time — only a certain number of minutes at the keyboard to complete a run of the game. This means that if you take the time to carefully write a map, as is common practice in classical text adventures, you are unlikely to complete it before you character expires. But if you don’t use one, you are never going to find everything. This makes finishing the game all about balancing risk and reward, with every run having a different outcome. It’s interactive fiction for speedrunners. Play is expected to be messy and chaotic, so the game does not in any way take itself seriously.

Lugi can be run from a command prompt on many different systems from my old Amiga to my current phone, but of course for it to reach the public nowadays, it has to be on the web. So I made a web page that emulates a primitive scrolling text display like we used to use back in the timesharing days, with Lugi running in it. Be aware that refreshing the page restarts the game.

You can resize this page and the text display will expand or shrink (within reasonable limits) to fit it. If the game produces lengthy output that doesn’t fit, it will pause and display  -- MORE --  at the bottom in inverse colors. If this happens, just press any key once you are ready to read the rest. When viewed on a phone, the font may be rather small, but hopefully it’s still readable enough. You may have to tap the display to make the virtual keyboard appear.

Since the initial release, this online version has added a server-side high score list, so you can see how you’re doing against other visitors to this site. If your score qualifies it’ll ask you for a name, and remember that name in a cookie for next time. Like any cookie, this applies only to one browser on one device, and can be deleted at will.

The source code is designed to be easily ported to any platform old or new, though if you’re interested in a retro platform it probably will not fit in something like a Commodore 64 or a CP/M system — an 8088 PC is about as primitive as you’d want to go. It’s written in C, though the eighties original was in Pascal. Much of the C translation was done in the early nineties, but it wasn’t finished then. The source code can be found on GitHub, but I will ask that you please don’t read it just to figure out the tricks in the game. Lots of players back then discovered them through gameplay (it was pretty popular locally), and one or two even outplayed me at it.

The open-source license (which allows usage and modification, but not commercial sale) is here.

source repo
paulkienitz​.net home
email Paul