/via @screwtape 's #lispygopher
Back in the '90s, on USENET there was heavy discussion of multi-server MUD travel. It foundered on a bunch of problems. Technical: Different object systems, even minor variants.
Social: Game balance & culture. My CircleMUD was low-power, "real life" with tech as magic, some were super-high-power goofy fantasy. DikuMUDs (parent of Circle) were VERY high-power, EverQuest is Diku.
#mud #gamedev
screwlisp
in reply to Digital Mark λ ☕️ 🕹 🙄 • • •Yeah, at the moment I'm doing a rewrite of my take on a lispy moo variant (and there's a technical problem). I will have a look at your circlemud and @alex's jjirait which I think is where I've gone so far. My goal is to then move towards strict-superset-of-MOO conformance by @dump -ing progressively more complicated objects into it from lambda.
I specifically want to try the lambda RPG system @nosrednayduj dusted off for me as the basis for recurring itch.io jams.
screwlisp
in reply to screwlisp • • •[ [ [verb] subject ] preposition object ] overload structure to something like
[[talk] to zelda]
instead, which isn't my side of that arguement.
@alex @nosrednayduj
screwlisp
in reply to screwlisp • • •And then the lambda natives explain that being different isn't a problem, at all, but it's nice to have compatible vibes...
@alex @nosrednayduj
Digital Mark λ ☕️ 🕹 🙄
in reply to screwlisp • • •@jlamothe @alex @nosrednayduj
For mapping, it really does help to be rigorously consistent with directions. Old-school adventures with NESWUD moves, and almost always doing reciprocal moves (except in mazes, which… use sparingly), were good teaching.
I recommend some old BASIC books:
atariarchives.org/adventure/
archive.org/details/Golden_Flu…
archive.org/details/write-your…
archive.org/details/Compute_s_…
… There's no single upload of
goodreads.com/book/show/386183…
but it's in this:
archive.org/details/RetroGameD…
Golden flutes and great escapes : how to write your own adventure games : Horn, Delton T : Free Download, Borrow, and Streaming : Internet Archive
Internet Archivecy
in reply to Digital Mark λ ☕️ 🕹 🙄 • • •Odd that different object systems would matter. Every player has a name, description, and an inventory. Every object in the inventory also has a name and description. A MUD transfer protocol would only have to have those things copy over. In MUDs with compatible settings or power levels, the items could even still have similar functionality, even if they behaved differently from one world to the next. And restrictive worlds could simply not allow certain items to transfer over, removing them from the resulting inventory.
It might be confusing if you relogin to the old world, while logged into the new world, but in that case returning from the new world could just merge with your current state in the old world, like suddenly recalling an alternate set of memories. Item deduping would be needed. I'd have some kind of namespaced global object type ID, like weapon.sword or food.pinecone that the old and new world would have previously agreed on.
Possibly the quantity of a given item could be included in the protocol. The item's exact properties wouldn't matter unless both worlds agreed that they did though. The item just wouldn't do anything on the world that doesn't support it.
CC: @screwtape@mastodon.sdf.org
Digital Mark λ ☕️ 🕹 🙄
in reply to cy • • •@cy The internal state of objects matters a lot, they're usually not just "a thing", but "a letter" and you can open or close it, read the contents, stamp & mail it, etc.
And then things like Circle & Diku, which have game stats, those aren't comparable to other things. Even in the same system, I wouldn't want a Killall Sword +666 in my world which had Butterfly Knife +2 as a kick-ass quest-end item.
screwlisp
in reply to Digital Mark λ ☕️ 🕹 🙄 • • •@cy
In the show, to my confusion, yduJ demonstrated the correct useage of @dump to dump an object's MOO code describing its state and verbs in a manner which could then be programmed (in the MOO programmer bit sense) directly into another MOO instance.
In this case, MOO is a widely circulated pre-existing standard, though its/lambdas concern was A New Society not game
Sandewall's system defines an interagent communication protocol. Minnix also showed us in-MOO a MOO bridging object.
Digital Mark λ ☕️ 🕹 🙄
in reply to screwlisp • • •@cy Which works fine if everyone is using LambdaMOO, which wasn't the case, and has compatible verbs, haven't customized them to the point of incompatibility.
And the game world contradictions are still an issue.
There's a similar thing in tabletop RPGs. Open tables (FLAILSNAILS) work fine if everyone's running Latest Official D&D, or whatever, for a few characters until someone tries to bring in their 37th-Level Magic-User with a custom Head of Vecna artifact. Then everyone's mad.
cy
in reply to Digital Mark λ ☕️ 🕹 🙄 • • •I did say game world contradictions just wouldn't transfer over. Really there should be no way for Vecna 2.0 to even enter a world that doesn't have magic. It's not an important consideration, trying to make characters transfer somehow between incompatible worlds. I just think transferring them when the worlds are similar is pretty simple.
Verbs don't transfer because they're different worlds. Like going from a hot planet to a cold one metaphorically, if they even have analagous actions, they're going to be specific to that world. Unless you mean that characters get special custom verbs only for themselves? Those would be a flipping nightmare to transfer between worlds yeah.
And I'd think it obvious that whatever code base the MUD was running, Lambda or otherwise, it would have to use the same transfer protocol. The underlying servers can be different, as long as they both talk to each other in the same way.
But equally obviously, I have not tried any of this, and I'm sure if I did, a thousand unforseen complications would spring up. I'm just wildly speculating, not actually claiming I know it'd be simple or straightforward. Seems like it'd be easy to overcomplicate it, when all it really is is making compatible games in the first place, and then transferring properties between them.
cy
in reply to cy • • •silverwizard
in reply to Digital Mark λ ☕️ 🕹 🙄 • •screwlisp reshared this.