←back to thread

868 points vuciv | 1 comments | | HN request time: 0.2s | source
Show context
simonw ◴[] No.45195311[source]
Here's the code: https://github.com/vuciv/animal-crossing-llm-mod

I was intrigued as to how it would intercept a conversation and then pause the game for long enough for the LLM to return a response, so I used https://gitingest.com/vuciv/animal-crossing-llm-mod to dump the 40,000 tokens into Claude Opus 4.1 and asked it: https://claude.ai/share/66c52dc8-9ebd-4db7-8159-8f694e06b381

The trick is the watch_dialogue() function which polls every 0.1 seconds and then answers with placeholder text: https://github.com/vuciv/animal-crossing-llm-mod/blob/cc9b6b...

  loading_text = ".<Pause [0A]>.<Pause [0A]>.<Pause [0A]><Press A><Clear Text>"
  write_dialogue_to_address(loading_text, addr)
So the user gets a "press A to continue" button and hopefully the LLM has finished by the time they press that button.
replies(3): >>45196045 #>>45196703 #>>45202779 #
simonw ◴[] No.45196703[source]
Wrote up a few more notes on my blog https://simonwillison.net/2025/Sep/10/animal-crossing-llm/
replies(1): >>45200041 #
1. SpikedCola ◴[] No.45200041[source]
> Those <Pause [0A]> tokens cause the came to pause for a few moments before ...

Should be "cause the game to pause" :)