@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.

· · Web · 1 · 5 · 6

@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

There's also a project along these lines working off of Mozilla's Hubs. @datatitian was mentioning it a few days ago. I don't know how far along it is, however.

@ross @cathal @feonixrift @datatitian I'd love to know what it is.

(However, if they aren't building on an ocap foundation, I won't believe it can work.)

@cwebber @ross @feonixrift @datatitian Your system is Racket based, or Guile? Have been planning to pick one for my first serious stab at LISP anyway :)

@cwebber @ross @cathal @feonixrift
It's an #ActivityPub implementation tailored for virtual worlds (e.g. tracking Arrive/Leave to list your friends' current locations with links to join them; each instance is a place for both local & remote actors to visit, so they connect to actors' home instance as OAuth2 clients to post activities and stream udpates).

@cwebber @ross @cathal @feonixrift I'm pairing it with Mozilla Hubs as the client for easy cross-platform social WebVR/WebXR, but, of course, AP is a standard, so it's not tied to any particular virtual world implementation and the C2S api could easily be implemented even in native apps

@datatitian @ross @cathal @feonixrift Whoa wow wait a minute. This sounds like interesting stuff. Do you have links?

@cwebber @ross @cathal @feonixrift
just repos for now - a week or two away from a working demo state and then I'll set up some web presence.
The AP server: github.com/wmurphyrd/immers
The client implementation in Hubs: github.com/mozilla/hubs/compar
Also my modular AP library in Node: github.com/wmurphyrd/activityp

@datatitian @cwebber @cathal @feonixrift do you have a repo anywhere I can follow? I was thinking of trying something like that in pure rust with a game engine.

@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.

@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 @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!