You are browsing as a guest. Sign up (or log in) to start making projects!

Open comments for this post

5h 50m 39s logged

One big devlog, because I kept meaning to post these and never did. Here is the whole thing.

I wanted a companion that floats over Minecraft like Steam’s overlay, but useful: the whole wiki offline, plus an assistant that answers from those guides without you ever tabbing out or going online. No account, no cloud, nothing leaving my machine. Windows, Python, PySide6, styled like a carpenter’s guild journal. Five phases, and every one had a moment where I was sure it worked and was wrong.

Phase 1 - the window

The hard part every tutorial skips: getting a window to sit on top of a fullscreen game without the OS slapping it down. Frameless plus always-on-top plus a translucent background did it. The hotkey was spicier, so I called the raw Windows RegisterHotKey through ctypes. It registers at the OS level, so even when a game hogs the keyboard, Alt+Insert still reaches me.

Phase 2 - a memory. 

It forgot everything on close, bad for an app whose job is remembering. So: a SQLite database for games, guides, chat, settings. Then I taught it to detect when you are playing and hit the trap: the launcher keeps the process alive after you close the window, so it insisted you were mid-game forever.Fixed by watching the real game, and Java Minecraft hides as a generic javaw.exe,so I only count it when its command line mentions minecraft.

Phase 3 - the wiki.

 Scraped all ~17,000 articles into a local search database.My first version would have taken five hours. The mistake was pausing a full second between requests, times sixteen thousand, that is an afternoon. I measured it, dropped the wasteful settings, used the API’s own politeness flag, and got it to forty minutes. Stores compressed plain text, resumes if interrupted.

Phase 4 - the voice. 

The AI, running locally through Ollama. You ask, it finds the relevant guide passages, hands them to the model, and streams an answer with clickable sources. Private and grounded. Then a code review humbled me and caught three bugs: a leaking connection, half-finished answers being saved, and a crash-on-quit. Fixed all three.

Phase 5 - the aim.

 The answers were dumb, and it was not the AI. I traced what the search fed it for “how do creepers work?”: three Bedrock beta changelogs. The real Creeper article lost. I was throwing the whole question into the keyword index, filler words and all, and changelogs repeat those words constantly. So now I strip the question to what matters, boost pages whose title matches, and bury the junk. I also made it pick the strongest model you have installed instead of the smallest. And the last humbling: pages like “Wolf” and “Redstone” are not in my database at all, because they are redirects my scraper skipped. Written down for next time.

Five phases. An overlay that floats over fullscreen Minecraft, a hotkey that survives the game stealing your keyboard, the whole wiki offline, and a private AI that finally points at the right shelf before it opens its mouth. Next up are the fixes I mentioned earlier, an UI overhaul and an overall bettering of the code as it’s pretty rough.

I’m going to sleep now gn o7

0
2

Comments 0

No comments yet. Be the first!