Interlisp Hungarian Rings
A downloadable game
This is my entery for the Autumn Lisp Game Jam 2025.
This code is provide as-is with hopes to give some example of how to write such a thing in Interlisp. A great deal of thanks goes to the Medley Interlisp revival team who have given me excellent help throughout my time with them.
For some time, I've wanted to implement a "twisty puzzle" in Lisp.
This is a variation on the Hungarian Rings puzzle written in Interlisp for the Medley Interlisp system. I'm including the "RING.LISP" source file. (Which you don't generally manually edit in Medley so the formatting is a bit nutty as it's system curated.)
---
Medley Interlisp provides an environment with basic graphics capability and also an optional online emulator which I hope to ease the game distribution work. The real work is studying the included manuals and simply trying things out in the Executive (REPL). Interlisp came from BBN Lisp which is one of the heritage dialects of Lisp from the very early days. Interlisp is a smaller language than Common Lisp and some things are a bit more clunky (but hey - we have abstraction and syntatic extension! This is Lisp and we can add what's needed). Other things are novel and quite interesting. Read the language spec - you'll get out of it what you put in.
The Medley environment also allows for calling its own dialect of Common Lisp. The two languages can call functions from each other but I've tried to write this game MOSTLY in Interlisp for the full "early days" experience. Medley does offer the "Iterative Statement" which is very much like Common Lisp's LOOP with some small syntax differences (and user extension apparently). I've also used Interlisp's notion of "records" which are a bit like structs with some more minimal underpinnings. Both LOOPS and (a good bit of) CLOS are available but for the Jam I wanted to keep my code fairly vanilla.
When using Interlisp it's important to remember that things are often 1 indexed rather than 0 so it becomes necessary to adjust your algorithms on occasion. Also, the order of parameters may change between Common Lisp and Interlisp if both have similarly named functions. Some Interlisp functions are mutating but don't have the usual the "F" suffix ala Common Lisp. It then becomes important to Read The Fine Manual. (Which you ALWAYS have access to by right clicking the desktop an clicking "Dinfo" or simply using MAN <NAME>). However, the PDF version has some things missing from the built in one.
There is much more to explain about Medley but it might be best for you to get involved yourself and scratch that itch for the chunk of history you missed. You can VERY easily download the entire VM for Linux, Mac and Windows.
Link here: https://interlisp.org/
Anyway, on to the game.
I've taken the concept of Hungarian Rings and added a 3rd ring that intersects the other two. It is my hope to cause you great annoyance - it's very obnoxious. :D
This is currently a work in progress for the Autumn Lisp Game Jam 2025.
| Updated | 18 days ago |
| Published | 22 days ago |
| Status | In development |
| Author | Pixel_Outlaw |
| Genre | Puzzle |
| Tags | Black and White, commonlisp, interlisp, lisp, Retro |
Download
Install instructions
This is a variation on the Hungarian Rings puzzle written in Interlisp for the Medley Interlisp system.
Playing: The object of the game is to make the puzzle match the included picture. Click inside the rings to rotate them. Left (Mouse left button) or right (Mouse right button).*
*The game actually selects a ring to rotate by using the angle from the center of the screen so you don't technically have to be inside a ring.
To play the game you have two options. The online emulator provides very easy access but if you're interested in a real Lisp OS, eventually you'll want a personal copy.
ONLINE https://interlisp.org/software/access-online/
- Use the online Medley Environment and upload the RING.LISP file using the "IMPORT/EXPORT" button on the VM there. In the window, drag your copy of RING.LISP over.
- Once, you've uploaded the RING.LISP file move back to the Interlisp desktop. Right click a blank space on the desktop and select EXEC-> Interlisp from the menu. (Drag out the window it's prompting for)
- Type (LOAD "RING.LISP") to load the file you've uploaded.
- In the same Exec window type (HUNGARIAN.RINGS) and the game will prompt you to position 2 windows. One is the live puzzle and the other is a card with a solved picture.
- To play the game simply click inside the loop you wish to shift. Left click rotates left, right rotates right.
- To quit the game middle click the puzzle window and select 'Close'. (the other window can be right clicked and 'close' selected.
- It is probably best to log out when done.
OFFLINE https://interlisp.org/software/install-and-run/
- Place the file in the root directory of your medley install and follow steps 2 onward. This is '~/il/' for me on Linux. Consult the docs for where your root directory for Medley is otherwise.
Development log
- Made it to the Finish Line18 days ago
- Interlisp Hungarian Rings Devlog20 days ago

Comments
Log in with itch.io to leave a comment.
As I add things to the game I will update it on the Github page.
Please go here for the latest.
https://github.com/RyanBurnside/Interlisp-Hungarian-Rings/tree/main