3 ms·
Off on a wild tangent... I feel like people should be running MUDs on Linode $5/month servers... using xterm.js, websockets, and some back-end. The back-end
by VikingCoder 3y ago
Off on a wild tangent...
I feel like people should be running MUDs on Linode $5/month servers... using xterm.js, websockets, and some back-end.
The back-end I'm playing with is .Net Core, and I'm using async/await to make the code seem more like a normal terminal application.
...and I'm just in love with how LambdaMOO natural language parsing and matching works... But I want to use C#... so I'm implementing verb matching using Method Attributes. And I'm trying to layer that on top of how Inform 6 works... Not using Z-Machine. Or the language of Inform 6... but the declarative style of Inform 6 room and object descriptions really appeals to me.
I get that I'm giving up the flexibility of user-created content in a scripting language...
...but if I still allow players access to the GitHub repository for the content... And make it easy for them to stand up test servers... That feels like a decent compromise?
I'm not even sure I want to make a MOO... or just a server with single-player Infocom-like Interactive Fiction games...?
But this is my hobby project right now.
- cmrdporcupine 3y agoThe MOO command parser is pretty meh, TBH, not much there, there (having just recently ported it to Rust, I got to know it a bit...). There were other adventure type systems that had something a bit more involved in terms of (English) natural language parsing. Anyways, have fun :-) You're playing with the fun toys.
- VikingCoder 3y agoCan you share details about your Rust port? Do you have direct experience with other parsers that you can recommend? I like MOO because it feels very understandable. The documentation was great.
- cmrdporcupine 3y agohttps://github.com/rdaum/moor https://github.com/rdaum/moor (see the thread elsewhere in the comments) command parser & matcher stuff is partially here: https://github.com/rdaum/moor/blob/main/moor-lib/src/tasks/command_parse.rs https://github.com/rdaum/moor/blob/main/moor-lib/src/tasks/c... and https://github.com/rdaum/moor/blob/main/moor-lib/src/db/matching.rs https://github.com/rdaum/moor/blob/main/moor-lib/src/db/matc... https://github.com/rdaum/moor/blob/main/moor-lib/src/db/match_env.rs https://github.com/rdaum/moor/blob/main/moor-lib/src/db/matc...