We need fediverse (or at least distributed foss) virtual worlds. I'm tired of missing parties because they're in animal crossing.

@feonixrift Possibly @cwebber will save us, I think the current experimentation is towards broader protocols that might include federated entertainments?

@cathal I think we all need to start putting hours toward helping if we want @cwebber to save us. ;) But I'm really glad to see all these efforts going forward. There's a lot of work happening in the background, that I hope we will see results from.

@feonixrift I am helping, I'm directing my thoughts and prayers to @cwebber :P
I think the language is LISPy and I haven't yet turned enough attention there to be useful.. <_<

@cathal @feonixrift There are a few more fundamental pieces that I need to get down before it will be "easy" to help me. Namely, I need to finish the "secure distributed computing" part. But that is in progress and probably is closer to reality than most expect. Once I have that I can build a mini virtual worlds demo.

If you want to start getting ready to help, go through docs.racket-lang.org/goblins/i

The abstractions there are the same you will use for virtual worlds programming.

@cathal @feonixrift Note: I think it will be easier for people to start "extending virtual worlds" once the virtual-worlds-foundation exists, the same way that a lot of people get into programming by "modding" games that are ready-to-play but also open-to-extend.

@cathal @feonixrift That said, if you want to start getting immersed in the proper lore, maybe join on irc.freenode.net and introduce yourself to me there. I'm dustyweb. And get started on the Goblins tutorial.

The first distributed virtual worlds demo, even if a bit on the lighter side of functionality, *should* happen by the end of 2020.. I am on schedule for that. It'll show you what's possible with this system, but won't be a completely fun game yet.

@cathal @feonixrift If you really want to follow along in my journey towards making Goblins distributed, here is some information, though I'm not sure I can recommend it unless you have a lot of time to dedicate.

The core idea I am implementing is something called "CapTP". First implemented in the E programming language, then in a number of others.

I am live documenting my journey here: groups.google.com/forum/#!topi

Be warned, that is a MONSTER thread of me communicating with domain experts!

@cathal @feonixrift The other people implementing CapTP (and honestly THE experts) are agoric.com/ whose stuff is written in Javascript. (They're advertising a lot of blockchains stuff on there but their stuff works with non-blockchain actor models, similar to ActivityPub). We are in regular contact; maybe we can achieve protocol interop, which would be great, but is yet to be seen.

@cathal @feonixrift What's the pros and cons of Javascript vs Racket/Scheme/Lisp?

Agoric's javascript means they are targeting the most popular language in the world. But they also have to deal with a lot of "history" with that language choice.

By contrast, Goblins' choice of Racket/Scheme/Lisp has allowed me to approach this as "distributed ocap from first principles". Many language choices are cleaner, even if there are many more parentheses.


@cathal @feonixrift However, even the parenthetical language aspect will not be a requirement... it should be possible to layer other syntax forms on top. But more importantly, here is a video that demonstrates a *visual editor* for lisp, with no parentheses present: youtube.com/watch?v=CnbVCNIh1N

I think this would be an appropriate editor style to embed right into a video game, especially to help newcomers. And people wouldn't even know they are writing lisp.

· · Web · 3 · 5 · 2

@cathal @feonixrift Most importantly, if CapTP is an abstract protocol and we can manage to get interop between Agoric's implementation and ours, that means Racket/Scheme programs talking to Javascript programs, and devs not even thinking about what the runtime on the other end is. It need not be relevant, as long as they follow the protocol and ocap discipline (granted, ocap discipline is easier in some languages than other).

@cathal @feonixrift I have probably said enough for now. I hope that makes some things clearer as to where I'm at and what's on the horizon.

I hope you enjoyed today's Spritely Textwall Session (TM).

@cwebber @cathal That looks like Scratch. I simultaneously want to run as far as possible from it and hand it to every third grader in sight.

@feonixrift @cathal Except that structurally, it's just lisp! The parentheses are hidden in a scratch-ish visual structure. :)

Which IMO is more appealing than scratch because it means the approach is "not very special". You can fuse it with any lisp, and yet still manage to easily hand it to third graders. :)

@feonixrift @cathal Or even better: hand it to game players who want to extend their worlds while walking around them!

@cwebber @cathal @feonixrift gosh this looks hecin nice.
would be cool to build a #Guix config editor on it, something a bit more user friendly than what we currently have.

(might need types for that though)

Sign in to participate in the conversation

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!