Live data from Hacker News

Croquet: Live, network-transparent 3D gaming

theregister.com

61–70 of 79 posts

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

#61
post #58

Earlier quoted context omitted.

[Article author here] Never heard of Third Room before and I can't find anything much about it, so I can't help you there.

I swore I posted a link. One of the devs is in this very thread. I think you two should have a 'devmance' of some sort.

I saw it. I read the homepage and the Github page. It tells me very little and doesn't explain much of how it works. Certainly not enough to try to explore the differences.

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

#62

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’…

>Where this scheme gets interesting is when the execution progressed somewhat deep into a nested call chain and we then need to deal with contexts. It could be that execution is interrupted by a process switch, or that the code reads some fields of thisContext, or worse, writes into a field of thisContext. Other “interesting” occasions are garbage collections, or when we want to snapshot the image. Let's look at these in turn.

This sounds similar to Self's "dynamic deoptimization" that it uses to forge virtual stack frames representing calls into inlined code, for the purposes of the debugger showing you the return stack that you would have were the functions not inlined.

I always thought that should be called "dynamic pessimization".

Debugging Optimized Code with Dynamic Deoptimization. Urs Hölzle, Craig Chambers, and David Ungar, SIGPLAN Notices 27(7), July, 1992.

https://bibliography.selflanguage.org/dynamic-deoptimization...

That paper really blew my mind and cemented my respect for Self, in how they were able to deliver on such idealistic promises of simplicity and performance, and then oh by the way, you can also debug it too.

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

#63

Earlier quoted context omitted.

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’…

>Where this scheme gets interesting is when the execution progressed somewhat deep into a nested call chain and we then need to deal with contexts. It could be that execution is interrupted by a process switch, or that the code reads some fields of thisContext, or worse, writes into a field of thisContext. Other “interesting” occasions are garbage collections, or when we want to snapshot the image. Let's look at thes…

Absolutely. And you know Lars Bak went from Self to Strongtalk to Sun’s Java Hotspot VM to Google’s V8 JavaScript engine.

My plan is to do as little as necessary to leverage the enormous engineering achievements in modern JS runtimes.

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

#64

Here's my open source metaverse, which unlike Croquet has an open-source server as well: https://github.com/glaretechnologies/substrata It's out there live, you can visit the world right now via https://substrata.info/ It can do networked physics, see https://youtu.be/_rECxiwVteY , https://youtu.be/CzGz6voUE_8 etc.

Is there a detailed (text) explanation of the networked physics concept somewhere?

In Croquet that simply falls out of synchronizing computation itself, rather than just state. Since all machines receive the exact same inputs, their physics engines arrive at the exact same results without any need to cooperate.

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

#65
post #57

Is this an advertorial?

[Article author here] No. This is what happens when one of a dozen press releases I get every day, all containing loads of hype, has a few buzzwords I recognise from pre-Windows pre-Mac pre-Lisa tech. I asked the PR person some questions. They had no idea at all. So, they put me in touch with the CTO, I asked him the questions, and realised this was something huge and complicated. We had a video chat, he absolutely b…

Thanks for replying. My suspicions were raised because absolutely everything is effusive. Like:

> It can now talk to Unity, which we've previously called "the most popular cross-platform game engine favored by video game developers".

This might be true but in light of recent events you might temper the enthusiasm for Unity a bit by calling it beleaguered.

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

#66
post #53

Earlier quoted context omitted.

There's a comment on the web site that they plan to make it open source someday. That's a very impressive system. I want to find out how they do scaling.

Hi John, Substrata is already open source (well, 99% open source): https://github.com/glaretechnologies/substrata As far as scaling goes, fancy scaling solutions are currently in the 'future-problems' basket. Currently Substrata just uses a naive client-server solution with O(n^2) messaging where n is the number of connected clients - e.g. each message from a client is sent to all other clients. I'm relying on the pe…

Pick two:

1. Big seamless world

2. High detail

3. Fast response

You can get any two of those easily. All three, and you're into a big data wrangling problem. Since I'm working on a high performance client for Second Life/Open Simulator, I have to face all three, and am interested in systems that address all of those.

2) and 3) are the usual case for games - there's a big content download, and then you go. Such systems inevitably have a "Loading..." screen, or screens. Decentraland is 1) and 3); it's a big world, but not much detail. (Each parcel in Decentraland has only 20,000 triangles.) Second Life is 1) and 2) - big, detailed world, big performance problems.

There are some voxel based systems which manage all three, sort of. They have their own problems.

Improbable's system seems to work, but it cost US$400 million to develop and takes huge server resources to run, so the only real customers have been for special events and military training. The five indy games that tried to use it all went broke. (Worlds Adrift was pretty good, too.)

Croquet seems to be a 2) and 3) system.

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

#67
post #66

Earlier quoted context omitted.

Hi John, Substrata is already open source (well, 99% open source): https://github.com/glaretechnologies/substrata As far as scaling goes, fancy scaling solutions are currently in the 'future-problems' basket. Currently Substrata just uses a naive client-server solution with O(n^2) messaging where n is the number of connected clients - e.g. each message from a client is sent to all other clients. I'm relying on the pe…

Pick two: 1. Big seamless world 2. High detail 3. Fast response You can get any two of those easily. All three, and you're into a big data wrangling problem. Since I'm working on a high performance client for Second Life/Open Simulator, I have to face all three, and am interested in systems that address all of those. 2) and 3) are the usual case for games - there's a big content download, and then you go. Such system…

I think Substrata delivers on all of those things, although it could be faster to download the initial data with a CDN.

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

#68
post #44

I have a hard time not grinning when I read about a lot of these 'metaverse' 'hard-problems' that were seemingly solved by Linden Labs years and years ago. and better yet, nearly all of the metaverse results look like a mashup of early 'There'[0] and SecondLife -- it's kind of bizarre how it all sort of ends up a the same place. [0]: https://en.wikipedia.org/wiki/There_(virtual_world)

To be actually successful, your graphics can’t exceed Minecraft or roblox.

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

#69

Earlier quoted context omitted.

In part, by replicating computation instead of state.

Could you elaborate please?

It’s not that different than how’d you implement a multiplayer game. Take a real time strategy game (not quite the best example). But if you’re a client, you’d only be concerned with those you can see on the battlefield, especially if there’s a fog of war.

Anyways, you can also do things naively. Some RTS games just handed down the entire state to every client and let them figure it out. You can see how people would take advantage of that to strip away fog of war during online matches.

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

#70
post #57

Earlier quoted context omitted.

[Article author here] No. This is what happens when one of a dozen press releases I get every day, all containing loads of hype, has a few buzzwords I recognise from pre-Windows pre-Mac pre-Lisa tech. I asked the PR person some questions. They had no idea at all. So, they put me in touch with the CTO, I asked him the questions, and realised this was something huge and complicated. We had a video chat, he absolutely b…

Thanks for replying. My suspicions were raised because absolutely everything is effusive. Like: > It can now talk to Unity, which we've previously called "the most popular cross-platform game engine favored by video game developers". This might be true but in light of recent events you might temper the enthusiasm for Unity a bit by calling it beleaguered.

You did read the dateline on the article, right?

> Thu 23 Mar 2023 // 10:02 UTC

TBH I do not follow videogame news at all, really. I read Penny Arcade, though.

That's where some of this crossed my personal radar.

https://www.penny-arcade.com/comic/2023/09/15/disunity

https://www.penny-arcade.com/comic/2023/09/18/undercraw

Note the dates in those URLs.

My impression is that the controversy is more recent than the article, and back in March, Unity was not as "beleaguered" as currently.

Not that John Riccitiello (whoever he may be) was popular.

https://www.penny-arcade.com/comic/2022/07/20/low-and-slow

When I wrote "we previously called" that means "someone else from the Register said this in the past". The link was to a 2017 article. The real purpose of the backlink is to explain what Unity is to readers who don't know.

I personally am not enthusiastic about Unity. I am not a gamer or a developer. I am totally indifferent to it. I don't care in any way. I have bought one (1) new computer game in the last decade. I think it might have been written with Unity but I don't know and I don't care.

I'm impressed and enthusiastic about the technology behind Croquet, but I personally have no particular use for it myself. It is still cool tech, though.

Post reply on HN