Play and inspect
Play The Last Save · Source and setup
Problem and intended users
A beginner can see that a program gives the wrong answer without understanding which line caused it. The Last Save is a small debugging playground for curious beginners: change actual code, run it, and inspect the resulting path and values. A fictional recovery story gives the five exercises a shared purpose. No learning improvement or user adoption has been independently measured.
What it does
Five damaged BASIC programs cover arithmetic, a loop boundary, a runaway countdown, a temperature threshold, and Fibonacci state updates. Players repair the source, compare actual and expected output, and inspect executed lines and variable values. A repair has to pass three inputs; hard-coding the displayed answer is insufficient. Each successful repair restores a fictional memory. Progress and edited code stay in that browser.
Try it
Open the public demo; no account or API key is needed. Select First light, click Run program, and compare output 5 with expected output 6. The trace shows the addition on line 30. Change that line to 30 LET VOLTS = CELLS * 3 and run again. The interpreter checks all three inputs. Continue to the other four disks, or use How to play for the supported BASIC syntax. The initial demo uses clearly labelled recorded clues; no model download is needed to play.
How it is built
A bounded JavaScript interpreter parses a small educational BASIC subset without JavaScript eval or shell execution. It returns output and an execution trace. Gemma receives the program, trace, puzzle rule and expected result to produce a clue; the interpreter decides whether a repair passes. Source and execution fingerprints prevent an old recorded clue from being presented as fresh advice after the program changes.
The five default clues were selected from real local Gemma calls. Optional fresh clues can run locally through Ollama or inside a compatible browser through WebLLM and Gemma 2 2B. The browser path requires WebGPU with shader-f16 and downloads about 1.5 GB only after the explicit Load button. Its estimated model GPU memory requirement is about 1.9 GB plus browser overhead. It is optional and may not work on every device.
Challenges and evidence
Some model responses were misleading or too generic; raw development records retain rejected examples. A browser Gemma 3 configuration failed to load, so the working browser adapter uses the supported Gemma 2 default configuration. These observations shaped the separation between a fallible clue writer and deterministic repair checking.
Existing development validation includes 14 engine tests, all 15 repair/input combinations, and agent-driven browser completion of all five puzzles with progress surviving reload. Actual browser inference was separately recorded on October 29, including edited code. Reports are in the repository. These are development checks, not an independent learning study or model benchmark.
Work completed during the event and prior submission
This project was first created on October 28, 2026, within LaunchPad's October 16–November 20 development window. Browser inference fixes and evidence updates followed on October 29. The same project has already been submitted to the DEV Hacktoberfest Week 4 challenge. This entry does not claim it was created exclusively for LaunchPad or that it has won an award.
Credits and AI assistance
The game's source and fictional story are MIT licensed under QueueCareLab. Codex wrote and tested the implementation and drafted submission material under the project owner's direction. Gemma generated the clue candidates. External models and runtimes remain subject to their own licences; no model weights are redistributed. WebLLM: https://github.com/mlc-ai/web-llm Gemma: https://ai.google.dev/gemma Ollama: https://github.com/ollama/ollama
Limitations and next steps
The interpreter implements an educational subset of BASIC. Clues can be wrong; recorded clues only cover the matching original programs. There are five puzzles and no measured learner outcomes. Next steps would be beginner usability sessions and evaluation of whether trace-based clues improve understanding before expanding the puzzle set.
Built With
- gemma
- javascript
- python
- webllm
Log in or sign up for Devpost to join the conversation.