13 ms·
Croquet: Live, network-transparent 3D gaming
- ibocan 3y agoMerhaba
- DonHopkins 3y agoExcellent article -- Liam Proven does it again! Speaking of a big Plate of Shrimp -- https://www.youtube.com/watch?v=rJE2gPQ_Yp8 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!) about reviving Croquet from 20 years ago: https://twitter.com/codefrau/status/1738778761104068754 https://twitter.com/codefrau/status/1738778761104068754 Vanessa Freudenberg @codefrau I've been having fun reviving the Croquet from 20 years ago using @SqueakJS . It's not perfect yet, but a lot of the old demos work (sans collaboration, so far). This is pretty close to the version Alan Kay used to give his Turing Award lecture in 2004: https://github.com/codefrau/jasmine https://github.com/codefrau/jasmine Live version: https://codefrau.github.io/jasmine https://codefrau.github.io/jasmine This is a version of Croquet Jasmine running on the SqueakJS virtual machine. Here is an early demo of the system from 2003. Alan Kay used it for his Turing Award lecture in 2004. While working on that demo, David Smith posted some blog entries (1, 2, 3, 4, 5), with screenshots uploaded to his Flickr album. This is work-in-progress. Contributions are very welcome. — Vanessa Freudenberg, December 2023 Dan Ingalls @daningalls Yay Vanessa! This is awesome. These are mileposts in our history that now live again! https://twitter.com/codefrau/status/1526618670134308864 https://twitter.com/codefrau/status/1526618670134308864 Vanessa Freudenberg @codefrau 7:40 PM · May 17, 2022 My company @CroquetIO announced #MicroverseBuilder today. Each microverse is "just" a static web page that you can deploy anywhere, but it is fully 3D multiplayer, and can be live-coded. Portals show and link to other developer's worlds. This is our vision of the #DemocratizedMetaverse as opposed to the "Megaverses" owned by Big Tech. It runs on #CroquetOS inside your browser, which provides the client-side real-time synchronized JS VMs that you already know from my other posts. #MicroverseBuilder is in closed alpha right now because we don't have enough #devrel people yet (we're hiring!) but you can join our Discord in the mean time and the open beta is not far away. We are also looking for summer interns! #internships https://www.youtube.com/watch?v=CvvuAbjh11U https://www.youtube.com/watch?v=CvvuAbjh11U And of course #CroquetOS itself is already available for you to build multiplayer apps, as is our #WorldcoreEngine, the game engine underlying #MicroverseBuilder. Learn more at https://croquet.io/docs/ https://croquet.io/docs/ and let's get hacking :) And as of today, #MicroverseBuilder is Open Source!
- lproven 3y agoThanks Don! This is my original submission from back at the time: https://news.ycombinator.com/item?id=35302162 https://news.ycombinator.com/item?id=35302162 HN really needs a better automatic-deduplication engine. E.g. If the same link is posted again months later, mark the original post as new again with an upvote, and the caption (if changed) as a comment...
- codefrau 3y agoHaha, 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 https://github.com/codefrau/jasmine
- DonHopkins 3y agoVanessa, 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-SqueakJS.pdf 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-wasmtime https://bytecodealliance.org/articles/reference-types-in-was...
- codefrau 3y agoI 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 https://squeak.js.org/docs/jit.md.html
- avallach 3y agoThis looks great! But with all these mentions of democratizing and opposing centralization, the licensing model seems unclear to me. The Croquet Microverse is Apache-licensed but "built on top of Croquet OS" which seems to be proprietary with paid and centralized server. Does anyone understand whether at least the client side component of the Croquet OS, which interfaces with the Microverse, is open source so that alternative server implementation could be developed without legally dubious reverse engineering of the protocol?
- AlbertoGP 3y ago> Smith has been in touch since the publication of this article to clarify Croquet's positioning on open source: "All of our frameworks are open source. The kernel of the system – the virtual machine and the reflector – is currently not open source though. > "This is mainly because of our concern about handing our business over to Amazon. We plan to open source the entire system once we are fully deployed. In fact, the fully decentralized system we will be making available next year will need to be open source." > He added that while the org has pricing for its web-based products (here), it has "not established pricing for Croquet for Unity yet – this will be set once we have the commercial release in the next few months, but will be very competitive."
- deleted 3y ago[deleted]
- chriswarbo 3y agoCroquet's always been peer-to-peer, with no need for servers. It sounds like they've made a small server to "reflect" traffic between clients that can't directly communicate (like using a STUN server to coordinate SIP/WebRTC). > Does anyone understand whether at least the client side component of the Croquet OS, which interfaces with the Microverse, is open source so that alternative server implementation could be developed without legally dubious reverse engineering of the protocol? I don't think any reverse engineering is needed, since the protocols (e.g. TeaTime) were published decades ago. AFAIK the existing Smalltalk clients are FOSS (OpenCroquet/OpenCobalt); there have also been JS ports in the past (I think as part of Qwaq/Teleplace/Terf), but I can't remember if they're FOSS; those may be the same as this "Croquet OS", or this could be a rewrite. (Yes, this project has had many names over the decades!)
- ImHereToVote 3y agoHow does this compare to Mozilla hubs or the Third Room. https://hubs.mozilla.com/ https://hubs.mozilla.com/ https://github.com/matrix-org/thirdroom https://github.com/matrix-org/thirdroom
- lproven 3y agoErm. 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?
- dartos 3y agoThat was an awful comparison
- lproven 3y agoNo, the point is that the gap is awfully large.
- Arathorn 3y agoIt would be good to hear what the gap actually is, if it’s so obvious.
- lproven 3y ago[Article author here] OK, look, yesterday, I spent an hour carefully writing a simple explanation for some zeeb on Fesse Bouc on why you couldn't expand a ZX Spectrum with more RAM. He replied with a one-line dismissal saying it was boring. I blocked the nasty little troll. Do you really want me to try to explain this, or is this another idle snarky comment? Trying to summarize what's important about this tech is going to take a substantial chunk of my day. It's all in the article anyway. Have you RTFA and read the Wikipedia page on the original Croquet? Have you, in other words, done the absolutely minimal effort?
- Rodeoclash 3y agoThis 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?
- speps 3y agoExactly 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.
- scoot 3y agoDo 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"?
- freeopinion 3y agoWhy open source any of it? The copyright owners don't believe they have a business model that can survive in the open source world. Fine. It's their creation, their choice of license. It gets filed in my mind on the closed-source shelf.
- mathgeek 3y agoOpen source software (literally the OSS part) is a subset of FOSS, as it always has been.
- Rodeoclash 3y agoJust to follow up with this. I've had the idea knocking around of creating an online version of the RoboRally boardgame and this looks like it would fit well for that. However, if I can't model the rules on the server then anyone would be able to easily cheat.
- e12e 3y agoWow, 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/ https://lively-kernel.org/
- Animats 3y agoI'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".
- walterbell 3y agoWebXR + Croquet PoC: https://github.com/Squareys/wonderland-engine-croquet https://github.com/Squareys/wonderland-engine-croquet & https://x.com/squareys/status/1669238573219086336 https://x.com/squareys/status/1669238573219086336
- doctorpangloss 3y agohttps://github.com/croquet/croquet-for-unity-guardians/blob/06bad689418020d3be8b2df3cc7973b7cfe9f98e/unity/Assets/Scripts/GameState.cs#L14 https://github.com/croquet/croquet-for-unity-guardians/blob/... https://github.com/croquet/croquet-for-unity-guardians/blob/06bad689418020d3be8b2df3cc7973b7cfe9f98e/unity/Assets/Scripts/moveAround.cs#L76 https://github.com/croquet/croquet-for-unity-guardians/blob/... Is this supposed to be representative of the technology? > A few car brands have web sites like that. For free experiences online, either you are trying to do things as cheaply as possible, or you are the biggest richest player in town. There is no viable middle experience, as much as people pretend there is. A car brand choosing to use this is trying to do middle.
- Animats 3y agoHm. This is being touted as a major breakthrough, yet it looks like everybody else's low-end 3D world. A good example of that genre is Mozilla Hubs.[1] You get to visit a little pre-built 3D world with other people in it. Graphics are cartoon-level. Performance is OK. Works fine. Few users. Croquet tries to accomplish the same thing in a more distributed way. That's OK, but if all the clients are running in lockstep, the slowest client determines the speed. There are some games like that, and they usually come with a program to kick off laggy users. Metaverse technologies that scale to a big world are interesting. But this doesn't seem to be it. Why the comment "This is that rare announcement that's far more significant than it sounds." In El Reg, which is usually rather skeptical. Am I missing something? [1] https://hubs.mozilla.com https://hubs.mozilla.com
- hoc 3y agoPerfect world. Thanks for those classic gems in new setting and caring about them. Ah, and I am grateful for that comment giving official blessing to the part of my mind that loves Squeak and Applescript to also be that happy about the expressive coding feature integration that JS has become. Incredible how well all the parts fit in the end (the language perfection unfortunately not being extended to that limited canvas to HTML integration. Seems we still can only draw in boxes and structure with text and objects.) Excellent work. Thanks so much.
- asadalt 3y agoHonestly, I am not sure what I am looking at, too much corp-speak. Even though I am in similar industry(I think). If anyone is looking for a simple multiplayer SDK for games, I am making one: https://docs.joinplayroom.com https://docs.joinplayroom.com
- lproven 3y agoI wrote the original article. I have tried to summarise it here: https://news.ycombinator.com/item?id=38803004 https://news.ycombinator.com/item?id=38803004
- Ono-Sendai 3y agoHere's my open source metaverse, which unlike Croquet has an open-source server as well: https://github.com/glaretechnologies/substrata https://github.com/glaretechnologies/substrata It's out there live, you can visit the world right now via https://substrata.info/ https://substrata.info/ It can do networked physics, see https://youtu.be/_rECxiwVteY https://youtu.be/_rECxiwVteY, https://youtu.be/CzGz6voUE_8 https://youtu.be/CzGz6voUE_8 etc.
- celdon25 3y agoIs there a detailed (text) explanation of the networked physics concept somewhere?
- Ono-Sendai 3y agoHave a look at https://github.com/glaretechnologies/substrata/blob/ef48de336aa1d721b4138adb51dd11edfb7a03c0/docs/networked%20physics.txt https://github.com/glaretechnologies/substrata/blob/ef48de33... for some (incomplete) notes.
- codefrau 3y agoIn 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.
- beeman 3y agoThis looks really nice! I can't seem to find a LICENSE file in the repo though, would you mind sharing what license it uses?
- Animats 3y agoThere'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.
- taspeotis 3y agoIs this an advertorial?
- lproven 3y ago[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 blew my mind with some of the demos, and I tried to boil it down into a relatively short article. I guess I boiled it down too much if it came over like syrup. :-(
- taspeotis 3y agoThanks 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.
- lproven 3y agoYou 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/15/disunity https://www.penny-arcade.com/comic/2023/09/18/undercraw 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 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.
- serf 3y agoI 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) https://en.wikipedia.org/wiki/There_(virtual_world)
- eigenvalue 3y agoOof “Mr. Melcher once described There.com's archetypal user as "the woman who is in her 30s, single, really overweight, lives in a small town." In 2003, Melcher stepped down as CEO.”
- nocsi 3y agoTo be actually successful, your graphics can’t exceed Minecraft or roblox.
- tamimio 3y agoMetaverse is dead, why companies still use that as a buzzword marketing tactic, no one is using metaverse. Also, if it’s fully client based and no backend, why do they charge per minute?