Live data from Hacker News

Croquet: Live, network-transparent 3D gaming

theregister.com

21–30 of 79 posts

Re: Croquet: Live, network-transparent 3D gaming

#21
post #10

Wow, can't believe I missed this in March. So glad to see Croquet revived and continued. Any relationship between this incarnation and lively kernel? https://lively-kernel.org/

Also, the last version of Croquet - we refer to it is C5, was originally built on Lively Kernel.

Re: Croquet: Live, network-transparent 3D gaming

#22

Excellent article -- Liam Proven does it again! Speaking of a big Plate of Shrimp -- https://www.youtube.com/watch?v=rJE2gPQ_Yp8 ... The incredible Smalltalk developer Vanessa Freudenberg -- who besides being Croquet's devops person, also developed Squeak Smalltalk, EToys, Croquet, and the SqueakJS VM written in JavaScript, and worked extensively with Alan Kay -- was just tweeting (yeah, it's ok to deadname Twitter!)…

Haha, thanks for the plug, Don! I just fleshed out the README for my Croquet resurrection yesterday so others may have an easier time trying it. It maybe even contribute :) https://github.com/codefrau/jasmine

Vanessa, it has always amazed me how you managed to square the circle and pull a rabbit out of a hat by the way you got garbage collection to work efficiently in SqueakJS, making Smalltalk and JavaScript cooperate without ending up with two competing garbage collectors battling it out. (Since you can't enumerate "pointers" with JavaScript references by just incrementing them.)

https://freudenbergs.de/bert/publications/Freudenberg-2014-S...

>The fact that SqueakJS represents Squeak objects as plain JavaScript objects and integrates with the JavaScript garbage collection (GC) allows existing JavaScript code to interact with Squeak objects. [...]

>• a hybrid garbage collection scheme to allow Squeak object enumeration without a dedicated object table, while delegating as much work as possible to the JavaScript GC,

Have you ever thought about implementing a Smalltalk VM in WebAssembly, and how you could use the new reference types for that?

https://bytecodealliance.org/articles/reference-types-in-was...

Re: Croquet: Live, network-transparent 3D gaming

#23

Earlier quoted context omitted.

Haha, thanks for the plug, Don! I just fleshed out the README for my Croquet resurrection yesterday so others may have an easier time trying it. It maybe even contribute :) https://github.com/codefrau/jasmine

Vanessa, it has always amazed me how you managed to square the circle and pull a rabbit out of a hat by the way you got garbage collection to work efficiently in SqueakJS, making Smalltalk and JavaScript cooperate without ending up with two competing garbage collectors battling it out. (Since you can't enumerate "pointers" with JavaScript references by just incrementing them.) https://freudenbergs.de/bert/publication…

I would like to speed up some parts of SqueakJS using web assembly. For example BitBlt would be a prime target.

For the overall VM, however, I’ll leave that to others (I know Craig Latta has been making progress).

I just love coding and debugging in a dynamic high-level language. The only thing we could potentially gain from WASM is speed, but we would lose a lot in readability, flexibility, and to be honest, fun.

I’d much rather make the SqueakJS JIT produce code that the JavaScript JIT can optimize well. That would potentially give us more speed than even WASM.

Peep my brain dumps and experiments at https://squeak.js.org/docs/jit.md.html

Re: Croquet: Live, network-transparent 3D gaming

#24

How does this compare to Mozilla hubs or the Third Room. https://hubs.mozilla.com/ https://github.com/matrix-org/thirdroom

I can speak to Third Room, although haven’t dug enough into the current incarnation of Croquet to do a side by side comparison. I’ve called out the bits which I’d guess are more unique about TR. TR is/was: * Open decentralised platform for spatial 3D collaboration, end-to-end encrypted by default thanks to being built on top of Matrix * Web native built on WebGL/WebXR; no proprietary Unity or similar. glTF native for…

Damn, this is a huge shame. What were this sticking points for investors if you don't mind me asking? What is the value proposition? I mean, I am really interested in potentially using this in the AEC industry as an open source product. But where would the revenue come from?

Re: Croquet: Live, network-transparent 3D gaming

#25

Earlier quoted context omitted.

Vanessa, it has always amazed me how you managed to square the circle and pull a rabbit out of a hat by the way you got garbage collection to work efficiently in SqueakJS, making Smalltalk and JavaScript cooperate without ending up with two competing garbage collectors battling it out. (Since you can't enumerate "pointers" with JavaScript references by just incrementing them.) https://freudenbergs.de/bert/publication…

I would like to speed up some parts of SqueakJS using web assembly. For example BitBlt would be a prime target. For the overall VM, however, I’ll leave that to others (I know Craig Latta has been making progress). I just love coding and debugging in a dynamic high-level language. The only thing we could potentially gain from WASM is speed, but we would lose a lot in readability, flexibility, and to be honest, fun. I’…

Glad I asked! Fun holiday reading to curl up with a cat to read. Thanks!

I love Caffeine, and I use Craig's table every day! Not a look-up table, more like a big desk, which I bought from him when he left Amsterdam. ;)

Re: Croquet: Live, network-transparent 3D gaming

#26

Earlier quoted context omitted.

I can speak to Third Room, although haven’t dug enough into the current incarnation of Croquet to do a side by side comparison. I’ve called out the bits which I’d guess are more unique about TR. TR is/was: * Open decentralised platform for spatial 3D collaboration, end-to-end encrypted by default thanks to being built on top of Matrix * Web native built on WebGL/WebXR; no proprietary Unity or similar. glTF native for…

Damn, this is a huge shame. What were this sticking points for investors if you don't mind me asking? What is the value proposition? I mean, I am really interested in potentially using this in the AEC industry as an open source product. But where would the revenue come from?

The biggest sticking points were:

a) metaverse hype collapse causing blowback oversteer against any kind of virtual world platform

b) the team wasn't interested in running it standalone as a for-profit startup outside of the Matrix Foundation, and Matrix doesn't have enough $ to fund core Matrix, let alone Third Room

c) big organisations who claimed they were interested in funding it within Matrix entirely failed to follow through (which probably maps to metaverse hype collapse). My favourite example is Rolls Royce, who ran a fullblown innovation challenge in May, saying they were specifically focusing on interoperable 3D collaboration: https://iuk.ktn-uk.org/opportunities/rolls-royce-sme-innovat.... We invested significant effort in applying, and never even heard back from them at all. As far as I know, they silently ditched the innovation challenge without telling anyone who'd applied to it. You can see our showreel for it at https://youtu.be/cFKJ-IuGaKA.

In terms of business models: selling SaaS hosting and proprietary apps & DLC on top of the open platform is the way to go, imo. https://thirdroom.io/preview#what-can-you-use-it-for has ideas for problem domains.

If anyone reading this happens to have $500K-$1M/y available to fund core dev, there's a small but finite chance of finding a way to get the project back on the road. But the core Third Room team has disbanded, and as per https://matrix.org/blog/2023/12/25/the-matrix-holiday-update... the focus of the remaining Matrix core team is currently monomaniacally on core Matrix foundations rather than future-facing stuff like Third Room.

Needless to say, I feel incredibly frustrated that we funded TR so far, and then had to stop before it got to escape velocity: simultaneously helping the open metaverse while setting it back too.

Re: Croquet: Live, network-transparent 3D gaming

#27
post #7

This looks very interesting, but if I was to write a game with it, how would I handle cheating if I can't control the server?

Exactly this, if the networking is all handled automatically, the server is only relaying data so won't be able to validate things. The update in TFA is interesting as well, they're worried about Amazon for some reason, hence not releasing some of the moving parts. There are open source licenses that prohibit cloud usage.

Do you mean that there are licenses that prevent SaaS/PaaS/IaaS usage? Because "cloud" is a bit of a nebulous (sorry!) term. If Amazon is running it on physical tin, in their own DCs (even the same tin and DCs as their cloud services) is that "cloud usage"?

Re: Croquet: Live, network-transparent 3D gaming

#28

How does this compare to Mozilla hubs or the Third Room. https://hubs.mozilla.com/ https://github.com/matrix-org/thirdroom

I helped work on Hubs and you might like Webspaces - it’s a way to just add a script tag to a HTML page to make it a 3D world, live multiplayer etc.

https://webspaces.space

Re: Croquet: Live, network-transparent 3D gaming

#29
I'm trying to get a sense of what this can do. The demos look like something from the Web3D era. (Web3D was VRML in XML syntax.) You can make little rooms and put a modest amount of stuff in them. Kind of like Decentraland, etc. There are lots of systems like that. Redblox was promoting theirs yesterday on Reddit. A few car brands have web sites like that. They work fine, but you're done in ten minutes.

It's when you scale up the world complexity and size that these simple approaches come un-glued.

The Croquet web site is "sign up now for waitlist", not "Here's our world".

Re: Croquet: Live, network-transparent 3D gaming

#30
post #8

Earlier quoted context omitted.

Erm. Not much at all. They are original monochrome 1978 Space Invaders, and this is Fortnite with 10,000 players online at once, in full immersive VR?

How does a client device hande networking with 10,000 players at once without a server?

In part, by replicating computation instead of state.
Post reply on HN