Christmas Lights & Special Relativity (Bonus Educational LLM Game)

A short story about me and my Uncle setting up Christmas lights as an introduction to LLM based Educational Games, with a specific example for Special Relativity. A model for many other Educational LLM Games in the future.

Christmas Star Added to the Top of a Tree

We’d all gather at my uncles for Thanksgiving, with people coming from far and wide. For me it meant a flight to Dulles from London, usually a day or so before everyone else would join. When booking the flight there were always a few days before or after the big day and so I got to spend a bit of time with my uncle Jay. He’d studied physics, so had I, and we kept up to date on what was going on in science, but there were also impending practical problems to solve.
“The boxes on the top shelf, and the ones in the back, labelled Christmas.”
I didn’t need to reply, and the instructions were unnecessary as I had done this a few years in a row. I’d go down to the basement and look for a collection of well worn boxes and take them upstairs. They were either full Christmas decorations or empty boxes for the Thanksgiving decorations, which had just passed so it was safe to bring up – all – boxes.
But as a matter of form, it was good to holler an update periodically.
“I got the tree base here, and the lights, I put them on the deck.”
My uncle was methodical, and focused; the stereotype of working in aerospace. He was well aware of the potential disastrous consequences of poor planning and organisation: where every kilogram of load counts. But that didn’t mean he wouldn’t take risks, they were just “calculated”.
“Ok, let’s take the lights and lay them out on the deck…”, he directed. This was the first phase of the process, in which you performed inventory and damage assessment from the previous year. There were several boxes of Christmas lights that needed to be wrapped around parts of the house and tree. But before doing anything of that we would unwind and lay them out on the deck to perform basic triage.
The system was: unpack a roll of lights, lay it out, plug it in and hope you had robust emission of photons from all sections. There were also a few newly purchased strings of lights to replace the broken ones as backup. And there were left over replacement bulbs with as many plastic bulb holders as there were years of celebration because the attachment changed each year.
“Ok, well, those two are good… But this one, no.”, a long string was completely dark. While I am sure he pretended otherwise I think we agreed the situation offered a potentially interesting challenge.
The thing is: if you have partial results, like if half the string works, or if it blinks a bit when you jiggle it, you can work with that following a systematic approach. But if you have a total blank then this is a case where you have no information. You might have a string of lights wired in series with one missing bulb, it might be visibly burnt and easy to find by inspection. Or it might be a much more complicated story that will have you giving up in frustration after changing multiple small bulbs only to later on find out there was a special fuse you needed to replace.
There was a certain air of experimental science that took over in these moments. It was a bit like I could hear my uncle say: “Ok, we are going to try to solve this, but we can’t lose sight of the broader objective. We can’t risk getting overly distracted and jeopardise the whole mission.”
I, automatically, went through standard protocol to follow with unlit lights, and informed Jay right away:
“So, I checked the bulbs; they’re not obviously burnt or fitting poorly.°
Then I ventured a proposal:
“Can I try with a continuity tester?”
My uncle stared at me for a moment silently trying to assess if I was going to detour the mission or actually make a difference.
I needed to insist: “Can I give it a shot? Just for a few minutes?”
He went off and came back with an old tester that could be set to the little diode sign, and make a bored Zzzzztt when you joined the red with the black tester pins. You could use this tool to check for continuity (unbroken bulbs) across longer sections of lights.
“Alright, Yates, give it a shot. I have to step out, be back in ten…”
This is actually standard tactic for science lab oversight. You don’t want to be there staring at what the junior scientist is doing, you want to give them just enough time that there is the chance they find a way to solve the problem before time is up. I felt this was a big vote of confidence that I might figure out how to take on the whole problem on my own.
The pressure was on, so I got down to testing away, replacing bulbs. You could use a bulb holder hacked with a bit of copper wire to guarantee electricity flow. Sometimes you needed two or three of these but with the tester you could usually get quite far. Usually, with a bit of luck, and unorthodox use of continuity testing, I’d manage to save a string of lights: but, there was always a cost. To save the lights it would have either taken a rough tape job to hold an incompatible bulb in place, or a dead lightbulb sacrificed to bridge current across its contacts, or an ugly rewiring of a section adding a kink to the string of lights.
Then my uncle would return, and I would be still touching things up, with a string of lights working but also a trail of evidence he could follow to figure out what I had done.
He could be pretty brutal: “Well, I’m not sure. I think for this one it’s better to use a new one.”
I could feel the pain of recognising defeat against nature. You had to deal with reality. If you were to put up a weirdly shaped string of lights you would still have to later pass inspection from my aunt and… no, it would not pass.
It was difficult to get straight out compliments from my uncle, and so this had you trying again with the next broken string of lights hoping for elegant solutions that would really fit the project requirements. And by the time you would succeed, it didn’t feel as much as a personal moment of success, rather it was just something that happened to work out. I was learning something. A sort of piece of Zen attitude. That, actually, the process of trying to fix Christmas lights was important in itself.
My uncle was also a basketball coach, and I could really see the scientific direction he had applied to “Christmas lights science” transfer to kids making hoops. I am sure for example, that his players would feel bad enough for themselves, I doubted he would ever have to reprimand one of his players in a game.
Eventually we would move on to the wrapping of the lights around the deck and it was a collaborative simple: un-tangle, stretch out, hold, and cable-tie every meter or so. Then plug everything in, and most of the time the initial careful work done on each string of lights paid off with no trouble for deployment.
I was always curious about my uncles’ aero-space experience.
“Did you have to deal with weird effects like relativity when you were designing satellites?”
“Yeah, you have to… Clocks: they go out of synch if you don’t. A different timing and we would lose track of what we could see on the ground.”
“What kind of thing were you looking at?”
“You can look at the spectrum, the different shades of colours of what you see below and get a good sense if crops are healthy or not.”
“I see, like predicting the yield ahead. Was it special relativity you had to deal with? Or general?”
“You have to worry about both… but we would bounce messages regularly, to triangulate and correct timing. It could end up being seconds difference over a year if we didn’t keep track of relativity. It doesn’t seem like much but it’s a huge difference at the precision we were looking at.”
As I held the strings of lights and my uncle cable tied a long section with zip ties – which by the way were recycled because he figured out a quick technique to hold the clip open and remove them for the next year.
“So is it a bit like when we look up from here… we see the satellite above, but its moving so fast that its onboard clock is ticking slower relative to us?”
“Yeah, and getting the exact number is difficult. Computers were slow when we were doing these calculations so it was a big deal.”
We’d be wrapping the last bits and checking for uniform coverage of lights.
“Were you using punchcards?”, I asked.
“We did when I was in college, but we moved beyond those. It was such a pain to work with punch cards. If you got one missing or in the wrong order you might have to go through the whole thing over again.”
My uncle was wrapping up the wiring and the final steps of the process were a bit unorthodox. There was a power splitter with an extension with lots of splits plugged into it. It didn’t look good, if one piece of the puzzle overloaded, the rest would fail.
“Aren’t you worried: plugging everything in to that one socket?”
“Nah, it’s fine, not the first year, low power.”
It looked hideous to me, but I could sense the “calculated risk” aspect of this, and actually I could not think of a better alternative.

The Christmas tree was next. It had become an artificial structure since my uncle hurt his back trying to set up a gigantic real tree a few years back. The artificial one was made of pieces that seemed easy enough to fit but then offered some potential error if you plugged the wrong bits. The general structure of the process echoed the one with the lights: lay the assets out and evaluate their condition, proceed with composition in a step by step manner testing each phase. This meant finding the base then adding the lower part then, the side branches etc… and bending the metal branches a bit to make them fill out.
Note that this tree was enormous, something well over three meters tall. And despite my very tall uncles long arms we needed ladders to complete the upper sections. The final piece would have my 6 foot 11 inch tall uncle standing tippy toe on a ladder to place it. I could not look when he was doing this, it looked well beyond “calculated” risk.
Pretty much the final step of the “manly” work was to hang lights on the giant tree. This came with the added challenge that you would have live supervision of uniform luminous coverage of the surface. And my uncle, I got the feeling, did not much enjoy the messy aspect of this phase of work so I would get inordinate responsibility to try to decode instructions like: “there is a hole in the side up there” or “too many lights in the middle”. The tricky thing is that when you are right near up to the tree these directions are impossible to really understand, you can’t see the effects.
Einstein discovered an interesting problem when he thought of different frames of reference from which to measure what is happening, and how they might change if they are moving very fast, near the speed of light. I felt like I discovered something similar with the positioning of lights around a Christmas tree even if they don’t move at the speed of light. A sort of relativity law of lights coverage: when you are close up you cannot see what the tree observers further back see. It remains an unpublished piece of mine, that I am pretty sure my uncle would enjoy.
Eventually we would get to decorations, and there were a large number of them that echoed back through the family’s years. I think at some point I would get bored and just watch the emergent result, and again my Uncle on the top of the tallest ladder, standing tippy toe, extremely tall 6’11’’ to place a star on the top, I had to turn my head away and look somewhere else.

The Nerdy Educational LLM Games Bit: Intro to Generative Games

I wrote the piece above in memory of my Uncle Jay that was a huge science education fan. He and his wife were like Gods of the Science Fair as far as I understood it and contributed to prizing many young geniuses and probably unmasking as many other parents that had sneakily done the work instead of their kids.
For the first time I present an educational content generated with LLMs AI – something I believe is useful and high value. The idea here may not be so clear with many readers so I – selfishly – interview myself to try to explain why I think this is interesting. Maybe I even ask the same questions my Uncle would have.


Q: So you were saying, educational generative game? What do you mean?
A: Well the idea is to try to write as concise a Prompt as possible, that should serve as the direction for a for a Large Language Model AI. It would tell the AI to create an educational game that teaches the player about a specific subject.
Q: So you get the LLM to create a game, but you don’t tell it what game?
A: Yes, this is one important idea of this approach. Technology will evolve and advance, it might include creating fancy visuals and 3D worlds but the game core is about conveying the knowledge to the player. The LLM can generate whatever detailed medium it finds useful.
And of course some details for the game will be explained in the prompt to ensure the structure makes sense. But there will also be a huge area open to interpretation or future more detailed prompts from other “programmers”.
Q: Ok, I get why you would not want to specify a specific detailed game if the LLM AI can be left free to come up with something more and more advanced. But I am not sure I understand how you can tune the educational side of this?
A: The educational side is based on the intuition that many educational examples will already be “inside” the LLM. So what matters instead is to try to find a good way to trigger a mix of difficulty in the content that is interesting to the player, to make sure they are motivated to play the whole game.
In this case I chose what I think is one of the harder subjects to learn for non scientists. And if you can take a moment to read the sort of details I added I think it describes a route ahead.
Q; How would you recommend students and teachers use this?
A: I think the exercise of creating and play-testing a variant of a game like the one I propose here would benefit the students hugely, in many ways. For one they would realise how to use AI as a medium for new expression, for another they would realise how hard it is to balance motivating a player to learn new material, finally they would start to understand how different engaging mechanics and stories can contribute to their learning.
Q: So why is this approach more valuable than say creating an actual graphically enhanced game that conveys the same content?
A: This approach controls only the most essential parts of the game. In particular I think teachers and students should look to extending games like this by controlling the parts that are found to be most conducive to learning. So I can imagine this game expanding as a prompt to include elements that are found to work well.
There are also no limitations on the game being transformed into more advanced interfaces or mechanics. It could be immersive, a platform game, a strategy game, there are many incarnations that are possible but they are not specified, they remain as future experiments or options for the AI to try.
Q: Can you try to explain what is going on here. I find it confusing, and I think many other people will.
A: Yes, of course. Ok, the LLM AI (ChatGPT, Claude, Gemini, Grok, whatever…) is given a Prompt. The Prompt suggests that the LLM AI should pretend to create a game about Special Relativity with some added details that make it “game-like” and educational. The Prompt also suggests that anything that the AI needs to “remember” about the game should be encoded in a way humans cannot easily read (so you can’t cheat), and stored after each player moves.
Q: What do you mean “remember”?
A: Well in games it is essential to remember the things the player has done or you cannot score it, and cannot advance. In this game there is a relatively fancy extension that keeps track of what the player has done in a format so the player easily read it and try to use it to cheat.
Q: Why does it matter so much, and I notice this complicated system in the game prompt for coding the game memory, is it necessary?
A: It is very important because LLMs will normally try to create code for something instead of using their strange associative type of response. In doing this they end up simplifying the game from an open ended indeterministic interaction to a very specific game with fixed answers. LLMs as they exist today in 2025 will try to create a whole world with all the decisions up front. But this stops the game from being able to expand and evolve as you play. So in this Prompt I ask the LLM to leave the list of things it must remember, Open. Which means, anything can happen in this game, the player could bend the world it is in and discover new didactic aspects that should make it back into the Prompt.

I admit the whole: “what is really going on here” is a weird one.
These AI systems have no idea of rules, they do not do what you tell them to. Instead they use what you wrote as a way to try to generate new content that matches with what you wrote before. And oddly enough this seems to be enough to allow LLMs to simulate a game.

But also because the LLMs can quickly forget what they are up to, it is a good idea to repeat certain things, like the current “state of the game” after each turn. The LLMs tend to forget what happened, so you must force them to re-read what has happened in the game. And this is why I apologize but when you play you will get a lot of weird numbers each move.

The Educational LLM Game,
Special Relativity Themed:

The prompt in this case is much more elaborate, but I am trading off complexity of prompt with some features I think are absolutely necessary for this sort of content. I encourage people to create new LLM Games like this, and I would really love if they told me about ones that work well.

Copy paste this to your favourite LLM:
=== Prompt ===
Let’s play this game!

Immersive Learning LLM Game by Yates Buckley v.1.0
In the theme of Einstein’s Special Relativity

You are immersed in the thought experiment of Einstein’s Special Relativity in the form of a game. You explore his thought experiment and how it helps to convey his theory. Since it is a dreamlike world, there are actions you can take that are physically impossible but that are available to you to help you learn more.
To exit the space and come back to the real world you have to solve five problems that involve reasoning around Special Relativity that are scattered around the space as mental notes of the author. There are also five common misunderstandings that are small crumpled notes, and if you solve those you get a hint as to where to locate one of the mental notes.
Each turn the locations the player has found and what object puzzles have been solved is listed for the players convenience, to clarify please see the end of this document for detailed mechanics.
You have a magical violin with you, in a backpack, and while it sounds a bit muffled it likes to speak and explain if you ask it any questions. It has spent its life with Einstein so it knows a lot about him, and his reasoning. If you want more detail you can ask it and it will help.
When you take an action the system, the Assistant LLM, should reply with a simple descriptive response and offer only a light level of explanation of the theory avoiding overly long answers. For longer explanations the Violin would speak up and describe details or other generated in game systems or characters.
When describing the theory consider using these scenarios:
- there is a robot basketball player on the train dribbling all the time with near perfect regularity
- there are a pair of mirrors on the train in front of each other showing infinite copies of yourself
- there is a robot called Pythagoras that hates beans, which likes to explain in detail how the bouncing photon particles detector works.
- there is a magical Gerbil that is able to do things that break the theory but he is in your imagination and causes trouble unless you point out his impossible behaviour.
For some of the questions some deeper math will be required, in this situation warn the user before hand and ask them their level of math confidence and scale the difficulty of the problem to that. For cases with simpler math present both the formulas and specific example values. When presenting values, in some cases present simple numbers, in others present realistic physical ranges.
The game should work with a simple state machine the LLM manages that does not need to remember any history, only the state from the last prompt answer. Every new player request the game engine must:
1. Check if there is an initial state if not generate it and encode it base64
2. Decode any prior state from the previous prompt answer
3. Output a new state taking into account the player move
You will always respond to any move with a [GAME_STATE] block which contains the most up to date information for the game world. There is no dynamic state other than what is set in the GAME_STATE, and any player actions that affect the game should be stored there.
There is also new game state which you the game engine must create as the player discovers new objects, locations and game elements. You could even encode the status of in game stateful objects such as light switches, or inventory.
There will be a current “master map” and “object map” that the player cannot see it except in base64. The representation of these will be like:
* [MASTER_MAP]: {"Platform": {"East": "Train"}, "Train": {"West": "Platform", "North": "FirstClass"}, "FirstClass": {"South": "Train"}}
* [MASTER_OBJECTS]: {"Train": {"Table": {"description": "a small wooden table", "contains": "MentalNote1"}}, "Platform": {"Bench": {"description": "a simple bench", "contains": "CrumpledNote1"}}}
⚙️ The Game Loop (Must follow every turn)
1. Decode State:
The previous prompt or the game engine will generate if needed a Base64-encoded [GAME_STATE] block. The data must be decoded to get the current JSON state object.
* Example [GAME_STATE] (decoded):
{
"currentLocation": "Platform",
"discoveredMap": {
"Platform": []
},
"objectStates": {
"Platform_Bench": "unsearched"
},
"solved": []
}
2. Parse Player Action:
Read the player's action (e.g., "I go East," "I look at the table").
3. Process Action & Update State:
Based on the player's action and your [MASTER_MAP]:
* If the player moves (e.g., "go East"):
* Check [MASTER_MAP] to find the destination (e.g., Platform -> East -> Train).
* Generate a new state object.
* Set "currentLocation" to "Train".
* Update the "discoveredMap": Add the path the player just took (e.g., "Platform": ["East"]).
* Crucially: When the player enters the new location (Train), consult your [MASTER_MAP] for all its exits ("West", "North"). Add these to the discoveredMap in the new state. The new discoveredMap will be: {"Platform": ["East"], "Train": ["West", "North"]}.
* If the player investigates (e.g., "look at table"):
* Check [MASTER_OBJECTS] for that location (e.g., Train has Table).
* Your narrative response should be: "You see a small wooden table."
* Do not reveal what it contains. The [GAME_STATE] remains unchanged.
* If the player "opens the table drawer," then you reveal "You find [MentalNote1]!" and update the new state object (e.g., add to inventory or solved).
4. Generate Narrative:
Describe the outcome.
* "You go East and enter the train car."
* "You see a small wooden table." (You know the note is in it, but the player does not. You are only describing the visible.)
* When you describe a new location, you must narratively mention the exits you just added to the discoveredMap (e.g., "You see a door to the West and a passage to the North.").
5. Encode and Output New State:
Take the new JSON state object you created, encode it into Base64, and place it at the very end of your response inside [GAME_STATE] tags.
=== End ===

And here is a link to how I played against Gemini 2.5…

One thought on “Christmas Lights & Special Relativity (Bonus Educational LLM Game)”

Leave a Reply

Discover more from Yates Buckley's Musings

Subscribe now to keep reading and get access to the full archive.

Continue reading