As someone who had a brief alternate life in VRC and made worlds - just /wow/. I had just enough grasp on Unity to make some basic things, but stuffing Linux into a pixel shader is 1 if not 2 orders of magnitude more impressive.
It's a big differentiator with horizon worlds I think. They have an in world builder so you don't have to learn unity.
On the other hand horizon is super restricted in what you can do, is way too heavily moderated and rubber tiled so it's not fun to be in there at all. VRChat is way better at finding the edge of what's possible. I've seen whole worlds from half Life 2 recreated etc.
VRChat has intriguing possibilities, but I always got the impression the underlying architecture and programming is too shoddy to really support the breadth of custom experiences people want to make. I tried various mini
games or special worlds, and it was always incredibly jank and barely functional. It seemed more like problems stemming from instability or jankiness of the engine and API they were working with than anything else.
Granted, the last time I touched it was a few years ago. Unless they've done a major rewrite of the game I don't expect it to have improved all that much. Maybe I'm wrong.
There are two things holding back mini games and special worlds, inexperience and Udon.
The more technically impressive worlds don't just use the VRChat provided object syncing or interactions, they create their own systems tailored to the world, but Udon, the world scripting language, is sluggishly slow, 200X-1000X slower (according to VRC themselves and I know is true from experience), compared to ordinary scripting inside Unity, which means the only ones able to make their own systems are not only good at coding, they are really good at optimizing, on a generally amateur creation platform like VRC those people are very few.
They are trying to recreate Udon to be more performant, but small company and their first attempt was discarded after the sole employee working on it was let go.
Network delay could be considered another thing holding back mini game creation, but even if the network stack was better, you have people all over the world, latency will always be an issue.
The one thing I can add is that the VRC players I've played with don't care about it. They just want to be in a world and do things with their friends, even if it's janky or has bugs. It's already persistently novel, and if ones novel threshold ever dips too low or the bugs are too high, there's another world with different people just a tap away.
VRChat is not perfect, it has a lot of rough edges. But it's buzzing with activity. People enjoy themselves. Do sometimes weird stuff but not bother anyone. It's like the real world.
Horizons is a boring moderated infantile playground. I guess they're super worried some conservative senator's grandchild hears the F word there and is scarred for life. But in mitigating this they have eliminated any attraction to the whole product. Us adults, we need a little gritty. It's why we don't watch Kung Fu Panda when we're not with kids.
For example I found a few rooms where people go to sleep around others when they're lonely. Complete with a calming environment. I haven't seen anything like that in horizons. Just some attempts at mildly boring games and funhouses.
Also the furries have a home there which works fine. I've never seen anyone with 'anatomically correct' avatars in the wrong space. It works and they have fun. That's what it's all about, human connection.
Work like this highlights how different the compute models are between gpu and cpu. Honestly very impressed it runs as fast as it does (250khz) given those differences.
Because that would likely be confused with compute shaders, which are not accessible in VRChat, we still regularly use geometry shaders, which as far as I know are just terrible compared to the alternatives.
The closest to compute shaders we have are camera loops using render textures and AsyncGPUReadback which has been limited to only handle inputs and outputs in the form of textures.
Also the reason why it is even done in shader is because the scripting language in VRChat is 200X-1000X slower than normal Unity scripting, with no async or way to do threads.
As someone who had a brief alternate life in VRC and made worlds - just /wow/. I had just enough grasp on Unity to make some basic things, but stuffing Linux into a pixel shader is 1 if not 2 orders of magnitude more impressive.
p.s. Udon Bird Sanctuary! I've been there!
It's a big differentiator with horizon worlds I think. They have an in world builder so you don't have to learn unity.
On the other hand horizon is super restricted in what you can do, is way too heavily moderated and rubber tiled so it's not fun to be in there at all. VRChat is way better at finding the edge of what's possible. I've seen whole worlds from half Life 2 recreated etc.
VRChat has intriguing possibilities, but I always got the impression the underlying architecture and programming is too shoddy to really support the breadth of custom experiences people want to make. I tried various mini games or special worlds, and it was always incredibly jank and barely functional. It seemed more like problems stemming from instability or jankiness of the engine and API they were working with than anything else.
Granted, the last time I touched it was a few years ago. Unless they've done a major rewrite of the game I don't expect it to have improved all that much. Maybe I'm wrong.
There are two things holding back mini games and special worlds, inexperience and Udon.
The more technically impressive worlds don't just use the VRChat provided object syncing or interactions, they create their own systems tailored to the world, but Udon, the world scripting language, is sluggishly slow, 200X-1000X slower (according to VRC themselves and I know is true from experience), compared to ordinary scripting inside Unity, which means the only ones able to make their own systems are not only good at coding, they are really good at optimizing, on a generally amateur creation platform like VRC those people are very few.
They are trying to recreate Udon to be more performant, but small company and their first attempt was discarded after the sole employee working on it was let go.
Network delay could be considered another thing holding back mini game creation, but even if the network stack was better, you have people all over the world, latency will always be an issue.
The one thing I can add is that the VRC players I've played with don't care about it. They just want to be in a world and do things with their friends, even if it's janky or has bugs. It's already persistently novel, and if ones novel threshold ever dips too low or the bugs are too high, there's another world with different people just a tap away.
Yeah you describe it very well.
VRChat is not perfect, it has a lot of rough edges. But it's buzzing with activity. People enjoy themselves. Do sometimes weird stuff but not bother anyone. It's like the real world.
Horizons is a boring moderated infantile playground. I guess they're super worried some conservative senator's grandchild hears the F word there and is scarred for life. But in mitigating this they have eliminated any attraction to the whole product. Us adults, we need a little gritty. It's why we don't watch Kung Fu Panda when we're not with kids.
For example I found a few rooms where people go to sleep around others when they're lonely. Complete with a calming environment. I haven't seen anything like that in horizons. Just some attempts at mildly boring games and funhouses.
Also the furries have a home there which works fine. I've never seen anyone with 'anatomically correct' avatars in the wrong space. It works and they have fun. That's what it's all about, human connection.
>I haven't seen anything like that in horizons.
I found a world like that when I searched for one a couple years ago in horizons.
Article should probably have "(2021)" in the title.
Would make it a lot more impressive.
Pretty amazing work!
Work like this highlights how different the compute models are between gpu and cpu. Honestly very impressed it runs as fast as it does (250khz) given those differences.
i'm misunderstanding why this is a "pixel shader" in the title, not just a programmable shader (which is more general)
Because that would likely be confused with compute shaders, which are not accessible in VRChat, we still regularly use geometry shaders, which as far as I know are just terrible compared to the alternatives.
The closest to compute shaders we have are camera loops using render textures and AsyncGPUReadback which has been limited to only handle inputs and outputs in the form of textures.
Also the reason why it is even done in shader is because the scripting language in VRChat is 200X-1000X slower than normal Unity scripting, with no async or way to do threads.
A programmable shader is the rectangle to the pixel shader's square, why expect the title to be intentionally vague about the constraints?
VRChat has such an amazing, creative community.
This is so cursed I love it
If this can be done to emulate this chip couldn't it also be done for other devices e.g old consoles?
i'm not saying people should do that, but would it be possible?
RISC-V is inevitable.