User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
Admin
completely blind computer geek, lover of science fiction and fantasy (especially LitRPG). I work in accessibility, but my opinions are my own, not that of my employer. Fandoms: Harry Potter, Discworld, My Little Pony: Friendship is Magic, Buffy, Dead Like Me, Glee, and I'll read fanfic of pretty much anything that crosses over with one of those.
keyoxide: aspe:keyoxide.org:PFAQDLXSBNO7MZRNPUMWWKQ7TQ
Location
Ottawa
Birthday
1987-12-20
Pronouns
he/him (EN)
xmpp fastfinge@im.interfree.ca
keyoxide aspe:keyoxide.org:PFAQDLXSBNO7MZRNPUMWWKQ7TQ
blog
https://stuff.interfree.ca/
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1mo
Today's aimud development plan. I keep posting these in the vague hope it'll drill into the heads of some of the blind vibecoders around here that planning matters, why and how to work with an agent to do it, and all of the decisions that should be made up-front before you (or anyone) starts producing any actual code. github.com/fastfinge/aimud/blob/master/docs/commands-and-settings.md
3
1
2
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1mo
@quanin @Tamasg What I'm doing is in docs/basic-principles.md if it helps you decide. You're also welcome to just build your thing on my thing if I get the OLC going and that's a thing you want.
0
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1mo
@x0 @quanin First it would try to figure out if "lost" is something reasonable to create in the current room. If it decided it was, then it would create something called lost and give it to you. In the same way that "get piles" will give you a terrible medical condition, not pick up both of the piles of coins.
0
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1mo
@x0 @quanin Yup. Because wordnet can define the word dropkick. So the game already knows that dropkick means kicking something, no LLM even needed.
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1mo
@quanin @Tamasg You're more than welcome to join into the fun and submit pull requests! docs/future-plans.md is where my mind is at right now. All over the place, in other words.
1
0
1
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1mo
@x0 @Tamasg @quanin It would complain that you aren't carrying kick enemy. If you typed drop-kick, or dropkick it would probably work.
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1mo
@x0 @Tamasg @quanin So one thing I do is run a validation pass. Just asking "does this action make sense in this place/world? Yes or no". So it can, in fact, refuse things. And once something is refused, it stays refused in that world forever.
0
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1mo
@quanin @Tamasg But humans are going to be even better than this than AI is. So once I actually build interfaces for humans, I now have a system where people can build mud worlds without writing any actual code, where npcs can actually do things, and the world can have complex custom effects and behaviors. And it's secure because all people are doing is launching menus and filling in values. No random users entering code into the server.
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1mo
@quanin @Tamasg Plus once a rule is invented, it can always be checked without use of an LLM. So the longer a world runs, the fewer LLM calls it has to make.
0
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1mo
@quanin @Tamasg Yup. The objects are all created as kinds of things, using data from wordnet/conceptnet. When a new verb is tried, it creates rules that act on those kinds, sort of like inform. Then I do a bunch of stuff with traits, affordances, and conditions, to let rules decide what things verbs will and will not act on, and make changes to the objects in real time. Also, all actions must be bi-directional. So that means if an npc wants to be holding a sword, a planner can just step backwards through the current state of the world and guide the npc towards getting to the goal, no LLM required.
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1mo
@Tamasg @quanin In theory? Maybe. But only in theory. It's deeply under development, and totally undocumented by anything other than Claude gibberings. The basic idea is to create a mud where things can be built using older AI techniques like conceptnet and wordnet, and where when models are used, they're deeply constrained by rules of grammar, reality, and history. Also npcs can make decisions using state machines and other non-LLM planners. The model-building tools exist, and the basic infrastructure is all in place. But the player creation tools need to be expanded, protocol support for stuff like gmcp needs to get in, and documentation needs to actually exist as more than an AI fever dream. But to play, run it via uv, create your account, use apikey set to set an openrouter API key, type commonsense fetch to get the wordnet/conceptnet data, models to pick a default model, then worldgen and fill out the wizard to make a world. github.com/fastfinge/aimud
2
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1mo
Ummm. Tonight in aimud, one character stole the "ring for service" bell from inside a shop, then traded the stolen bell to another customer (who was right there and watched him take it) for mushrooms. Right after that, a different customer removed his pants and gave them to the shopkeeper in return for a waterskin. Then the shopkeeper traded the pants to the second customer to get her bell back.

Why are my npcs playing like actual mud players, instead of realistic npcs?
2
2
4
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1mo
@Tamasg The problem is AI doesn't understand the difference between developer documentation and user documentation. They both matter, but are for wildly different purposes, with wildly different audiences. None of the documentation Claude generates for me would be useful to anyone who wants to use the project. But I use it daily, to look back at previous decisions and understand how things fit together. Before a project is ready for real users, though, that all has to be moved into a development log folder and user facing documentation needs to be produced. By me.
0
0
1
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1mo
@Rosalyn @sclower They've been careful to only bother developers. To make sure everything looks fine to users who don't program. So when developers decide to move, now users are also annoyed because they have to sign up for yet another account and learn yet another website to report bugs, and the users have no idea why.
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1mo
@Tamasg @TomGrant91 @Rosalyn Right! And for extra fun, copilot in github just gives you the right to use it, plus some small amount of tokens. Once you actually try to do anything real with it, you will be charged for tokens on top of the copilot for github subscription. And that, of course, is on top of your copilot for office subscription. And then you're probably also paying for a One Drive subscription; that's an entirely seperat bill. And if you want code signing, or to publish apps to the Microsoft Store, you have to sign up for yet another, completely different, Microsoft subscription on top of all of the above.
1
0
1
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1mo
@TomGrant91 @Rosalyn Yeah exactly. But there's two links and a button at the top of every single page, for anyone signed into github. So developers see it constantly. And again, just one press of the button by mistake gets you endless emails and ads about it.
0
0
1
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1mo
@TomGrant91 @Rosalyn If you ever press the chat with copilot button at the top, even once, by mistake, you'll be enrolled in a demo. Then once it expires, you'll get emails for months asking you to sign up.
3
0
2
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1mo
@Rosalyn Yeah, it's all over github in the web interface now. And plus, they want you to pay for it.
2
0
1
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1mo
@Rosalyn Mostly because it had major downtime multiple times a month, for the last three months. And Microsoft keeps adding copilot to it, that nobody really wants. So everyone is afraid they're doing the typical "embrace and extend" that Microsoft is famous for, while also enshitifying it.
1
1
1
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
1mo
@cachondo Bonus stupidness: a sleeping bag is not sleeping, and a standing stone is not standing. You need a rule for conditions that can only apply to living things, or else you get results like that. Lucky for me that's easy to do in my design. But it's still super annoying. We should all really just get together and invent a better language.
1
1
0
0