SosariaAI - bots for ModernUO that try to make a private shard feel alive (early work in progress, very buggy)

SosariaAI - bots for ModernUO that try to make a private shard feel alive (early work in progress, very buggy)

I know some people depise AI with a passion but lets face it, it's here.

WARNING: A warning about cost. Frontier and System One models cost money per call, and a shard full of bots makes a lot of calls. If you don't watch what you turn on, the bill can get big fast. Set the limits and budgets in brain.json before you leave it running, and keep an eye on your provider's usage page.

I've been working on a ModernUO plugin called SosariaAI. It fills a private shard with bots that act like players. The idea is that you log in and the world feels busy again, like it did back in the day.

The bots work, trade, hunt, talk, join guilds, die and come back as ghosts "Still trying to work on grouping". Reds hunt on Felucca and blues go after the reds. Each bot is a real PlayerMobile with no client attached, so the server handles its notoriety, murder counts, parties and guilds the same way it would for you.

Game rules inside the plugin drive every bot, so it will run with no AI model at all. It runs best with a frontier model and a System One model hooked up, though. Between them they handle speech, personas, plans, and the calls at big moments like picking a job or how to fight. When a model is off, slow or over budget, the rules take over.

Fair warning: this is nowhere near feature complete. A lot of the game isn't covered yet and it's very buggy. Bots get stuck and do weird stuff, and things change a lot between builds. I wouldn't put it on a shard you care about.

I'm posting it now because it's fun to watch and I could use more eyes on it. Bug reports help most if you include the activity.log lines that show the problem. If you want to dig into the code, read AGENTS.md first.

https://github.com/PikkonMG/SosariaAI

u/PikkonMG — 11 days ago

Pi Desktop: a desktop GUI for the Pi/omp coding agent

I've worked on Pi Desktop for a while but haven't posted about it much, so here's a proper intro.

It's a desktop app for the Pi coding agent, and it also works with oh-my-pi (OMP). I use Pi every day and wanted more than a terminal window, so I built this.

What it does:

Streaming chat that shows thinking blocks and tool calls. File reads show as highlighted code, and edits show as diffs.

Multiple workspaces. Each session runs its own agent process, so a task keeps going when you switch to a different one.

A file tree, a code editor, preview panes for code, images, and PDFs, and a terminal.

Four permission modes, from read-only to trusted. You can also add allow/deny rules, for example "never touch *.env".

A package browser that connects to pi.dev/packages.

Themes. There are 7 built-in, you can make your own in the app, and there's a small community gallery.

An optional mode where Pi, Claude, and Codex agree on a plan before Pi builds it.

It's had a few releases so far, and more people have picked it up than I expected. Thanks to everyone who has downloaded it, starred it, or filed an issue. It's still alpha, so feedback and bug reports help a lot.

Website: https://pi-desktop.com

Repo: https://github.com/FaqFirebase/pi-desktop

u/PikkonMG — 24 days ago

UOTerm Headless Ultima Online client in Rust

I've been working on this for a bit and decided to put it out before it's finished rather than sit on it.

It's called UOTerm. No graphics, no window. It logs into a shard, speaks the normal client protocol, and exposes what it sees over a small local API. The idea is that you point an AI agent at it and the agent plays a character the way a person would.

I've only run it in a terminal on Linux. It should work on Windows too, but nobody has proven that.

Warning up front: it is basic. Really basic.

What works: login, walking, pathfinding off your real map files so it knows what it can actually stand on, opening doors, speech, gumps, containers.

What doesn't: combat barely functions. Looting doesn't work end to end. No potions. I only just worked out that my target picking was choosing invulnerable NPCs, which is why my character kept swinging at things it could never hurt.

Almost none of it is verified against a live shard. Treat every feature as unproven until you break it yourself.

It ships no game files. You point it at your own client folder if you want real map data.

https://github.com/PikkonMG/UOTerm

It should work on any server that accepts a Classic Client, because it doesn't special case anything by name. If you try it on your shard and it falls over, tell me what it did.

u/PikkonMG — 1 month ago