This is a transcript of The Resonance from 2025 July 13.
00:01: Hello.
00:04: Sending announcements.
00:07: It should be live.
00:10: Um,
00:14: give me a sec. I'm just going to post
00:16: announcements.
00:20: Uh, post the live stream one.
00:23: Where's live stream?
00:27: Where's blind? I can never find
00:31: channels on Discord.
00:34: Uh,
00:37: where's live streams?
00:39: Oh, there it is.
00:44: There we go. Post more announcements
00:46: online. Hello. Already getting messages.
00:51: Give me a second. I'm just going to
00:52: finish posting announcements.
00:56: Post. And there we go. Could be live.
01:01: Hello everyone. Welcome to another
01:03: episode of the resonance. Uh I'm Frixus.
01:06: Uh today, unfortunately, we don't have
01:08: Syra. Uh so I'll be I'll be handling the
01:11: questions myself. Uh but welcome. This
01:15: is another episode of Resonance. You
01:17: It's essentially kind of like my office
01:18: hours. Um and you can ask anything about
01:23: resonate like whatever you want. Um,
01:25: first, um, is the audio okay? Can you
01:29: like hear me fine? Are the audio levels
01:30: okay? I'm going to adjust the camera a
01:33: little bit too.
01:37: Is the audio okay? I think it seems to
01:39: be okay. Thank you. So, uh, audio is
01:43: fine. So, we should be able to get
01:45: started. So, uh, welcome again. Uh, this
01:48: is sort of like my office hours. You can
01:51: ask anything you want about Arizona
01:53: night whether it's a technical question
01:54: whether it's philosophical with how
01:56: platform goes kind of like you know
01:58: personal things you want to get the you
02:00: want to get you know get to know the
02:01: team a bit more pretty whatever you want
02:04: to ask you can ask in chat uh make sure
02:07: whenever you ask question put a question
02:08: mark at the end that way it kind of pops
02:10: in my thing let me just show you oh
02:13: that's my hair hold on I'm just going to
02:17: grab the
02:19: I'm grabbing the wrong things. Oop, I
02:21: have too many things.
02:23: There we go.
02:26: Got uh There we go. See, that's that's
02:28: that's that's you and that's the
02:30: questions.
02:34: Um so, make sure like you know to uh
02:36: make sure to put a question mark at the
02:37: end and uh it'll pop on the thing. Uh we
02:41: also have a bunch of questions that are
02:43: coming from Discord that are sort of
02:44: like you know uh in advanced questions.
02:47: So, I'm going to go through those first
02:48: and I'm going to go go to the questions
02:50: from the chat. So, with that, uh, we
02:53: should be able to get started. I don't
02:55: know if I'm forgetting anything. Um,
02:59: yeah. So, let's let's get started. So,
03:02: uh, I'm also going to actually I think
03:03: I'm going to freeze the camera, too, so
03:05: it's not floating so much. Uh,
03:10: put make a good angle. Actually, hold
03:12: on.
03:14: That's fine. I also like used one of the
03:16: creator J worlds. Um, this is like a
03:18: pretty cozy one. Um, and I actually
03:21: contributed to this one. I made like a
03:23: few things like the skybox and and I'm
03:26: clipping through. I made like a skybox
03:28: and the cloud system you can see behind
03:30: is like procedurally generated clouds
03:32: that sort of like poof in and then pull
03:34: out like kind of cartooning. Nice.
03:38: Um, so let me create a camera anchor.
03:42: There we go. Okay, I'm going to adjust
03:46: myself a bit. Okay, so let's get
03:49: started. Actually, maybe I should move a
03:52: little bit here.
03:55: There we go. So that way I have like
03:56: space for the questions.
03:59: So let's go. So first one, uh first
04:04: question that's from Discord.
04:06: Um
04:09: this is from Phoenix. Phoenix is asking
04:12: uh when the splitting is shipped to
04:14: stable, can we get systems with
04:15: guidelines on what kind of GPU, CPU and
04:17: how much memory always ideal for running
04:19: in desktop mode and for VR mode? It
04:21: seems like Nvidia chip might be more
04:23: stable for example, but it can be tricky
04:24: to work out exactly what to get when
04:27: thinking about blogging PC. I want
04:28: resite to work very well. Is X3 chip
04:31: still important with net 9? I almost
04:32: wish there was just Resonate box I could
04:34: buy or an external MHD where resite is
04:37: spatial computer OS and I have to worry
04:38: about components. So pro probably not
04:41: going to have uh our own HMD like at
04:44: least not in the immediate future. Uh
04:46: but I think this is one of those things
04:49: where it's kind of good like you know to
04:52: source it to the community because
04:54: usually when you build like the specs is
04:55: like you try lots of different hardware
04:57: and see what it runs well on. And you
05:00: know we're a small team and we don't
05:02: really have access to that much like
05:03: hardware. Um but with the community like
05:06: you know people try lots of different
05:08: specs. uh they can all you know compare.
05:10: So I'll probably leave it to that. Um
05:14: ask you know around the community. Some
05:15: people like you know some people even
05:17: like build guides you know like what
05:18: this is good to like run on and this is
05:20: like what things like they get. So, I
05:23: would probably say we're not going to
05:26: have like one officially, but um
05:30: we're going to have like, you know, like
05:31: one officially, but like I think it's
05:33: good like to kind of ask around in
05:35: community and see like what everybody's
05:36: kind of using and what kind of
05:38: performance are they getting in
05:39: different worlds.
05:42: Uh I do know from some people like uh
05:45: the X3D chips are like like working
05:47: really well and some people had like
05:49: interesting result like with core
05:50: affinitive like assigning different
05:52: cores like you know to the main process
05:55: and to the renderer. Uh but we'll kind
05:58: of see like you know how version kind of
05:59: shakes up once it's done.
06:01: The next question is from uh Shadow X is
06:07: asking uh every version number currently
06:10: begins with the beta. Is there a
06:11: specific goal you have in mind where you
06:13: plan to drop the beta part? Yeah, it's
06:16: pretty much like uh dropping the beta,
06:18: it means coming out of early access. And
06:20: there actually I think there should be a
06:22: video on it like on our YouTube channel
06:24: where I kind of like went through um
06:27: when I went through like a lot of uh the
06:31: big things that I want to happen before
06:32: like we move out of it. uh just sort of
06:36: TLDDR um definitely know the split
06:38: ending performance improvements like
06:40: that's one of the big parts um we
06:42: definitely want to rework some of the UI
06:44: and I just like you know some of the
06:46: like on boarding making sure like things
06:48: are um making sure things are kind of
06:51: like you know
06:52: smooth uh for users uh there are like
06:56: few other features but like overall
07:00: the minimum for like dropping the beta
07:02: is uh Ooh, it's a big cloud. Uh, overall
07:06: for like, you know, dropping the beta,
07:08: it's like making sure that like Resonate
07:10: out of the box is a good experience for
07:13: new users and it's pretty smooth, it's
07:15: stable, it performs reasonably well. Uh,
07:18: it has like easy to use UI. Uh, so those
07:20: would be like the main things. There
07:22: might be some other stuff that I'm kind
07:23: of forgetting, but those are the ones
07:25: that uh come to the top of my head.
07:30: The next question is from uh Tito. Uh
07:35: Tito's asking uh have you heard of
07:38: Spacetime DB? If not, you should check
07:40: it out. You could get some insights for
07:41: your net code that can improve games
07:43: performance. So I've heard about it. Uh
07:45: it's I don't think it's like
07:47: particularly helpful because it's a very
07:48: different kind of architecture and very
07:50: different philosophy like for how things
07:53: are kind of approached. is also like
07:55: with Resonite the net code itself
07:59: like like based on like the benchmarks
08:01: is not really something affecting the
08:03: performance that significantly that's
08:05: more on the data model side which
08:07: relates to the data like it relates to
08:09: the net code but it's also not um so
08:13: it's uh
08:16: um so yeah like I don't think like there
08:20: are like sufficiently different
08:21: approaches that like it's hard to like,
08:24: you know, draw pearls or be like, you
08:27: know, like maybe you should do things
08:28: this way because it's like it's it's a
08:30: little bit like trying to like, you
08:32: know, say you're making
08:34: um I don't know, you're making a plane
08:37: and you look like, you know, you try to
08:39: look at like a a submarine, you know,
08:42: and there's like surface similarities,
08:45: you know, what are kind of cabins where
08:46: inside of the cabin, but ultimately
08:47: they're very different
08:50: things with different design
08:53: and like, you It's not going to
08:54: translate between the two.
08:59: The next question is from uh Ozie. Uh
09:03: Ozie is asking uh even in its early
09:07: state uh has any of the performance test
09:09: other users have done surprisingly in
09:11: per release? Yes, actually did. Uh
09:13: people have been kind of so been like
09:15: have an issue. I think it's something
09:17: more with my machine and I kind of want
09:19: to dig into it but like I've been having
09:20: some weirdness like with performance but
09:23: like my machine like was running million
09:25: things and it's kind of struggling with
09:27: things so I think it's not like a
09:29: representative and then like when it got
09:30: released um when it got released
09:35: uh like there was like somebody who
09:37: literally got like over,000 FPS at one
09:39: point in the cloud home and not cloud
09:41: home and sorry uh the local home. Um
09:45: also there's like also interesting thing
09:47: like with the cloud home um people have
09:50: been like you know making the spliting
09:52: work on Linux uh and Sy kind of working
09:55: on it like officially right now like
09:56: he's making kind of PR so like you know
09:59: it just works out of the box um but
10:01: people have also gotten it to work um
10:05: like not like on a person he's made he
10:07: made it work on on a phone on like ARM
10:10: phone where the main process which is
10:12: net 9 runs natively play and then the
10:15: render is like running with like
10:16: emulation
10:18: and he opened the cloud home expecting
10:22: it to crash and it just worked and he
10:24: got 9 fps on a phone with emulation. So
10:29: that's like started like like I'm like
10:31: ooh this kind of cool like I don't
10:33: expect like you know work that well. Um
10:36: so yeah people have been like seem to
10:38: have like getting pretty good results
10:39: with it. So, um I'm quite happy to hear
10:43: and I hope like it's kind of like, you
10:44: know, it's going to hold up like well.
10:46: Um but we'll see. It kind of the
10:48: performance also depends, you know, like
10:50: a lot like what you do. Some things have
10:52: like, you know, better performance than
10:54: others. And um there's
10:59: like
11:01: there's there's a lot of like different
11:02: kind of like, you know, aspects to it.
11:04: So like you're not going to see the same
11:07: performance like increase for every
11:08: single thing. But over like overall
11:11: things should be better and some things
11:14: are like way better than some others and
11:16: you know there's going to be more stuff
11:17: in the future. But uh overall like uh
11:21: seems to to be quite positive.
11:24: Uh let's see what's next. Uh
11:30: so Ozie is asking combo question. What
11:33: pulp spinninging task interests you most
11:35: if any? So actually have to look. So, I
11:38: have a board uh if you haven't seen it,
11:40: there's like a board where you can see
11:44: um all the tasks for spliting that are
11:47: like logged on GitHub. Let me just open
11:50: it up. Um shall see if I can also throw
11:53: a link in the chat.
11:55: Uh let me open the Twitchite
11:59: app.
12:02: So, if you want to look along and I'm
12:05: getting an ad my own stream. Let me just
12:08: post this in here. This is the link. Um,
12:12: so there's a number of things like
12:13: posteries. Uh,
12:16: so there's like a few like like for
12:18: example you're in the previous scene
12:20: state on main process h that's going to
12:22: be I think this one's going to be
12:23: interesting. Like that's like if you
12:24: freeze like like it's just going to keep
12:27: rendering more frames which might be
12:28: good like if you said for example
12:29: watching videos and you get a lock spike
12:31: the video is going to continue. So like
12:33: uh your avatar is going to be frozen but
12:35: um it'll render more frames. Um
12:41: let's see switch to numeric
12:45: like some stuff I'm interested like for
12:47: example one thing considering switching
12:48: the render to C++ and I'm kind of
12:51: curious how much will that help will
12:52: that help at all. Um but garbage
12:56: collector smoothing out native process
12:58: Linux that's everything actually that
13:00: should be in the progress corner but uh
13:03: reboot render when it crashes that's
13:05: that one that one like I'm looking
13:07: forward to um
13:10: like I feel like we're going to be like
13:11: very unique like where we can be like
13:13: we're doing an application that can
13:14: withstand a unit crash and like it I'm
13:18: kind of curious how it's going to feel
13:19: like you know like a crash and
13:21: everything goes away and then it just
13:22: pops back in And like what is that
13:25: feeling going to be like, you know, like
13:27: because right now like if you crash,
13:28: you're just kind of out of the world and
13:30: if they rejoin and kind of like miss out
13:32: on a bunch of stuff. So that be going to
13:34: be interesting. Um
13:37: there's
13:38: h okay. So like I would say probably out
13:41: of these this one. However, there's like
13:43: one
13:44: thing that's sort of going to be enabled
13:46: by the split thinging, but it's like a
13:48: bigger feature that I wanted to do for a
13:49: long while and it's ability to use as an
13:53: overlay for so you can actually open
13:55: your dash and use a lot of the
13:57: functionality over other applications.
13:59: So, you could like, you know, be for
14:01: example in VR you could be playing
14:02: Minecraft, the Vivecraft mode. Um, we
14:05: can be playing whatever VR game you want
14:07: and you can have like access to your
14:09: night dash.
14:11: So you could like you know message
14:12: people, you could spawn things in an
14:14: overall layer. So we can have like you
14:16: know sort of this augmented reality
14:18: layer over like other ones um other
14:22: applications and we could provide like
14:23: SDKs and like other things. So you could
14:25: actually like have tighter integration
14:27: like say for example you you know we
14:31: have like a Minecraft mode where like
14:33: you're in Minecraft and like in your
14:35: contacts people will see you like you're
14:37: in this Minecraft world and you know
14:39: maybe they can even see and maybe you
14:40: can even send them invite and it's going
14:42: to make the mod just like you know be
14:43: like okay I'm on the server with this IP
14:45: and if you click the invite it's going
14:46: to like you know make them their
14:48: Minecraft instance connect to the right
14:49: one. Um, and then you could like, you
14:52: know, even see other people and you
14:53: could like, you know, you want to be in
14:54: Minecraft world, spawn a resonate, like,
14:56: you know, spawn a video in over a layer
14:58: and watch it in your Minecraft world,
14:59: you could do that. Um, and that like I
15:03: think that's going to be like like could
15:04: be like one of the kind of coolest
15:06: things, but that's like technically not
15:08: like a post spliting task. like I
15:10: haven't like decided to paraphrase it,
15:11: but it's like one I really really want
15:13: to work on because I think it's going to
15:15: be like super cool and it's going to be
15:17: like you know
15:20: I don't want to say the word metaverse
15:22: because it kind of got tainted but kind
15:24: of like you know the metaverse like in
15:25: the before the word got tainted like you
15:27: know by meta um and I will say like that
15:32: one that one's like on my mind a lot
15:36: Um,
15:40: another big cloud.
15:42: Uh, next questions from BD_.
15:46: Let's see. Let's position this here.
15:50: Uh, B asking, are you planning on taking
15:52: a break post splittening before starting
15:54: on the next big thing?
15:58: Planning is hard. I mean, I would kind
16:00: of like to like slow things down a bit,
16:03: but like, you know, the question is, am
16:04: I going to be able to
16:07: because usually like sometimes it feels
16:10: like, you know, issues and things like
16:12: it's like liquid like, you know, like if
16:14: you if you try to like carve out a
16:16: little like, you know, hole,
16:19: you know, like freedom, the task will
16:22: just go and it just fills it out like,
16:25: you know, the same way like you take
16:26: like what? Oh, I didn't know that was in
16:28: here. Um the same way like you know
16:30: water
16:32: you pour it and just it's going to fall
16:34: into every little crevice. So things
16:38: rarely,
16:40: you know,
16:42: things rarely kind of slow down and
16:44: there's always like million other
16:46: things. And even now like it feels like
16:47: there's so many stuff that's being piled
16:49: like where a lot of the conversations
16:51: and things we're having. It's like it's
16:54: like oh like post spliting this post
16:56: spliting that post spliting that after
16:58: spliting do this after spliting to do
17:00: that after spliting to do that. And it's
17:02: just like even knowing
17:06: even knowing like you know that like
17:07: once this is finished there's already
17:08: like a pile of stuff waiting. I I don't
17:11: know. So we'll we'll see.
17:16: And it's kind of hard because you know
17:17: like comes like with just being like
17:19: responsible for the business and making
17:21: sure like you know we kind of keep going
17:23: and things that need to be done need to
17:26: be done.
17:29: Um,
17:32: next question is from Menshock. Um,
17:37: Mshock's asking uh response on the last
17:40: fruits office hours the topic of social
17:42: media posting. If I understand
17:44: correctly, there are plans to make in
17:45: platform social media system where you
17:48: can share stuff from Resonite to other
17:50: Resonite users. Would it possible to
17:52: build that service uh upon a service
17:54: like Masteron? So like having separate
17:56: instance that stores all resonate post
17:58: and makes those available both inside
18:00: resonite and through existing clients.
18:03: So I don't think we probably build it on
18:04: the master.
18:06: uh we probably have integrations with
18:09: Mastodon but like the idea for that one
18:11: is have it built around our own systems
18:13: because that gives us a really tight
18:14: integration and I think the tight
18:16: integration is like you know where
18:19: um
18:20: where like the huge benefit lies because
18:22: we already have kind of systems and just
18:24: having and then having like multiple
18:25: systems that kind of one does like one
18:28: part and the other one does do another
18:30: part and like not as well integrated
18:32: like it doesn't kind of mesh a little
18:36: our philosophy and the things we want to
18:37: do. So, it's better to kind of have like
18:39: things where the system does exactly
18:41: what we need it to and then we have we
18:42: have it like have like you know sort of
18:44: IO like input output with other systems.
18:48: So, it's probably going to like you know
18:50: take take that kind of form.
18:54: Uh next question is from uh also from
18:57: Mshock. Um position it right. Um, Muk
19:01: Muk is asking, uh, and another one for
19:04: context. I'm currently working on
19:06: sequencing timeline animation system
19:07: with Resonate using spatial variables.
19:11: Uh, by the way, huge props there.
19:12: Awesome. Yay. Yeah, like spatial
19:15: variables are like one of those things I
19:16: wanted to do for so long like because I
19:18: was like, they're got to be like really
19:19: powerful and it's not that complicated
19:21: to add as well. Uh, similar for
19:24: officially system. Can you imagine time
19:25: where user creations reach level of
19:27: sophistication? and the development team
19:28: essentially wouldn't have much to do
19:30: except maybe upkeep. So I don't think
19:33: we'll ever get to the point where we're
19:34: doing just upkeep. Um but we do want to
19:38: like you know make tools where people
19:40: can make as many systems as possible. Um
19:44: and you know if like if there's a system
19:46: missing in Resonate we want you to have
19:48: tools to build build your own or maybe
19:51: even like if you don't like the system
19:53: maybe it doesn't fit your needs you know
19:54: like it is we want you to have ability
19:57: to like you know build your own build
19:58: alternatives.
20:00: That said, I think there's a lot of
20:03: cases where there's benefit to us having
20:05: an official system for something because
20:08: usually we can make those like very well
20:10: integrated with all the tooling and
20:11: having sort of like you know standard
20:13: official system. Um it sort of makes it
20:16: like it makes it like like this like
20:18: nucleation point where like a lot of
20:20: stuff the community builds is going to
20:22: be built around that system because they
20:24: know like you know this is to one
20:27: official system so they can rely on it
20:29: be like accessible everywhere. It can be
20:30: rely on it being maintained. Um
20:35: and like you know like um because like
20:38: if you have like lots of kind of
20:39: community systems sometimes like it's
20:41: hard to like sort of get consensus you
20:44: know which one to use and some people
20:46: use this one some people use that one
20:47: and you have like bunch of stuff that's
20:49: like you know not mutually compatible
20:52: with each other which is like fine
20:53: because like you know we want you to be
20:55: able to build your own systems but um it
20:58: does like from what I noticed it does
21:00: lead to like certain level of
21:01: fragmentation
21:03: uh and us making official systems that
21:05: can help reduce some of that
21:06: fragmentation and it can make it more
21:08: like you know where if you're building
21:10: your own system you you know we have a
21:13: much stronger reason to do it like the
21:14: reason is not that it doesn't exist the
21:17: reason is like you know you need it to
21:19: be designed differently from the
21:21: official one where the official one
21:22: doesn't fit your needs um so you have
21:25: like much more you know sophisticated
21:28: kind of reason for building your own
21:30: system rather than just you know the
21:32: system doesn't exist so I'm making my
21:34: own um so like uh there's also a bunch
21:38: of thoughts like you know relating to
21:39: like uh because last I could ask you
21:42: know is there an I ever got me finished
21:44: and I uh there's like a video on it on
21:47: the YouTube so if you want to watch that
21:49: one that also has a bunch of thoughts
21:50: like they're sort of related to this
21:54: uh let's see what's next
21:57: and next question is also from Tito The
21:59: ferror
22:01: uh titer is asking is there a plan to
22:05: make reporting easier, intuitive, and
22:07: easily accessible in game. It'd be uh
22:10: rich if every time someone says I
22:11: crashed and not reporting it. Funnily
22:13: enough, people saying I'll report it
22:15: later likely to forget about it. My
22:17: first experience of reporting a bug was
22:19: a bit confusing. They end up not being
22:20: able to explain it properly and then get
22:22: credited. Someone was able to help and
22:24: they got credit instead. Is there a
22:26: skill issue? Yes. Uh there's many more
22:28: where that came from. Then again, is
22:30: there a plan to make your reporting
22:31: easier, intuitive, or easily accessible
22:32: in game? So our goal is to have like
22:35: reporting accessible in game uh
22:38: eventually. So you can like you know
22:39: just go make like a report and uh you
22:42: know and it's going to um it's going to
22:45: make things easier in some ways because
22:46: like for example we can autoincclude
22:48: logs that you know just get uploaded to
22:50: like our server. Uh we can auto like you
22:52: know if you have a replication item say
22:54: like you know this thing is just as
22:57: example say like this thing is causing
22:58: issue it just be like drop and you know
23:01: it make sure it gets uploaded um or you
23:03: say like I have issue in this war that
23:05: I'm in and like you know we're just
23:06: going to uh include information so that
23:09: should simplify the reporting process
23:12: um that said so there's
23:17: one aspect of the reporting where like
23:20: It's pretty much on the skill of the
23:22: reporter, you know, to accurately kind
23:24: of describe the issue and there, you
23:26: know, something that we can't really
23:30: fix, you know, it's not a technical
23:32: problem. That's more like, you know,
23:33: people knowing
23:35: um
23:38: people are like, you know, like some
23:40: people are kind of porting things and
23:42: describing things than others. And I
23:44: don't think there's much like we can do
23:47: like because we do have like guidelines
23:49: which you know try to explain this is
23:50: how we parize things. This is think
23:52: human based photo subscription.
23:55: Yeah I can actually do this.
24:00: Um anyway
24:03: uh what else what was I saying?
24:06: um we have the guidelines but like a lot
24:08: of people kind of skim them or don't
24:10: even read them and then like we get like
24:12: you know reports that like are hard for
24:15: us to handle and they're hard for us to
24:16: understand and sometimes it can be
24:18: depending on what the issue is sometimes
24:20: it can be like difficult to be like you
24:21: know
24:23: understanding what the actual problem is
24:25: because when you do report something you
24:28: know like you know what the problem is
24:29: kind of in your head but
24:33: it's kind of it can be hard to like you
24:34: know someone else like you know have the
24:36: same kind of like understanding of
24:38: what's happening. Um, and I don't think
24:40: that's something like, you know, fix.
24:43: And there's like one thing I'm a little
24:44: bit worried about is like once we do
24:46: have it in game reporting, we might get
24:49: more of that. Like, you know, we get
24:50: like more reports that um
24:55: are kind of like, you know, hard to
24:57: handle, that can be hard to understand
24:58: for us. Um
25:02: because like by lowering like you know
25:03: if we lower the bar you know we get like
25:06: more reports and then like we need to we
25:08: still need to triage them and if we get
25:11: like you know a lot more of them
25:14: it means like you know we can spend less
25:16: time on each one you know trying to
25:18: understand it and we're also like lower
25:20: like quality it creates like the
25:22: situation where like you know we're
25:24: flooded with reports and we're not able
25:26: to kind of process them. Um so I do
25:29: wonder if there's going to be you know
25:30: some kind of like negative effects of
25:32: that. Um but some of the stuff like you
25:36: know for example the logs that will help
25:38: you know just having included having
25:40: included like crash logs if you like we
25:41: can even detect you know the user has
25:43: crashed just auto upload the crash logs.
25:46: So some of the stuff can be you know
25:48: done pretty automatically. Um
25:51: and that will help in some ways but
25:54: depending on what the issue is like you
25:56: know
25:58: some like some things like you know
26:00: there
26:02: essentially not something we can fix on
26:04: a technical level like no amount of
26:06: tooling is going to make it you know so
26:09: people kind of follow the proper like
26:11: reporting guidelines and make sure to
26:13: include like the information like
26:15: correctly. The only the only thing that
26:17: can be done is with that is you know on
26:20: the side of the user like read
26:22: guidelines try to understand you know
26:24: like how to make good reports uh try to
26:26: understand how we prioritize we have
26:28: like a big like write up on it um where
26:30: we kind of describe like you know how do
26:32: we prioritize issues
26:35: um and the only thing we can do is you
26:37: know encourage people to do that more
26:41: but I don't know if there's like you
26:42: know anything on technical level So all
26:45: the kind of basic stuff you know the
26:46: logs stuff like that helps because like
26:48: you know we can just auto collect that
26:50: like with the report like if you just
26:51: check a check box like include my log.
26:53: Uh but then like the stuff like you know
26:56: actual description of things you know
26:57: that's a little bit harder. So we'll
27:00: see. Um
27:03: yeah it it happens and it's like you
27:06: know stuff like we deal with and we'll
27:08: hit it as as we kind of come. Uh but
27:11: yeah, like we will have like in-game
27:13: system eventually like we do want to
27:15: like you know get more reports like so
27:17: more stuff gets caught and make it kind
27:19: of easier like you know quicker to
27:21: report because there's some things that
27:22: end up like being reported but um we
27:26: also like worry about like you know the
27:28: flip side of it like because it is it is
27:30: a double-edged sword. Um, and if we get
27:33: like overwhelmed like you know by having
27:35: lots of issues that like are hard to
27:37: parse.
27:39: Um,
27:42: I like I I'm I'm like, you know, a
27:44: little bit concerned what this what is
27:46: that going to do to our ability to sort
27:48: through the issues and solve them?
27:50: Because you can also see that for
27:52: example, you know, like with the
27:55: Minecraft like uh issue tracker, there's
27:58: so many reports where like they're just
28:00: like
28:02: they're missing with like core
28:03: information and they just they don't
28:04: even bother like engaging with them. Um
28:08: and I wonder like you know we'll have to
28:09: do the same. will just be like like we
28:11: just this report is like like we can't
28:13: really do anything with this and you
28:16: know and you don't you won't have time
28:18: to like also be like you know spend time
28:20: replying to every single one. Can you
28:22: please include this? Can you please
28:23: include that? Can you please include
28:24: that? Because it takes time to like you
28:27: know have those responses and you know
28:29: and to like try to understand like
28:31: whether like what you might need for
28:32: this one. Um it also like you don't know
28:35: if you're even going to get a response
28:36: because we already get that with GitHub
28:38: where um you know sometimes people
28:41: report something and we're like like we
28:42: don't understand this and then like we
28:44: don't really get the response back but
28:46: in a lot of cases we do. So um but the
28:49: question is you know with this kind of
28:50: system are we going to get one? But
28:51: maybe if it's like integrated you know
28:53: and the user like we make a message pop
28:56: up be like please reply to this thing we
28:58: need more information maybe they'll
28:59: help. So
29:02: it's it's it's it's going to be like I
29:04: think it's like there's going to be like
29:06: you know no kind of challenges we'll
29:08: have to deal with that kind of system.
29:10: Um but yes eventually we will we will
29:14: have the system you know sort of like in
29:15: game make it like more accessible and
29:18: whatever kind of issues like arise like
29:20: we'll um we'll see what we can do like
29:22: to deal with those.
29:24: Um that's you know kind of like my
29:26: thinking on it and and my only like
29:28: worry is that like
29:30: that people will have expectation that
29:33: like it makes it more likely for their
29:35: reports to be addressed and that they
29:37: can like you know not that they will not
29:39: have to follow the guidelines we ask
29:42: them to follow on the GitHub
29:44: where you know with it being more
29:46: accessible we'll need them to follow
29:48: them like you know that much more to be
29:50: able to handle the larger volume of the
29:53: reports.
29:55: Um
29:57: because like you know the more reports
29:58: there are
30:01: the less time we have to spend on them
30:03: and the higher you know does the quality
30:05: need to be. So, it's kind of almost like
30:09: almost feels like a potentially paradox,
30:11: but like overall
30:13: um there's potentially things we could
30:15: do like you know maybe having system
30:17: where we kind of say like rate the
30:20: reports and be like you know this like
30:22: this needs this this needs that like
30:23: maybe we can like link the guidelines.
30:25: We'll we'll see. We'll see.
30:28: I don't want to ramble on this much
30:30: longer.
30:32: Uh the next question is
30:36: from uh Safi. Safi is asking uh almost
30:40: every time introduced showed someone the
30:41: resonite they were turned off by how the
30:43: movement ike looked especially when
30:45: using full body tracking. Is there a
30:47: time frame when the work on the yak
30:48: system continues? Um we don't do time
30:51: frames like things like you know
30:57: things are hard to predict like with
30:59: like this level of complexity of
31:00: development. So like we cannot really
31:02: give you a specific time frames. The
31:04: only thing I can say is like um I'm
31:06: going to say because I use full body
31:08: myself you know um it's one of the like
31:12: high priority things. Um
31:15: if you know if this is something that's
31:17: important to you uh I recommend you know
31:20: avoing the GitHub issue for the new IK
31:23: uh because that like you know signals to
31:24: us this is a really important issue that
31:27: we need to prioritize sooner than later.
31:29: Um, and I do think I want to like
31:32: prioritize this like, you know, sooner
31:34: than later, but also like if it's
31:36: fighting with other things that need to
31:37: be prioritized sooner than later, which
31:39: is, you know, stuff like the UI. Um,
31:41: because that's another thing that, you
31:42: know, people are turned off by. And we
31:44: need to figure out like what is more
31:47: what is going to be more impactful? Is
31:49: it going to be more impactful if we
31:51: address some of the UI now or is it
31:53: going to be more impactful with the IK
31:54: or is it going to be more impactful for
31:56: us if we for example prioritize
31:57: something like the molecule which is you
31:59: know going to help uh on the development
32:01: side because now it's creating you know
32:03: some issues where um right now for
32:06: example you know working on the split
32:08: ending and I'm just kind of laser
32:09: focused on it and there's a bunch of
32:11: like PRs and like it's kind of hard for
32:14: me to make normal builds because I have
32:16: to like switch out everything to make a
32:18: Um once we have like molecule that like
32:21: makes some of the stuff easier because
32:23: if people if team members make PRs for
32:25: features those can just become
32:28: automatically available as per builds we
32:30: can have bunch of you know completely
32:31: separate pre-releases
32:33: um and they can start doing community
32:35: testing on those and that's going to
32:37: help you know reduce some of the
32:39: workload for like you know having to
32:41: manually verify um you know and review
32:44: the code and it's going to make it you
32:46: know where we can was more like rubber
32:48: stamp it. Uh and there still going to be
32:50: like a review but like at least like you
32:52: know the confidence this is not like
32:53: causing any breaking changes. So
32:57: there's bunch of things that are kind of
32:59: like being balanced and it's pretty high
33:01: up there but there's also like other
33:02: things that are high up there. Um you
33:05: know another thing like we can also be
33:06: like you know maybe it's going to be
33:08: more impactful if we do stuff like
33:09: collections for protofllex because
33:10: that's going to open up so many
33:12: possibilities for creators and they're
33:14: going to start building cool content. So
33:17: there's there's a lot and I do myself
33:20: want the IK to be like reworked,
33:24: but I kind like I also want the UI to be
33:26: like reworked. I like want so many
33:28: things at once and it is hard.
33:32: Um, next question
33:36: is from Abysmol.
33:39: Uh, Abyssmos asking, uh, are there any
33:42: plans or is it even possible to get rid
33:44: of the UI and frame rate lookup when
33:45: loading a new world? Is it possible to
33:47: separate UI rendering and your POV
33:49: camera movement into something like
33:51: SteamVR home overlay that isn't affected
33:53: by loading things? Um, so that's not
33:56: really with like the Steam VR overlay.
33:59: Um, you can't really separate that like
34:01: that. But um what we can do is like you
34:04: know do as much of the work as possible
34:06: on a separate thread and then just
34:07: switch to it. And there are some changes
34:09: I would like to make like to how the
34:11: worlds are being updated. So we can like
34:13: I don't know both run the world's
34:15: updates in parallel and also
34:19: um have them like you know like if the
34:22: world isn't currently focused and
34:23: rendering have the world be updated you
34:26: know asynchronously so it doesn't you
34:29: know it doesn't need to like log the
34:31: entire like frame rate and that will
34:33: help you know with like a lot of these
34:36: things because it can like process all
34:37: the world like in background and once
34:39: everything's ready and stable then it
34:41: like switches back into like you know
34:42: syn like sort of synchronous mode where
34:44: it can start like rendering stuff and
34:46: sending stuff to the renderer. So um
34:48: there are things that can definitely be
34:50: done.
34:53: Uh next question is from uh from Chu.
34:58: Uh let me make this bigger. Uh Choose
35:02: asking uh I know you talked about
35:06: looking for new rendering engine. Have
35:09: you sorry this is kind of big so I don't
35:11: know where to position it without
35:12: blocking the camera. Um
35:15: uh have you looked at ogre next at all?
35:19: Uh forward cluster van render target
35:21: cross perform rendering only and
35:23: embedible no force custom surface shader
35:25: language like filament major development
35:27: and already even stereostopic VR
35:29: rendering. Only thing I can see be
35:31: bottage or conser is that it's currently
35:32: open VR only. It doesn't have open XR
35:35: supported but it seems to have an
35:36: enterprise downstream consumer using it.
35:39: honestly impressive looking contracted
35:40: XR simulator work so it's not the
35:42: hobbyist only. So this sounds
35:45: interesting. Um we don't like really
35:47: like I haven't like really done super
35:49: much in depth like scouting for like
35:50: renderers yet. Um so it's possible like
35:55: like well like this seems like a good
35:57: like consideration. There's definitely
35:59: stuff like we would need to know is like
36:01: what is you know the what's the level of
36:04: like feature like feature parity because
36:07: you know we need we need stuff like even
36:09: like low level like you know lower level
36:11: like you know how does the lighting
36:13: system work like you know like does it
36:15: like can for example point lights have
36:17: shadows you know on them can direction
36:20: lights have shadows can does it support
36:22: reflection probes um stuff like that so
36:27: Open XR that's potentially like
36:29: concerned because like you know like
36:31: like what how how's it going to you know
36:35: are you planning to switch to it like is
36:37: there any active like work going towards
36:39: that um like you know that's that's
36:42: another one the other part would be you
36:44: know with the stability like having the
36:46: downstream client that's a that's a big
36:49: one but also like still there's a worry
36:52: what if the component just you know goes
36:53: under what if like they're not
36:55: interested what if they switch and the
36:56: project ends up being a bound Don't. Oh
36:58: my god. Thank you so much for the gifts
37:01: uh for the tiers. There's uh one, two,
37:04: three, four, five. Five gifted subs
37:06: subscriptions. Thank you. Thank you so
37:08: much.
37:10: Um but yeah, like going under render, uh
37:13: there's a bunch of considerations like
37:14: what I think I will do at some point. Um
37:17: we'll just compile the list of them be
37:19: like you these are the pros, these are
37:20: the cons. um you know because for
37:24: example one thing I'd be kind of curious
37:25: with this one is how much community
37:27: involvement there is. Is this like you
37:29: know like um this is very active like
37:32: with community or is this like mostly
37:34: driven by that one company? So we'll
37:38: see. But uh thank you like this is this
37:40: is good to have like you know kind of
37:41: more more considerations.
37:45: Uh
37:47: let's see. Uh I think we got two. I kind
37:51: of put things behind the camera so I
37:52: don't know. Um
37:55: yeah, there's two more questions after
37:56: this one from Discord. Uh so the next
37:59: one's from Mint Shock. Uh Mint Shock is
38:02: asking uh how is it handled if you drive
38:04: the value of dynamic variable from two
38:06: different places? How does decide what
38:08: uh drive takes priority? So it's not you
38:12: can't do that. One of the constraints of
38:15: drives is you can like there can only be
38:17: one drive for particle value. So like if
38:20: you try to drive uh if you try to drive
38:23: you know something that's already there
38:25: going to try to drive it either you know
38:28: trying to establish the drive will fail
38:31: or if you force it it's going to break
38:33: the other drive. So, but the constraint
38:36: is at any time there can only be one
38:39: driving source and if you force one in
38:42: it's going to break whatever the other
38:43: one is like it's going to like um
38:45: essentially undrive it. Um and it's the
38:48: constraint that like the data model
38:49: enforces. So,
38:52: uh there should be actually video I
38:54: don't know if it's published yet. Uh
38:56: there should be video on like you know
38:59: why this is um like why can you like
39:02: drive from multiple sources? I do
39:04: recommend giving them one more watch in
39:05: case it's published. I'll have to check.
39:08: Um the next question is from
39:14: Shadow X. Um
39:18: Shadow is asking, "What is the correct
39:20: terminology in your eyes to refer to
39:21: builds with the new architecture, split
39:23: builds, post splitending builds?" Um I
39:26: don't think we actually have like proper
39:27: terminology right now. I mean you can
39:29: just I I've been also saying like the
39:31: split thing it's kind of sort of meme
39:34: name to for it. Um
39:37: like like I would say like like I've
39:39: been calling them like graphical net
39:41: like builds. So maybe that but uh like I
39:45: don't think we have like a super like
39:46: specific terminology for them. I can
39:48: call them like you know spliting build
39:50: net graphical client like I think that
39:52: works.
39:56: Uh, and let's see. I think that's all of
39:58: them with this one being the last one
40:01: from Discord. Uh, so I'll be able to get
40:04: to the Twitch ones in a sec. Uh, BDS is
40:07: asking, "Now that pre-release has been
40:08: out for a bit, how are things going
40:10: compared to how expected? More issues
40:12: feel on align with expectations."
40:14: Um, I would say it's roughly kind of
40:17: expectations. like there's like things,
40:19: you know, like that aren't super
40:21: expected, but most of them kind of are
40:23: issues that like make sense for what has
40:26: been changed. Um,
40:29: I haven't seen any issues that would be
40:33: like curve balls, like big curve balls,
40:37: uh, that like where I'm like like that
40:39: just doesn't make any sense. Like why
40:41: would this be happening? Uh but there's
40:43: also like issues that even though like
40:44: they make sense, they end up like being
40:45: a little bit of a rabbit hole. Um for
40:49: some things so
40:52: like right now like not super much kind
40:55: of not super much stuff kind of stands
40:57: out. So like I feel like it's kind of
40:59: going like okay and kind of like sorting
41:03: through the issues. So
41:05: yeah, the thing is like you know it's
41:07: hard to have like expectations because
41:08: you don't know like what you're going to
41:10: get. Um,
41:14: but like there's like nothing that would
41:16: be like too surprising that I can like
41:19: think of.
41:21: I guess the the the one that like is
41:23: more complicated was the
41:26: uh Linux, you know, like not working
41:29: with Proton because there's like a lot
41:31: of like really weird issues with that
41:33: one that a lot of people had to kind of
41:35: like look into. Um, and that one that's
41:38: the one actually that Yeah, that one
41:40: that one feels like that's more
41:41: problematic than I thought it would be
41:43: because I thought like program would
41:44: just kind of handle things. Uh, but
41:47: there's a lot of kind of like
41:48: complications there. Fortunately, S has
41:50: been kind of like working on those and
41:52: like you know a lot of people in the
41:54: community have been kind of figuring how
41:55: to get it working. So, um, I think we'll
41:57: get that one sorted. Um but otherwise
42:01: like otherwise like things like one
42:03: thing that actually was kind of nice is
42:05: like um a lot of the reports that people
42:07: have made even though they were like
42:09: different reports and like different
42:10: kind of like seemingly different issues
42:13: they were actually the same bug. So I
42:15: would fix one bug and then be like okay
42:17: that's like that fixes five of these
42:19: issues and fix another bug and I'm like
42:21: oh this fixes four of these issues. Um,
42:25: so it's uh that's partly kind of nice
42:28: because like it makes it easier to clear
42:29: a bunch of issues, you know, at the same
42:31: time.
42:33: So with that, we've got all the Discord
42:36: questions out of the way. Uh, which
42:38: means we can get into the ones from the
42:42: uh from the Twitch chat. So again, if
42:44: you're like joining uh if you want to
42:46: there's a lot of questions, so I might
42:48: uh speed through some of these. Um,
42:52: actually, hold on. Let me let me check.
42:54: There's a bunch. Um, actually, there's
42:57: not that many so far. Uh, if you if you
43:00: want to ask any questions, um, do you
43:03: want to ask any questions, make sure to
43:05: put a question mark in it in the chat.
43:07: That way, it kind of pops on this thing
43:08: over here. Um, and you know, to make
43:11: sure I don't miss it because I don't
43:12: like I don't watch every single message
43:14: in the chat. Um, so let's get started.
43:18: So the first one, it's not a quite quite
43:20: question, but it's it's a good start.
43:23: Bitcoin saying, "Hey, hello."
43:28: Oh, and we got I think I missed this. Uh
43:30: we got a we got a spliting from Jack the
43:32: Fox. Thank you for the bits.
43:36: And we got the schnopit. Um
43:40: so and we also got a schnopit from the
43:42: redneo and also from ace on Twitch. No,
43:44: actually no, that's I misread that. the
43:46: type. Um, I actually started compiling
43:50: my schnoets.
43:52: I have a list now, so I don't have to
43:55: like, you know, think of something over
43:56: the top of my head. Um, I might pick
43:59: like a shorter one.
44:02: Um,
44:04: I
44:06: I'm going to pick a shorter one uh
44:08: because uh I've already spent like there
44:10: was a lot of Discord questions. there's
44:11: some like bigger questions. So I don't
44:14: want to like do a long schnuppet. Um so
44:18: one of my schnopets is when people
44:21: assume that something is done by design
44:24: like for example it's going to be some
44:26: undesirable behavior. There's going to
44:27: be some kind of bug you know or
44:30: something that just kind of works in a
44:31: really weird way and people be like you
44:33: know like those are like weird like
44:35: design decisions. Um,
44:38: and like to me that's kind of like like
44:41: a bit annoying because like not like
44:44: people sometimes like it's kind of like
44:46: assuming like we make things bad on
44:48: purpose and that's kind of weird. Um,
44:53: and a lot of things that like you know
44:55: are like weird like they're often times
44:57: they're not by design. They're you know
44:59: sort of consequences of like some other
45:02: things but like they were not designed
45:03: to be that way. um it's just you know
45:07: kind of how the dice has rolled on some
45:09: things you know it's like how things
45:10: kind of settle down or maybe it's some
45:12: bug or maybe it's a system that we
45:15: didn't have time to complete yet. Uh,
45:18: and this actually is one that kind of
45:20: happens a lot. It's like, you know,
45:21: where people kind of assume like it's
45:22: that way because it's been designed that
45:25: way. And a lot of the times it's
45:26: literally like we haven't had time to
45:29: like finish this part of the system yet
45:31: to actually make it like, you know, work
45:33: well and be polished and have all the
45:34: features it needs. So sometimes, you
45:37: know, there's stuff like like
45:38: workarounds where that you have to use
45:40: because, you know, we don't have time.
45:44: So if you're like seeing like something
45:46: weird unless we say it's by design
45:49: like
45:51: I would kind of ask you know people
45:53: don't assume it's by design
45:55: and if somebody says like you know it's
45:57: like weird design don't assume it is
46:00: like by design like you know like unless
46:02: we actually say that uh because it kind
46:05: of makes things a bit weird
46:08: and it kind of feels like you know being
46:09: like
46:12: like we're assuming like we make things
46:14: like you know about on purpose
46:17: and just going to
46:19: so that's that's that's that's my snit
46:21: for for for the stream. Uh I'm going to
46:24: cross it out from cross it out from
46:27: this. I have some big ones for some
46:29: other times. Uh oh my god. I don't know
46:32: where the strike through is. Where's the
46:34: strike through in this format
46:37: text strike through? There we go.
46:41: Uh we also got um
46:45: uh TyponX and we also got BD typonx 4net
46:48: 9. I'm just going to I'm going to
46:49: combine these two and I'm just going to
46:51: do it about net 9. Um
46:55: so typonex that's like you know this
46:57: like that's super cool about net 9. Hm.
47:01: I wonder what it would be.
47:05: Um, I have like one that I really like,
47:08: but it's not even specific to denied
47:10: because like I have like one about
47:12: spans.
47:14: You know what? I'm going to I'm going to
47:15: shoehorn it into this. It's kind of
47:17: related. Um, one of the cool things with
47:20: the spliting which is kind of related to
47:21: that nine is in C like while back they
47:26: introduced this called span. And what a
47:29: span does it lets you sort of it lets
47:32: you access like you know raw memory
47:35: without worrying where that memory
47:37: exists. And that memory can be you know
47:40: it can be managed memory you know
47:41: managed by the um common language
47:44: runtime. It can be native memory. It can
47:47: be shared memory
47:49: um you know like like that we like using
47:52: for the IPC mechanism. It just kind of
47:53: like you know abstracts it away and it's
47:56: super performant. Uh it also lets you
47:58: interpret that memory. So you can like
48:00: you know take this data type and
48:01: reinterpret as a different one and just
48:02: work with it as different data type and
48:05: it's super fast like if you if you know
48:07: like what you're doing with it. It's
48:09: also like hard to shoot yourself in the
48:10: foot with it the way it's designed. Um
48:13: so it's like it's pretty safe but also
48:15: very powerful like it it kind of lets
48:17: you do stuff that like you could do with
48:19: you know um raw pointers and like which
48:21: is like C and C++
48:23: but in a sort of safe way. And when I
48:27: designed you know photon dust uh the our
48:30: own like particle system I've designed
48:33: it in a way like because I knew like you
48:37: know I knew like we're going to do the
48:38: split thinning and the photon does this
48:41: in preparation for the split thinning.
48:42: set design where all the simulation
48:44: results like all the final states
48:46: they're actually held in just like you
48:48: know a raw chunk of memory like like a
48:51: like a buffer and for initial
48:53: implementation it was just a bite array
48:56: but all the modules all the simulator
48:59: modules were accessing that through
49:01: spans
49:02: and then for splitting I needed to move
49:05: it from like managed memory to the
49:06: shared memory. So like the simulation
49:09: results are actually accessible
49:10: overshared memory on the renderer side.
49:14: Uh and all I had to do is just like add
49:16: like the allocator that like allocates
49:19: you know the memory chunk to the system.
49:21: So it can be like I need like this many
49:23: bytes and it just adjust like you know
49:25: how the span is accessed and that's it.
49:28: and it just worked like it literally
49:30: just made it work across you know
49:33: separate process and I didn't have to
49:34: like modify like much of photon dust to
49:37: make it work. Um, and it's super cool
49:40: because like it like this was only
49:43: possible thanks to spans that like you
49:45: know most of the code like it doesn't
49:47: care it doesn't care that like the data
49:49: exists in share memory instead of like
49:51: you know C# array and that makes things
49:55: so much nicer and like you know we just
49:57: get like the performance benefit of the
49:59: dead 9 like you know without too much
50:01: hassle for that specific part. So, um I
50:05: would say that's this that's that's the
50:07: one I'm going to say for now. And it's
50:09: like that really expans like one of the
50:12: best features like from C.
50:16: Uh
50:18: next one here from uh Kra Blades is
50:21: asking hello yellow man. How are you
50:23: feeling today? I'm tired.
50:28: Uh think you're not working things. Next
50:32: one is from Asce on Twitch. As Twitch is
50:34: asking, do you see any future projects
50:36: bigger and more complex than performance
50:38: optimizations?
50:40: Um h
50:43: I'm not
50:45: kind of depends what you count because
50:47: uh the current performance optimizations
50:49: displaying it's been huge. It's been
50:51: like one of the biggest things but also
50:54: in part because of all the preparatory
50:56: work because we needed to do the type
50:58: system you know like so then moving the
51:00: headless to net 9 then we had to like
51:03: you know um had to like rework photon
51:05: does make our own particle system have
51:07: to make our own audio system and then
51:10: like you know only then like able to do
51:12: the actual splitening. So it had a lot
51:14: of like very complex preparatory work.
51:17: So if you if you take that whole that
51:20: probably has been like one of the most
51:22: like it has been the most complex like
51:24: engineering project like on the like on
51:26: this so far and right now I don't know
51:30: of any specific projects which would
51:32: have like you know a lot of big
51:35: predefined prerequisites like that. Um
51:37: there's a bunch of like you know big
51:39: tasks that are like ahead but um
51:44: I can't like immediately think of any
51:45: that would like involve because the the
51:47: the split to be able to get to split
51:49: ending we actually had to do bunch of
51:53: big projects that are big projects on
51:55: their own that have to be done as
51:56: prerequisites
51:58: and there's like projects in the future
52:00: that are also like big tasks but I don't
52:02: think many of them have like big
52:04: prerequisites
52:06: like this. So if you count like the
52:09: whole I don't I can't think of any but
52:12: like you know
52:14: things can change something can come up.
52:16: Uh but we'll we'll see how things go
52:21: like sometime something something will
52:23: eventually come up. Um
52:27: yeah, I can't think of like anything
52:29: right now. Like I do maybe one that's
52:33: going to be big one could be uh web
52:35: assembly support because there's a lot
52:37: of like you know in terms of API but
52:39: also like I don't think that would still
52:42: be like as big as this because like
52:44: that's also like you know it's a big
52:45: project on its own but it doesn't have
52:48: that many prerequisites to do.
52:52: Um, so yeah, we'll we'll we'll see if
52:54: something comes up. Like I don't see
52:56: projects that like as a whole would be
52:58: like this big, but there's some sort of
53:01: projects that like uh if you if you took
53:03: any individual part, there's definitely
53:04: projects that would be like
53:07: actually wait one would be probably the
53:10: render switch because making sure
53:14: there's like a lot of stuff with that
53:16: one. So like I do think the render
53:18: switch that might be a big one because
53:20: it does involve a lot of things like you
53:22: know it's like one figuring out which
53:25: render to use but then also like
53:26: bringing to feature parity making sure
53:29: stuff like works and then like all the
53:31: shaders will have to be pretty much
53:33: reworked. Um all the behaviors will have
53:36: to like make sure to be like reworked.
53:38: So it's like and then we have to like
53:40: you know build stuff like on that but
53:41: those can be like separate projects like
53:43: you know once we want to add like custom
53:44: shader support that's a project of its
53:47: own making sure you know this design to
53:49: be long-term stable um so there's a
53:53: bunch of things but also could be
53:54: conserved separate. So like um we'll see
53:58: we'll we'll see that
54:01: sometimes like you don't know like you
54:02: know how big some of these things are
54:04: until you actually get to them because
54:06: you know that's where you discover like
54:07: oh like and we need to do this I need to
54:09: do that and once you kind of start
54:11: taking it apart and seeing to things
54:12: like you know that's when you learn like
54:14: of some of the complexities kind of
54:16: involved.
54:18: Uh,
54:20: next question is from the Redneco. Uh,
54:22: Reo is asking, "Hey Fox, what's your
54:24: favorite book series?" Uh, for book
54:26: series, I would say the expanse, like
54:28: the all the nine books and like a bunch
54:31: of the novelas, especially the last
54:33: three books. Like those are like
54:35: excellent. It's like when stuff gets
54:36: like super alien. Um, we've also seen
54:39: the TV show. Like the TV show is
54:41: excellent. I recommend watching it. Uh,
54:43: and the books are also like great. Uh
54:45: there's some actually differences
54:46: between the books and the shows, but
54:48: like overall the story is the same. Um
54:51: and what I really like about that is
54:52: like it it feels very realistic like you
54:55: know it like it's sci-fi. Um but also
54:57: like stuff that happens feels like you
54:59: know this is potentially natural
55:01: progression you know of humanity like
55:04: you kind of like this kind of makes
55:05: sense. Like I can see this being real.
55:08: um you know you don't you don't like
55:13: you you don't like a lot of like scihfi
55:15: that tend to feel like you know very
55:20: I don't want to say like cartoonish
55:22: almost like you know it's like ships and
55:24: shooting lasers and so on but like
55:28: expans feels a lot more grounded but
55:31: then there's like but that's until like
55:33: you know some of the alien stuff starts
55:35: happening but even the alien stuff is
55:37: like proper for the alien like it makes
55:39: a lot of other series feel like you know
55:41: like that aliens like are just like
55:44: you know green humans with antennas
55:47: like because the stuff in expands is
55:49: like alien like on very fundamental
55:52: level and I don't want to say too much
55:53: because I don't want to spoil it but it
55:55: gets really weird but also in a way that
55:58: sort of kind of makes sense like we're
56:00: like like you know I can see this being
56:02: real. Um,
56:04: so that's that's that's that's a really
56:06: good series.
56:11: Uh, next question is from BLAR. Uh, on a
56:15: scale from Yep to all, how you feeling
56:18: about the progress on Spliting on
56:20: personal level? I'm feeling
56:24: I'm tired, but there's like still a
56:26: bunch of stuff to do, so chewing through
56:28: it.
56:32: Uh, next question is from Ace on Twitch.
56:34: Uh, how big of a performance impact do
56:36: you see Arizona getting after Beu gets
56:38: updated and multi-threaded? Um, as I
56:41: say, um, I think it's going to be a bit
56:44: it is also going to depend like a lot
56:46: like on specific world you're in. Uh,
56:48: because depending on the workload, you
56:50: know, there can be different amount of
56:52: workload being put on physics versus on,
56:55: you know, um, other stuff. So in worlds
56:59: like there's like lots of colliders,
57:00: lots of stuff kind of like you know
57:02: moving and so on that's defin
57:06: like you know stuff that's indirect like
57:08: like using beu's acceleration structures
57:11: for a bunch of things like we're using
57:12: them for dynamic bones that's using the
57:14: simulation itself is not using beu but
57:16: like to figure out where to figure out
57:18: like where the colliders are that's
57:21: using beu acceleration structure same
57:23: with spatial variables same you know
57:25: with like for example haptics and stuff
57:27: so if there's like improvements for that
57:29: in performance, you know, that can have
57:32: positive effects. But it's one of those
57:35: things is, you know, like until we do
57:38: it, it's kind of hard to speculate about
57:40: it because like these interactions tend
57:42: to be very complex. So, we'll we'll see.
57:46: Um, it's good to update it like anyways
57:48: because like it should provide
57:49: improvement like overall. It's also
57:51: going to, you know, there's like back
57:52: fixes in it and it's just good like in
57:54: general to be like be the latest
57:56: version. Um some of the like
57:58: improvements might not even be like you
57:59: know something that you would
58:01: necessarily notice because like for
58:02: example you know the effects stuff like
58:05: like if you have lots of rigid bodies
58:06: and also rigid body simulation um and
58:10: like you know that's something can't
58:11: really do like unless you use know the
58:13: character controller. So
58:16: um you know with those cases if we
58:19: didn't update Beu and like then we
58:20: implement the rigid body physics
58:23: that might be slower than if we do
58:26: upgrade. Uh but like we're probably
58:28: going to upgrade to beu like very very
58:31: likely going to upgrade beu physics
58:32: before we implement full rigid body. So
58:34: once we get rigid body you know that's
58:36: going to be faster than it would have
58:37: been otherwise because that's where a
58:39: lot of the improvements are. So there's
58:41: like no effects like that where it's
58:42: like you know good to have it upgraded.
58:44: So, um, but we'll see. We'll we'll we'll
58:48: see.
58:51: Um, oh, this is within discussion. Just
58:55: asking to share stuff. Uh, hello.
59:00: U Bubbler. Uh, which team member is
59:03: responsible for editing, uploading
59:04: resonance clips to YouTube channel? Uh,
59:06: that's me. Um, I usually do it because
59:09: like I know like you know what I talked
59:10: about and I kind of have like in my head
59:12: like, okay, this one's this one would
59:14: make a good clip. This one would make a
59:15: good clip. Um, it's actually it's also
59:18: very quick for me to just be like, you
59:19: know, I have the file on my PC already.
59:22: Um, let me make sure. Yeah, I have like
59:25: the file on my PC. Actually, let me
59:28: double check my dis space. Uh, I forgot
59:30: to do that at the beginning. Oh, wait.
59:33: Phone. Oh, I got 100 gigs free. So,
59:35: that's fine. Um yeah, like I I just I
59:38: just do it like very it's very quick to
59:40: do. So like um you know like it's one of
59:45: those things where people are like oh I
59:46: just like have like you know somebody on
59:47: the team to do it but then I have to
59:49: worry about like okay I need to make
59:50: sure they get the file. I need to tell
59:52: them this would make a good clip, this
59:53: would make a good clip. Um and in the
59:56: time like it takes to do all of that I
59:58: can just clip it out myself because like
01:00:00: it's literally I just find beginning and
01:00:02: clip out done. Um I don't do like any
01:00:06: complex or editing on those. Um so it's
01:00:10: just kind of easier that way. It's kind
01:00:12: of ends up like being faster. Um
01:00:17: and usually like you know uh what I was
01:00:21: going to say
01:00:23: yeah usually like I just kind of you
01:00:24: know clip it. Oh I remember. Um, one
01:00:26: thing that made it easier is like once I
01:00:28: started doing the thing where I pulled
01:00:29: these out like you know I can just
01:00:31: literally scrap the timeline and be like
01:00:33: okay like I pulled out I pulled out this
01:00:35: question beginning find like we know
01:00:37: where make it go away um you know click
01:00:41: there done it's very quick process
01:00:45: I also got a subscription from Moonbase
01:00:47: thank you and the one from BD we go
01:00:51: through that part but uh actually wait
01:00:52: there's a question first uh Moonbase
01:00:54: asking just for client Will molecule
01:00:56: also be usable in game for stuff like
01:00:58: asset versioning and stuff? Yes, that's
01:01:00: the plan. Um the general goal like with
01:01:03: anything is make systems that are very
01:01:06: very flexible, you know, that can be
01:01:08: used for lots of different stuff and gen
01:01:11: can be used you know by you the
01:01:12: community as well. Um so having them
01:01:15: having molecule
01:01:18: um it solves like you know certain set
01:01:20: of problems which is you know versioning
01:01:22: stuff like uh um compatibility you know
01:01:25: kind of like where you can do like minor
01:01:27: major versions you know breaking changes
01:01:29: versions resolving dependencies um when
01:01:32: it does all of that stuff you know
01:01:33: that's something that's not useful just
01:01:35: for us like for the engine itself but
01:01:37: it's also useful for stuff you build in
01:01:39: game so the way I want us to build it is
01:01:43: make So it can be used for all those all
01:01:45: those different scenarios. Once we have
01:01:47: protofllex you know nested nodes we need
01:01:49: like a package system you know so you
01:01:51: can like be like okay I need to version
01:01:52: I need to I need I need like you know my
01:01:54: protolex to reference package you know
01:01:57: this and that you know for doing this
01:01:58: and that of version this and then have
01:02:00: like a system that resolves it. Um
01:02:04: why not use molecule like we already
01:02:05: have like system that solves like a lot
01:02:07: of these problems use that and you know
01:02:10: we get we get like bigger bang for the
01:02:13: that like you know for the time we put
01:02:15: into it
01:02:17: and it's kind of you know the philosophy
01:02:19: of like my development and also video
01:02:22: thank you like I'm going to pull these
01:02:23: out
01:02:26: there's a lot of lot of gifted ones uh
01:02:30: make sure make sure you thank the BD the
01:02:32: underscore to view one of these.
01:02:38: Thank you.
01:02:40: Jup
01:02:45: uh look at the sort through these.
01:02:50: Oops, that's not the one.
01:02:55: Uh as on Twitch is asking um are you
01:02:57: excited for the help tab and it progress
01:02:59: so far? Yeah, it's looking pretty good.
01:03:01: like the team that they've been kind of
01:03:02: working on it for a while and
01:03:06: um
01:03:09: it's it's like you know like I think
01:03:10: it's going to help like a lot of people.
01:03:12: Um so it's like you know just having the
01:03:13: information accessible right on the tab.
01:03:15: We'll see how like people end up
01:03:17: interacting with it because you know
01:03:18: like
01:03:19: there's always part of the development
01:03:21: where like you know this should help
01:03:22: this should like work out this way but
01:03:23: then like you know another thing is how
01:03:24: do people actually interact with it. Uh
01:03:27: but overall I think it's going to help
01:03:28: because like it's also becomes a thing
01:03:30: you know we can direct people to but
01:03:32: even just having you know help on the
01:03:33: tab I think that's going to make it more
01:03:37: easy like easier for people to you know
01:03:40: just get help with stuff like they'll be
01:03:42: lost and they'll be like okay there's a
01:03:43: big question mark button you know I'm
01:03:45: going to click that and then it's going
01:03:46: to guide you through things uh so I
01:03:49: think overall that's going to be like
01:03:50: big help um and hopefully like you know
01:03:54: they'll kind of ease like people's like
01:03:55: on boarding
01:03:59: Uh, next question. I'm just going to
01:04:01: repeat again like the dark team have
01:04:02: been like doing really good job on it.
01:04:05: Um, next question is from uh Helix. Uh,
01:04:10: given that you are kind of just actually
01:04:12: making the M W
01:04:15: now way better than my Zuckerboard ever
01:04:18: could. Do you see a future where is
01:04:19: basically full VR based operating
01:04:21: system? I'd love to have a dedicated rig
01:04:24: just for Resonate like in Ready Player
01:04:26: One. I mean, that's kind of like part of
01:04:28: the the philosophy is, you know, like
01:04:29: Resonate kind of like operating system.
01:04:31: You can do anything in here. You know,
01:04:33: you can you can just socialize. But it's
01:04:35: more than just a socialization. You can
01:04:37: work. You can like, you know, have fun.
01:04:39: You can build things. You can use it for
01:04:41: your, you know, job. We can for it like
01:04:44: um say you want to build you like
01:04:46: producing music. Once we have like you
01:04:47: know the stuff for like like doing audio
01:04:50: DSP you can build your virtual music
01:04:51: studio invite friends over you know jam
01:04:54: together make music together once we
01:04:56: have in game like the vertex edit thing
01:04:58: you can do use it as a modeling tool and
01:05:00: you can use it as a collaborative one
01:05:02: too. Um there's going to be lots of
01:05:05: different things you know like if you're
01:05:06: a programmer you can make modules like
01:05:08: you know protoflux once you have web
01:05:10: assembly and web assembly and can help
01:05:12: empower other people like you know say
01:05:15: even with combination like with web
01:05:16: assembly maybe you make a module that
01:05:18: like is a super cool audio filter and
01:05:21: you know you publish it in workshop and
01:05:23: then like you know people who make music
01:05:25: or make sound effects they'll just be
01:05:26: like oh this is a cool filter and maybe
01:05:28: it's free maybe it's paid like you know
01:05:30: but they get it they put it into their
01:05:32: setup and start making music with it or
01:05:34: you make a module that like you know
01:05:35: does some mesh processing you know and
01:05:37: integrates with the mesh editing system
01:05:39: or you make some tools for that. Like
01:05:41: the goal is like you know to have like
01:05:42: this universe where
01:05:45: you can do almost like everything like
01:05:48: you know like from um you know if if
01:05:52: it's like casual like recreational or if
01:05:54: it's like work or learning things like
01:05:56: you know everything sort of like
01:05:58: integrated and inter interfaces with
01:06:00: each other. Um, and I think that like,
01:06:02: you know, it's like what can what makes
01:06:04: this platform like really powerful and
01:06:06: where like most of the potential kind of
01:06:08: lies and that's kind of like you know
01:06:10: where like we've been kind of pushing it
01:06:13: towards and there's still a lot of work
01:06:15: work to do it but um
01:06:18: like we we already see like a lot of
01:06:20: stuff kind of happening so I feel like
01:06:22: it's kind of on its natural way there
01:06:24: and the more stuff we add you know um I
01:06:28: think the more clear it's going to be
01:06:29: the more people you know that's what
01:06:30: that's the kind application we are
01:06:32: building. Um because I feel a lot of
01:06:35: times people kind of compare it you know
01:06:37: to stuff like VR chat and so on and
01:06:38: there's like overlap but also there's a
01:06:41: lot of stuff like we're doing like you
01:06:43: know that's not even the goal of these
01:06:45: other platforms. Um we're just focused
01:06:49: like you know purely mostly on the
01:06:51: socialization aspect. Uh but I feel
01:06:53: there's like so much more we can be
01:06:55: doing with VR and there's so much more
01:06:56: you can be doing with social spaces
01:06:59: because the way I see the social aspect
01:07:01: of you know this kind of software is
01:07:03: that it's just your is your base layer
01:07:05: and it's more like you know what do you
01:07:08: build on top of it what can you do with
01:07:10: that you know like it's just the social
01:07:12: layer is just existence you know it's
01:07:15: like it lets you exist with other people
01:07:17: and do stuff with other people and it's
01:07:19: like what kind of tools what kind of
01:07:21: like you know abilities we give you in
01:07:23: that space and how much power we give
01:07:26: you over the universe you exist in
01:07:28: because that's also another big part of
01:07:29: our philosophy is giving you as much
01:07:32: control over your experience over like
01:07:34: you know this virtual universe that you
01:07:36: exist in as you can have um
01:07:40: because like everybody wants like you
01:07:42: know has different goals everybody wants
01:07:43: to do something different but like we
01:07:45: feel like um you know the virtual
01:07:48: universe shouldn't be something that's
01:07:49: you know controlled by somebody else
01:07:51: somebody who controls you know like your
01:07:54: experience
01:07:56: and like you know what can you do in it
01:07:58: but it's something you
01:08:01: like you know you should control like
01:08:03: you should be in control of like your
01:08:06: virtual reality and your virtual
01:08:07: experience. So that's kind of like you
01:08:10: know where a lot of the stuff kind of
01:08:12: like you know comes together like it's
01:08:15: one of the reasons why we have like you
01:08:16: know the ability to just edit
01:08:18: everything. You can literally just edit
01:08:20: your avatar, edit the environment, edit
01:08:22: the world. You can change anything about
01:08:24: it. And that's part of like you know why
01:08:27: resonate and fusion is designed that way
01:08:29: is to give you that level of control
01:08:32: over your experience to make it like you
01:08:35: know a virtual universe that's like
01:08:37: malleable and under your control at
01:08:40: least like you know within your own kind
01:08:42: of like you know sessions and stuff like
01:08:44: like because if you like somebody else's
01:08:47: session you know that's their universe
01:08:48: and they kind of take control of that.
01:08:51: Uh but also like you know there's like
01:08:52: ways for those to kind of interact with
01:08:54: each other. So um yeah I can definitely
01:08:57: like you know see that like it kind of
01:08:59: goes like you know along with like our
01:09:00: vision for this and we generally are
01:09:03: very long-term focused on vision. Oh
01:09:07: thank you Kir for the subscription too.
01:09:11: Yeah. So
01:09:13: it goes along you know without
01:09:14: philosophy
01:09:19: um
01:09:22: PD is asking
01:09:26: um what was the cause of float fields
01:09:27: being broken on the inspector? Uh so the
01:09:31: reason for that was like um we're
01:09:33: essentially using reflection to kind of
01:09:35: access um you know fields and we have a
01:09:39: system that like you know if you have a
01:09:40: strct it deconstructs a strct and lets
01:09:43: you access individual elements of it in
01:09:45: sort of like a generic way. Um and the
01:09:48: problem is there's some like differences
01:09:50: in behavior between mono and uh you know
01:09:54: net 9 and for uh for nullable fields
01:09:58: they're essentially a strct which
01:09:59: contains a boolean and it contains the
01:10:02: actual value and the system we have you
01:10:05: know we will try to deconstruct that and
01:10:07: would try to access just the value which
01:10:09: works fine on mono but it wouldn't work
01:10:11: with net 9 like this is an illegal
01:10:14: access so I had to add like a system
01:10:16: that detects once it's nullable. Don't
01:10:18: try to deconstruct it into like you know
01:10:20: individual fields. Just like you know
01:10:22: there's a special handler now and that
01:10:25: fixed the thing there like a lot of the
01:10:28: bugs were like you know little things
01:10:29: like that versus like subtle differences
01:10:30: in some of the behaviors like um between
01:10:33: the run times.
01:10:36: Uh next question is from me.
01:10:42: um is open source something on uh
01:10:44: something your mind is open to at
01:10:45: someday uh when the time is right and
01:10:47: project is ready for it. There's a lot
01:10:49: of very capable engineers in the
01:10:50: community that would love to help and
01:10:52: there are some uh big open source games
01:10:55: now that run business on top of their
01:10:56: open source code bases. Most notable
01:10:59: would be also which is again gained a
01:11:00: lot of uh from it opensource community a
01:11:03: lot of baggage with that question. I'm
01:11:04: sure just curious if you could see
01:11:06: yourself going for that at some point.
01:11:08: There's actually a video on our YouTube
01:11:10: channel where we kind of like go in
01:11:12: depth into this question. Uh so I do
01:11:15: strongly recommend watching that one
01:11:16: because like I kind of ramble about it
01:11:18: for like I forget how long like 10 15
01:11:21: minutes uh however long. Um there's a
01:11:23: lot of considerations but is definitely
01:11:25: something that's on our mind and it's
01:11:26: something we want to do. The TLDDR of it
01:11:29: is like we definitely want to do it like
01:11:32: when we ready for it. Uh because there's
01:11:34: like you know lot of considerations like
01:11:36: one is you know how do we handle PRs? Uh
01:11:39: you know do we have like uh code
01:11:41: guidelines? to have like uh style
01:11:43: guidelines to have like no general
01:11:44: philosophy of how things are designed
01:11:46: which PRs we accept which we don't uh do
01:11:49: we have bandwidth for handling all the
01:11:50: PRs you know because we need to like uh
01:11:53: we need to make sure we maintain certain
01:11:55: code quality we need to make sure it
01:11:57: doesn't you know call like we don't
01:11:59: accept like stuff you know that would
01:12:00: cause us like long-term issues because
01:12:03: we often know worry about long-term
01:12:05: compatibility and long-term
01:12:06: maintenability so like we will have
01:12:08: certain requirements and it requires you
01:12:10: know putting documentation together um
01:12:14: you know and making sure we have like
01:12:15: guidelines so people know how to like do
01:12:17: things and then we also have the
01:12:18: bandwidth and the training for people
01:12:20: who are handling the PRs to actually you
01:12:23: know make sure like those things are
01:12:26: followed so I don't see us doing it um I
01:12:30: think the way like you know we're going
01:12:32: to approach it and actually we've kind
01:12:34: of already been kind of approach it like
01:12:35: a bit but is like you know sort of doing
01:12:38: gradually where we open source modules
01:12:41: And we're going to start with ones that
01:12:42: are like you know easier to handle that
01:12:44: like if if there's like you know some
01:12:46: kind of contribution that would have
01:12:47: like long-term impact like it it's very
01:12:50: very limited in scope stuff like you
01:12:52: know device drivers stuff like you know
01:12:54: importers and exporters because they
01:12:56: don't they don't like add new things to
01:12:59: data model which is like what needs to
01:13:01: have the long-term um long-term kind of
01:13:04: considerations.
01:13:06: Um but yeah like I I recommend watching
01:13:08: that video. Uh there's like b like we
01:13:10: kind of go like a bunch of details.
01:13:12: There's actually some parts like which
01:13:13: we where we already accept like
01:13:14: contributions. Um for example the go
01:13:17: go.zonai.com website where you can like
01:13:20: open like you know uh worlds that
01:13:23: actually has a bunch of community
01:13:24: contributions. Uh and that's like you
01:13:26: know one example like where we are kind
01:13:28: of accepting some and the community has
01:13:30: made some like really cool improvements.
01:13:32: So if I done a little bit and that's
01:13:35: kind of like you know probably do the
01:13:36: model we want to like focus but uh doing
01:13:38: more is definitely there's a lot of
01:13:40: considerations there.
01:13:44: Uh next questions from uh Lucas uh for
01:13:48: clarification uh I think Mant to ask
01:13:52: what happens when you have two dynamic
01:13:53: variable components with the same name
01:13:56: and drive both of them to the B
01:13:58: different values.
01:14:01: Oh, so it's like dynamic variable. Um,
01:14:04: they're going to clash.
01:14:07: Yeah. Like like super defined because
01:14:09: like they're essentially like
01:14:12: they're going to try to like when
01:14:14: whenever like one of them changes, it's
01:14:16: going to try to change the other, but it
01:14:18: might not be able to. So, it'll probably
01:14:20: just be like, you know, fighting for
01:14:23: whatever D value is.
01:14:27: Um, I would probably recommend not doing
01:14:29: that.
01:14:31: Uh, Jack the Fox author is asking, "You
01:14:33: mentioned that spatial variables were a
01:14:35: thing you've been waiting to do for a
01:14:36: while that you knew you wouldn't take
01:14:38: too long to implement, but with a
01:14:39: massive impact. Are there any other plan
01:14:42: systems similar to that that you've had
01:14:44: back into your mind for a while?" Uh,
01:14:46: there's a lot. Um, let me actually
01:14:51: thing is like there's often times like
01:14:52: so many of them that like I don't
01:14:53: actually it's hard for me to remember
01:14:55: from the top of my head. I need to look
01:14:59: um
01:15:01: I need to look at my
01:15:05: board.
01:15:07: So I have like a bunch like in the first
01:15:10: few good issues. Let's see.
01:15:14: Uh
01:15:17: let's see. Let's see. Let's see what
01:15:18: would be like a big one.
01:15:25: Well, it kind of also depends like how
01:15:27: how of a big one.
01:15:30: Um
01:15:32: H
01:15:40: I can't see like it would be like there
01:15:42: like big ones that got are going to have
01:15:44: impact. Um
01:15:49: big features that would have like a big
01:15:51: impact but not like a small
01:15:57: Yeah, I don't have like one on my list
01:15:58: that I would consider to be huge impact.
01:16:01: There's like one that like I wanted to
01:16:03: do is uh implement proper triangulation
01:16:06: algorithm for triangles because but
01:16:08: there's more of a foundational thing
01:16:10: where it's going to allow to implement
01:16:13: lots of you know new features that are
01:16:15: kind of hard right now but you know
01:16:17: that's not a direct impact um direct
01:16:20: impact. Um
01:16:23: h
01:16:29: yeah not um
01:16:32: yeah I don't know like from the top of
01:16:33: my head like especially combination like
01:16:35: where it would be like you know very
01:16:36: quick implementation and would have like
01:16:38: huge impact um
01:16:41: I would have to think and go through the
01:16:44: other issues for a bit like I don't
01:16:47: remember one from the actually one maybe
01:16:50: Um maybe like adding like simple support
01:16:54: for face tracking in desktop and adding
01:16:58: um adding like way to like you know sort
01:17:00: of like have to like pose your avatar
01:17:02: because like you could start using
01:17:05: Resonate for sort of like V tubing as a
01:17:07: sort of like V tubing tool. So I think
01:17:09: that could be one that like is not that
01:17:11: big of a work but could open up like you
01:17:13: know a use case that like you know you
01:17:16: can't really do easily right now but
01:17:17: that could have like opens a whole
01:17:20: category of like uses that is not
01:17:22: possible right now. So maybe that
01:17:31: uh
01:17:34: [Music]
01:17:35: next.
01:17:37: Thank you for the raid. Uh it's from uh
01:17:40: it's kind of hard to read.
01:17:42: Uh Koshard, thank you for the raid.
01:17:47: Uh next question is from Orion Moonclaw.
01:17:51: Uh Arian's asking, "I'm going to be
01:17:53: working on this next for my god renderer
01:17:55: TN." So, uh this should be helpful. Uh
01:18:00: could you give a quick overview of how
01:18:01: mesh uploads work post spliffening? Um
01:18:04: and it kind of works the same. It's just
01:18:07: going to proceed over like shared
01:18:08: memory. Um there's like two parts of it
01:18:11: like one is like the submission which
01:18:13: describes the structure of the mesh
01:18:15: which is like you know the vertx layout
01:18:17: format of index buffer and sub meshes
01:18:19: that are defined and then it's like a
01:18:21: big buffer of the actual data which
01:18:23: contains you know the vertex streams the
01:18:24: index buffer streams and blend shape
01:18:26: kind of streams. Uh that's kind of the
01:18:30: main thing. Uh and as part of the reason
01:18:33: like why the mesh upload was reworked is
01:18:35: so it can work over IPC very easily
01:18:38: where it just you know it submits like
01:18:42: all the data instead of like being tons
01:18:44: of tiny buffers and classes and so on.
01:18:46: It's submitted like you know as like
01:18:49: this bulk data that's just bite buffer
01:18:52: you know or now like shared memory
01:18:54: buffer and then like you know bit of
01:18:56: like information that's also just
01:18:57: collection of strikes that describes the
01:19:00: layout of it.
01:19:05: Uh next question is from Oz. Uh it's a
01:19:08: long one. Uh there are few renderable
01:19:11: components that are not implemented yet
01:19:12: but even in the base builds they have
01:19:14: some unity functionality that doesn't
01:19:16: work. For example crossfading with the
01:19:18: LOD component and blit to display
01:19:21: allowing another unit window will be
01:19:23: fixed with their implementation. I would
01:19:25: understand focusing just making it work
01:19:26: how it did before. Uh, depends if if the
01:19:29: fix is easy enough to do, like working,
01:19:31: it's probably going to get fixed. But if
01:19:33: it's like more involved, um, I'm
01:19:35: probably not going to like, you know,
01:19:36: fix it during the time just to kind of
01:19:38: keep it quicker. Um,
01:19:42: uh, the
01:19:44: crossfading, that's probably not going
01:19:45: to work at all because I don't think
01:19:47: that's a feature that's like fully
01:19:48: implemented that requires like shader
01:19:50: support like for it to actually
01:19:53: function.
01:19:57: Uh but yeah, usually usually depends,
01:19:58: you know, how complicated the fix is. If
01:20:00: it's something that can be done just by
01:20:02: reworking it, then usually I do it. But
01:20:04: um if it's bigger, then I usually just
01:20:06: keep it the way it is. Uh next question
01:20:09: is from dusty sprinkles. Someone might
01:20:11: have already asked this cuz I wasn't
01:20:14: watching chat, but about uh difficulties
01:20:16: knowing breaking points for new users.
01:20:17: Have you told more about adding metrics
01:20:19: collection to resonate? after might be
01:20:21: enough good will post splitting it could
01:20:23: be worthwhile but at the same time I
01:20:25: could see it being risky and understand
01:20:26: if you don't want to one of those tricky
01:20:29: things because like people like you know
01:20:30: one of the things is like we don't
01:20:32: really collect much data um it's just
01:20:34: kind of like you know very I pretty much
01:20:37: like don't collect like I depends how we
01:20:39: define the data like we don't collect
01:20:41: any like sort of metrics like that like
01:20:43: that's like user kind of specific or
01:20:45: user behavior um it's just you know
01:20:47: based stuff like for like account
01:20:50: um to make that work and I feel like
01:20:53: like we do that we probably need to be
01:20:55: like you know we're adding this we make
01:20:58: very clear what is this information is
01:21:00: being collected um and then like we give
01:21:03: people like probably option to opt out
01:21:05: because like
01:21:07: this one of those things where I don't
01:21:08: think optin really works well because
01:21:10: like people would just ignore it and not
01:21:12: not opt in and then we get you know
01:21:14: either very little and or you know very
01:21:17: skewed data which kind of like you know
01:21:20: makes it not that useful, but like if
01:21:22: you're like, "Okay, like we like this is
01:21:23: on by default, but like you have the
01:21:25: opportunity to turn it off right now."
01:21:27: Um maybe that'll work, but like we'll
01:21:30: we'll see. Uh right now we kind of like
01:21:32: rely on people like you know making
01:21:33: videos, talking about it like you know
01:21:35: watching people's streams and so on.
01:21:38: Um it will definitely kind of help like
01:21:40: in the future but also like you know how
01:21:41: much time do we want to spend
01:21:42: implementing those metrics because
01:21:44: making sure like you know we we need to
01:21:46: know what to track you know what
01:21:47: information is going to be useful um and
01:21:50: that's you know also non-trivial also
01:21:52: and we might not be able to spend too
01:21:54: much time on something like that.
01:22:00: Um
01:22:02: the bomb master is asking did the vague
01:22:04: thought of having resonate OS ever cross
01:22:06: your mind talked about before. I don't
01:22:08: know like what exactly would like you
01:22:10: know mean would it just be like a Linux
01:22:12: dro that's optimized forite like maybe
01:22:14: it could be interesting. I know some
01:22:15: people wanted to make something like
01:22:17: that but it's not something um at the
01:22:21: top.
01:22:24: Um next question is from shining hero
01:22:27: one. uh splitening grave party when when
01:22:30: it's done and maybe like after it
01:22:32: stabilizes a little bit too post
01:22:33: released. So like I'm not like so I can
01:22:36: actually visit it like you know while
01:22:38: not like fixing bugs.
01:22:43: I know there's like a bunch of people
01:22:44: who plan on one so I'm kind of you know
01:22:46: excited for those. Um
01:22:50: next question is from beauty_. Are you
01:22:52: planning any kind of event post
01:22:54: spliting? Something like the headless n
01:22:57: benchmark party. Um I don't think we
01:22:59: have like one official one right now. I
01:23:00: know a bunch of people are going to you
01:23:02: know run events.
01:23:06: Uh I'm probably going to like happen
01:23:08: something at some point, but right now
01:23:09: no specific plans and also again for a
01:23:12: subscription Kyob
01:23:17: uh
01:23:20: uh so um I don't think the Arena is
01:23:23: asking a thing but I don't know what
01:23:26: this is in context of. So if if you're
01:23:28: asking question that's like a followup,
01:23:30: please include the original context
01:23:32: because I I have I don't know what this
01:23:33: is about.
01:23:36: Uh the next question from uh are
01:23:41: material property blocks ever going to
01:23:42: be removed or are they still planned to
01:23:44: exist forever? Oops. Uh there's no plans
01:23:48: to remove them. Like I don't see why
01:23:50: would we remove them?
01:23:53: Like essentially everything like we add
01:23:55: like you know it's it kind of needs to
01:23:58: exist forever in some form because like
01:24:00: if we if it stops then we break content
01:24:02: that depends on it and maybe we can
01:24:04: convert to something else but you know
01:24:06: right now there's no plan for that for
01:24:08: for those.
01:24:12: Um, next question is from BD_. Uh, if
01:24:16: someone built an alternate open source
01:24:19: renderite protocol renderer that got you
01:24:21: away from Unity, would you consider
01:24:22: adopting that back end assuming the code
01:24:24: quality was up to your standards? Um, I
01:24:27: we might it kind of depends on a lot of
01:24:29: things, you know, like depends like what
01:24:30: licensing is, what feature, how is it
01:24:32: implemented, what is it using, uh how
01:24:35: can we, you know, kind of maintain it
01:24:37: ourselves, how can we add the features
01:24:38: we need in the future. So there's like a
01:24:40: lot of considerations for that. Um
01:24:44: it's I feel it's something like you know
01:24:46: it's just better like if we organize it
01:24:48: like you know as a sort of community
01:24:49: effort and we kind of like give some
01:24:51: kind of structure to it and some
01:24:52: resources. Um so I think it would be
01:24:56: kind of best way to go about it. Um
01:24:59: because I feel like like you know it's
01:25:00: just something to develop like without
01:25:02: that like it's much less likely to
01:25:04: actually align with what we need because
01:25:06: usually when we also develop things you
01:25:08: know they're not only developed to match
01:25:10: the feature parity of what we have right
01:25:12: now they are developed to allow for
01:25:14: future expansion you know of the things
01:25:17: we need to do in the future. But one
01:25:19: thing I noticed is a lot of people will
01:25:20: make things you know where it just
01:25:22: focuses just on that just on feature
01:25:24: parity and completely ignores you know
01:25:26: what happens afterwards and sometimes
01:25:29: that leads you know to making a design
01:25:31: decisions that sort of closed door you
01:25:33: know to some of those future expansions
01:25:35: and like even though like it would work
01:25:37: right now
01:25:39: it it will not make it usable in the
01:25:40: future and would have to be replaced by
01:25:42: something else um just to allow for the
01:25:44: stuff we need to do in the future. So,
01:25:48: it depends. There's a lot of factors to
01:25:49: it.
01:25:52: Uh,
01:25:56: and also the red. Oh, I already showed
01:25:57: that one. Oops. I grabbed the camera.
01:25:59: Sorry.
01:26:02: Grand is asking, "Shnit, you're late
01:26:06: with your schnopit." That's the
01:26:07: schnopedit. You missed the schnopedit.
01:26:11: Uh Grand is also asking uh how is the
01:26:14: splitending work on Linux going? Uh Syra
01:26:17: was working on that. Yeah, is working on
01:26:18: that. He's kind of figured out like
01:26:20: pretty much all the major things that
01:26:22: need to be done to make it work on
01:26:24: Linux. Uh so right now the the main
01:26:27: issue is you know making making the PRs
01:26:31: uh the code changes to actually do it
01:26:34: like officially. So is in progress. Um
01:26:39: uh hopefully like you know it's going to
01:26:40: be it's going to be ready soonish.
01:26:46: The next question is from the red neco
01:26:50: uh uh I sent my question about material
01:26:53: property blocks out of order. The big
01:26:54: one was uh uh there was a continent
01:27:01: was sent before the initial question but
01:27:03: the LDR the initial three texture
01:27:05: propert were added a long while ago with
01:27:07: extra ones added. I was wondering if we
01:27:09: swap to different render since there
01:27:11: never been any
01:27:13: um any more of powerful ones added
01:27:15: texture color would it just convert back
01:27:17: to regular material if said render
01:27:19: doesn't have material port support. Um,
01:27:22: I don't think that's likely because like
01:27:23: the point of material property blocks is
01:27:25: they allow for very efficient like you
01:27:29: know rendering a lot of things that
01:27:30: share the same base material. Um, but
01:27:34: like you know very like one of the few
01:27:36: parameters um and often times like you
01:27:38: know that's done is like you know like
01:27:40: it needs shader support. The shader
01:27:42: needs to be made so for a certain
01:27:44: property instead of like you know that
01:27:46: just being singular property it
01:27:47: actuallyes it from an array. Um, and
01:27:50: that like makes it like super super
01:27:52: efficient. Um,
01:27:55: and like even though like you know
01:27:56: different renderers might not have
01:27:58: exactly like material blocks, the same
01:28:00: principle still applies you know where
01:28:01: you have a shader which accesses certain
01:28:04: properties from an array like you know
01:28:06: that's kind of prefilled uh in like a
01:28:08: lot more efficient manner than like you
01:28:10: know just having separate material that
01:28:12: copies all of the properties you know
01:28:14: for each one. Um, and the whole point is
01:28:17: like, you know, we can use it to render
01:28:18: stuff like bashed and we can use it to
01:28:20: render stuff like with instancing.
01:28:22: Um, so I don't think like we would
01:28:25: remove it like it would like at at most
01:28:28: it would like be
01:28:31: um
01:28:34: like um
01:28:37: at most like it would essentially get
01:28:38: like transformed into like some
01:28:40: alternate but compatible mechanism. But
01:28:42: like they're they're like a I feel like
01:28:45: a okay like abstraction for this. So I
01:28:49: don't see them going away like not not
01:28:51: not like fully like at most like you
01:28:53: know transforming into like maybe some
01:28:55: something like similar but uh I don't
01:28:58: think they'll go away. That will
01:29:00: actually make like you know all of the
01:29:01: rendering like very inefficient.
01:29:06: Uh,
01:29:11: Grand is asking, "Did you know that your
01:29:13: long neck works at uh times?" Yes, one
01:29:15: of the reasons I want to like go I want
01:29:17: to work on the K just to make it like
01:29:19: look better and behave better like it's
01:29:22: you know making stretchy. Um
01:29:26: it's um
01:29:30: it's one of my like it's one of those
01:29:31: things I would want to work on like you
01:29:33: know was one of the reasons but focus on
01:29:37: what I can focus
01:29:43: um next questions from y def tool to
01:29:47: asking how does creator jam public work
01:29:50: do they just get unlimited cloud storage
01:29:52: uh they don't have unlimited cloud cloud
01:29:54: storage. They do have quite a bit. Uh I
01:29:56: think uh they actually are one of the
01:29:58: patron supporters or like uh stripes. I
01:30:01: think I don't know if they switched to
01:30:02: stripe yet or no. Um but they do like
01:30:05: support. They get bunch of storage. Um
01:30:08: we did like give them like some um like
01:30:10: I don't actually remember. I don't want
01:30:12: to like say like
01:30:14: I think we gave them like some for like
01:30:16: some of the uh stuff because like of the
01:30:18: stuff like they're doing for the
01:30:19: platform because it's like pretty much
01:30:21: the biggest like longunning thing that's
01:30:23: like has like over like benefit to the
01:30:25: platform. um but I don't remember
01:30:30: details but they also like support the
01:30:32: platform so they could get a bunch of
01:30:34: storage from that
01:30:37: and also like things sometimes like they
01:30:39: don't take as much as you would think
01:30:42: but um yeah
01:30:47: uh Nico's asking I forgot what was your
01:30:49: favorite book series my brain on
01:30:51: accident uh it was the expans uh I do
01:30:54: recommend like watching the video
01:30:55: afterwards like you know if you the the
01:30:57: whole answer because I I don't want to
01:30:59: spend time repeating it.
01:31:03: Uh
01:31:04: G is asking could duplicate component
01:31:06: flux nodes be made similar to slow
01:31:08: duplicate nodes. Is there anything
01:31:10: inherent components that mean is hard to
01:31:12: do? I mean
01:31:15: depends what you're wanting to do. Like
01:31:17: you could just duplicate a component.
01:31:19: There's like mechanisms for that but
01:31:21: also like you know components aren't the
01:31:22: same as slots. So it kind of depends.
01:31:26: It depends what you're doing. So like
01:31:28: it's like you know like if it's just
01:31:29: duplicating singular component then um
01:31:33: that can be done.
01:31:39: Uh next questions from Dusty Sprinkles.
01:31:41: Speaking about storage being given have
01:31:43: you thought about bringing back doing
01:31:45: more storage awards? Uh we might do more
01:31:47: in the future. usually like you know we
01:31:49: need to figure out like what does make
01:31:51: sense business-wise because um
01:31:54: we don't want to like you know end up
01:31:57: like losing like money on things like
01:31:59: overall because if we like end up like
01:32:01: doing that too much that hurts our
01:32:03: ability to like run the project and you
01:32:05: know pay the people on the theme and pay
01:32:07: for the service. So it depends but um
01:32:12: um like it's not over the table.
01:32:18: Deno is asking uh also on metrics I'd
01:32:21: love to see the split on headset usage.
01:32:23: I honestly feel it's like 90% meta index
01:32:26: on here. I don't really know. We don't
01:32:27: have like those metrics but you can look
01:32:29: at the statistics that Valve gets
01:32:31: because they do collect a bunch of stuff
01:32:32: and they are pretty representative. I
01:32:35: don't know how how is it like you know
01:32:36: on the resite
01:32:41: uh Koborus asking uh with the splitting
01:32:45: would it be possible for Resonate to
01:32:47: process next frame update while Unity is
01:32:48: still rendering the current one? um that
01:32:51: already kind of happens like Unity uh
01:32:54: like what Unity does like when it
01:32:56: renders it actually like generates a
01:32:58: bunch of jobs and then it like will run
01:33:00: stuff like earlier but also like it's a
01:33:02: little bit tricky to do fully because
01:33:04: like to start the next frame you need to
01:33:07: like you know get stuff like for example
01:33:09: inputs um you know to like you know new
01:33:12: user position like whatever like is
01:33:14: being pressed and it also comes from
01:33:16: Unity so
01:33:18: um you know you can't really
01:33:22: do that without like finishing a bunch
01:33:24: of the work for the frame. But there's
01:33:25: like some stuff that's spiral like once
01:33:27: the um
01:33:30: once like the stuff is like sub method
01:33:32: like Unity does like some stuff that's
01:33:33: like been rendered and it's also like
01:33:34: processing some of the stuff. So like
01:33:36: there's some pipelining um but
01:33:39: ultimately like you know you cannot do
01:33:40: it fully. It's also like the other part
01:33:42: is like you know if you just do it
01:33:44: because the question is at which at what
01:33:46: point do you stop? Um, let me actually
01:33:49: grab my brush because I can draw like a
01:33:52: little timeline to demonstrate the
01:33:55: issue. Um,
01:33:57: where is it? Where's the brush?
01:34:01: Uh, tools.
01:34:06: There's like because there's like one
01:34:07: major problem also with that which is
01:34:09: like if you do that um
01:34:13: you
01:34:14: um
01:34:18: let's see
01:34:21: where's the brush I'm blind.
01:34:25: Oh, there it is. Um is this going to be
01:34:28: visible or this might be poor contrast
01:34:30: with this world. Um let me try a
01:34:34: different one.
01:34:37: Maybe the blue one.
01:34:39: Is this visible? That's kind of visible.
01:34:42: I think that's okay. Um, so imagine like
01:34:46: you know like your timeline.
01:34:49: I'm going to
01:34:51: So imagine like you know have a timeline
01:34:53: you're kind of like you know you're
01:34:54: rendering a frame
01:34:57: and say this is a resonate update. and
01:35:00: it happens and then unit starts
01:35:02: rendering a frame and say like it takes
01:35:04: this long to render a frame. If you just
01:35:06: start the new frame right away, you
01:35:09: might you know finish the frame before
01:35:11: unit is even done and what do you do
01:35:13: now? This has to wait. This has to be
01:35:15: rendered here and now you start like you
01:35:18: know doing another frame and but this
01:35:21: one you know unit is rendering. So this
01:35:23: will need to go here and now you start
01:35:26: another frame and now like and the
01:35:28: longer you go the more behind you get
01:35:30: and the more memory just gets
01:35:31: accumulated you know for all these
01:35:33: frames. Um so like you know you can't do
01:35:36: it like you know you cannot just like
01:35:38: keep like generating frames from the
01:35:40: engine and like submitting to Unity
01:35:42: because if the unit is taking you know
01:35:45: too long um now it's like
01:35:49: now like you essentially end up with
01:35:50: frame accumulation and you keep like
01:35:52: lagging more and more behind and you
01:35:54: like increase the latency. So let's
01:35:57: consider a scenario where it doesn't
01:35:58: take unity that long. say like for
01:36:00: engine takes frame to compute um and
01:36:03: then like you know this starts rendering
01:36:05: the frame and then like you know for
01:36:08: extension does another frame. This is
01:36:10: like a much better kind of scenario
01:36:12: because like you know it can start doing
01:36:15: stuff but it has like another problem
01:36:17: which is then when you when you actually
01:36:20: when you see this frame like this is the
01:36:23: point where you see this frame. Um the
01:36:27: latency is actually higher or
01:36:29: potentially higher than like you know uh
01:36:31: from it like being presented than uh if
01:36:35: it was like you know done like this way
01:36:39: because this way like you get like you
01:36:40: know fresher fresher data.
01:36:43: Um but
01:36:48: this like you know what you're saying
01:36:49: here this is already kind of a little
01:36:51: bit like what happens because like it is
01:36:53: like pipelined a bit. Uh the thing is
01:36:56: like you know it kind of has to wait for
01:36:57: it. So like if you if you had it like
01:36:58: with the other scenario
01:37:00: um if you had it with the other scenario
01:37:05: um say so this is like for extension
01:37:08: updates the frame and then like unit it
01:37:10: takes a while to render
01:37:15: you know like you might start like maybe
01:37:17: unit is like doing the rendering but
01:37:19: like once it kind of processed enough
01:37:20: stuff it can start another frame while
01:37:23: it's still finishing the render so it
01:37:24: does the compute. So like you know
01:37:26: there's like a little bit of an overlap
01:37:28: between them and it kind of helps like
01:37:31: um it makes you know things like a
01:37:34: little bit better but it is a tricky
01:37:36: issue because like you want these to be
01:37:38: somewhat in sync because in order to
01:37:41: begin a new frame you need like data
01:37:43: from Unity and the data might only be
01:37:45: available like here for whatever like
01:37:47: you know input like you get. Um, so
01:37:51: there's like you want to like through
01:37:52: some pipelining, but there also like
01:37:54: limit on like how much you can actually
01:37:55: do it.
01:38:02: Um,
01:38:04: next question is,
01:38:11: uh, next question is from Kioru. Um,
01:38:16: Kenduk is asking Joe question. Are you
01:38:19: in favor of creating the torment nexus?
01:38:23: No. No. Not. Actually, I'm surprised
01:38:26: like nobody has made it as a joke world
01:38:28: like where they like created the torment
01:38:29: nexus from the book. Don't create the
01:38:32: torment nexus.
01:38:34: Somebody should make the Torment Nexus
01:38:35: on here.
01:38:38: Make it make it happen.
01:38:41: Um, as Twitch is asking, uh, which
01:38:44: current split thing or implementation
01:38:45: task do you see being the most complex
01:38:47: to do? Um, let me actually look at the
01:38:51: list again so I see what's on there. Uh,
01:38:55: the splittening.
01:38:57: So, I posted a link earlier. Uh, if
01:39:00: you're like interested or if you missed,
01:39:01: I'm just going to post it again. Uh, so
01:39:05: this is the board I'm like looking at
01:39:06: where you can see all the spliting
01:39:08: tasks.
01:39:09: Um,
01:39:11: so there's a bunch. There's gions plus
01:39:14: those should be relatively quick. The
01:39:15: script texture is going to be quickish.
01:39:18: BL display should be quick. All the GS
01:39:20: shouldn't be too long. Um, transform
01:39:24: render material override. I don't think
01:39:26: it's going to so maybe render transform
01:39:28: material override if I end up like
01:39:30: reworking how it works. Uh I'm probably
01:39:33: going to just like repeat the
01:39:34: implementation but because then I can
01:39:36: use like bits of it but I might need to
01:39:39: like depending on what kind of issues we
01:39:40: get uh it might need to change a bit.
01:39:44: Game pass fine touch fine and then the
01:39:47: video texture support that's uh I would
01:39:52: say probably that one's going to be the
01:39:53: most complex one of the ones that are
01:39:55: remaining
01:39:56: uh because there's like a few things
01:39:58: with videos uh that's kind of like bit
01:40:00: special. Uh one of them is they kind of
01:40:02: need to sync up the time. So like it
01:40:04: actually the system needs to proxy the
01:40:06: current playback time uh in a way like
01:40:09: you know it's able to handle like you
01:40:10: know all the timing differences between
01:40:12: the processes and also it needs to proxy
01:40:14: bug the audio and there's like few
01:40:16: approaches um that I'm thinking of
01:40:18: taking with it. Uh I'm not sure which
01:40:20: one yet. One of the approaches could be
01:40:22: you know lally just um there's a fixed
01:40:24: buffer. uh there's an event that gets
01:40:27: pushed to the render. It fills the audio
01:40:29: buffers and then proxies event back. But
01:40:31: there requires you know control to go
01:40:33: from one process to another which like
01:40:35: is not might not be fast enough. Uh the
01:40:38: other approach is that the renderer is
01:40:40: literally just going to like going to be
01:40:42: shared memory buffer and the renderer is
01:40:45: just going to be like the moment it gets
01:40:46: audio data it just pushes it in as fast
01:40:49: as it can. The other side is also going
01:40:50: to be just reading the data as fast as
01:40:52: as fast as it can. So like it's going to
01:40:54: be trying to just you know boom pump the
01:40:57: data like the audio data as fast you
01:40:59: know as possible but it also requires
01:41:01: you know managing shared memory buffers
01:41:04: for every single video that's loaded in
01:41:05: the scene. So there's like you know
01:41:08: complexities with that and it's like
01:41:09: it's doable. It's just like you know
01:41:11: requires a bit of work. Uh so I think
01:41:13: that one's probably going to be the
01:41:15: biggest one out of the remaining ones
01:41:17: and I've been kind of like saving it for
01:41:18: later. Um,
01:41:21: another implementation of VR support. I
01:41:23: don't think this one's going to be a big
01:41:24: one. That's just proxying a bunch of
01:41:25: data, but there's a bunch of data to
01:41:27: proxy. So, it just might take a bit of
01:41:29: time to like make like make models for
01:41:31: all of them and write code to proxy all
01:41:34: of them. Um, but I don't think the one's
01:41:37: going to be as big like the videos. I
01:41:39: think the videos are going to be like
01:41:40: the biggest one.
01:41:44: Uh, next question is from Ozie. Uh is
01:41:47: asking I recently realized we can mess
01:41:49: with the GC settings on the user end in
01:41:51: the pre-release and there is open issue
01:41:53: uh you made about it too. Uh so what GC
01:41:56: settings would need tuning what could be
01:41:58: adjusted to improve resisting workflow
01:42:01: when it comes to both playing and
01:42:02: creating things. I mean that's kind of
01:42:05: point of the issue is like you know be
01:42:06: like mess with it and like see how do
01:42:09: things feel with each of the settings.
01:42:11: How do how does it behave? What is the
01:42:12: performance like? Um right now I don't
01:42:15: know but that's why why the issue is
01:42:17: there. So I remember that like this
01:42:19: needs to be messed with and you know we
01:42:21: need to figure out like should it be
01:42:23: tuned are like settings that like you
01:42:25: know behave better. Um
01:42:28: so answering that question that's you
01:42:30: know part of like why the issue exists.
01:42:35: Uh there oh also you're bean and also
01:42:39: Mr. Fugs. Thank you or
01:42:46: next question. As I'm just checking on
01:42:48: time, we've got about 15 minutes left.
01:42:50: So, depending on how many more questions
01:42:52: there are, um
01:42:56: how many more questions there are, like
01:42:57: I think I should be able to get through
01:42:58: of these, but if there's like any
01:43:00: long-winded questions, I might not be
01:43:02: able to answer them, but feel free to
01:43:03: still ask them. If I don't get to them,
01:43:06: um, we'll pump them like, you know, for
01:43:09: the next one. Uh, next questions from,
01:43:13: uh, Dis Majir. Uh, I'm sorry, I don't
01:43:17: know how to pronounce it. Uh, how do I
01:43:18: convince my friends from competing
01:43:20: platforms to all make the move to
01:43:22: Resonite? Um, so maybe like at this
01:43:25: point, I would just wait for the
01:43:26: splitting to be done like and use that
01:43:28: as an excuse. And one of the ways I've
01:43:30: seen people do it is they sort of
01:43:32: organize like, you know, field trips.
01:43:35: It's like, you know, like you go as a
01:43:36: group, you explore, you mess around, you
01:43:38: know, you make like a whole like fun
01:43:40: event out of it. Um, and we just make it
01:43:43: like, you know, it's almost like, you
01:43:45: know, going on a field trip to a
01:43:46: different city for a bit, like, you
01:43:47: know, where things are going to be
01:43:49: different and unknown and unfamiliar,
01:43:51: but you're like, you know, exploring and
01:43:53: seeing things. So
01:43:56: uh and growing as a group like you know
01:43:57: I feel it kind of makes it a lot more
01:43:58: fun too. So that could be a good way. I
01:44:01: know there's actually people on here who
01:44:03: don't really you know play competing
01:44:05: platforms but they also organized field
01:44:07: trips you know where they just have a
01:44:09: whole fun event and then they will like
01:44:11: you know kind of talk about it and like
01:44:12: you know share things. So that could be
01:44:15: a potentially interesting approach.
01:44:20: Uh next qu oh no it's a huge question
01:44:22: and make it a make it a huge
01:44:26: uh redneck asking uh I move my chin uh a
01:44:31: huge question if someone somehow manages
01:44:33: to get different render the turns better
01:44:34: up this question which reporative with
01:44:37: how we are with unity post sping would
01:44:39: you consider using it all as your code
01:44:40: was made this literally the same
01:44:42: question that was asked earlier
01:44:46: uh just just watch the watch the clip
01:44:50: Um we don't have like too much time so I
01:44:52: want to like in general I don't want to
01:44:54: like repeat things um just to give more
01:44:57: space for like the other questions
01:44:58: because you can always rewind or watch
01:45:00: the uh watch the like recording of this.
01:45:03: Uh next question is from uh Coso
01:45:07: maybe a newbie question. Is there a way
01:45:10: to see where all your chlores is in
01:45:12: something like wiser? Uh so there's um
01:45:15: there's a command you can send. It's not
01:45:17: super user friendly right now
01:45:18: unfortunately, but there's a command
01:45:20: like where you can request the usage
01:45:22: JSON and there you can see a JSON file
01:45:24: and there's a community made tool where
01:45:26: you can load it up and actually shows
01:45:28: you like a graph of all your like assets
01:45:30: and like where a lot of them are kind of
01:45:31: like allocated. Uh we also make like
01:45:34: kind of some tools that make it easier
01:45:37: uh you know just by default like to like
01:45:40: see this is how much storage is being
01:45:42: taken by different things but like
01:45:43: that's like yet to be implemented.
01:45:48: Um
01:45:50: so next question is from BD how
01:45:53: difficult would it be uh how difficult
01:45:55: will the Eldrich procedural texture to
01:45:57: be implemented
01:46:00: net 666
01:46:02: you see the Eldrich texture it doesn't
01:46:04: get implemented it just manifests itself
01:46:11: oh there's a cloud right here.
01:46:15: Oh, that's my hat. There's a cloud.
01:46:20: Here
01:46:25: just flew by. Um, next question is from
01:46:28: Grand UK. Uh, at what point in the
01:46:31: splitting pre-release testing would VR
01:46:33: support be added? um once I get to it,
01:46:36: I've been kind of like working on things
01:46:38: depending on the energy level and like
01:46:40: what's kind of like um quickest to do in
01:46:42: some cases um because sometimes like you
01:46:45: know I don't have like I'm kind of tired
01:46:48: like so like I work on like more like
01:46:51: hang lower hanging fruit issues. Uh
01:46:54: right now I'm I'm kind of focusing more
01:46:56: on the stuff like uh
01:47:00: you know like bug fixing like making
01:47:02: sure like it's kind of stable because it
01:47:03: kind of makes it a little bit it it
01:47:05: discovers like it helps discover some of
01:47:07: the bugs so I can make sure that like
01:47:10: you know when I'm implementing more
01:47:11: things those bugs don't end up you know
01:47:15: being put into those as well. um because
01:47:18: some of them like you know bugs like
01:47:19: with how fundamental things are kind of
01:47:20: like proxied and some of the issues
01:47:22: there which is like one of the reasons I
01:47:23: wanted to start testing early so um I
01:47:26: don't know yet like I'll I'll see I kind
01:47:28: of want to try it on VR like soon but
01:47:30: also like you know I usually prioritize
01:47:33: things on combination of factor like one
01:47:35: of them is like energy level another one
01:47:36: is like what I feel is going to be most
01:47:38: beneficial right now for the testing
01:47:41: purposes like so it's more like you know
01:47:44: what is most efficient And
01:47:50: um Jose is asking, "How do you feel if I
01:47:53: cursed you with the knowledge that
01:47:54: everyone's hips, including yours, are
01:47:56: not smooth in full body currently?"
01:47:58: Yeah, I think there's like some issues
01:47:59: with it, but I haven't looked into it.
01:48:02: Um,
01:48:04: is asking where is this tool? I don't
01:48:07: know the context of that. If you're
01:48:08: asking questions, please include
01:48:10: context. Um
01:48:14: next questions from uh D Nico. Uh
01:48:19: answer with yes no or maybe as you will
01:48:21: have looked into it more but since you
01:48:22: already making proxy system for syncing
01:48:24: up the audio and video of videos could
01:48:27: possibly lead to using the pain that is
01:48:31: higher quality YouTube videos. Plus I
01:48:34: heard anything above uh 360
01:48:37: 360p audio video split into two files
01:48:40: and container file. No, that's unrelated
01:48:42: to that. Um that's that has to do with
01:48:45: the play video playback engine. The
01:48:48: stuff I need to do for the video
01:48:50: playback is taking the audio from the
01:48:52: playback engine and proxing to proxying
01:48:55: to the main process so it can actually
01:48:57: mix it and play it back. And that's it's
01:49:00: completely separate thing unfortunately.
01:49:04: Uh check the fox authors asking is there
01:49:07: anything that surprised you while
01:49:09: working on the spliting like some system
01:49:11: working much better than expected or
01:49:13: indirect interaction performance again
01:49:14: you didn't expect I'll say the loading
01:49:16: process is one like I mean I kind of
01:49:18: knew it's going to be better because
01:49:19: like I kind of changed the architecture
01:49:21: of it uh because that actually kind of
01:49:23: goes you know with like um was talking
01:49:25: about earlier uh with like you know the
01:49:27: timelining and pipelining of stuff when
01:49:30: engine is running its updates
01:49:32: Unity like before Unity was the one you
01:49:35: know running the updates and I still
01:49:36: have my brush. I deleted the brush I
01:49:39: think. Um
01:49:42: fortunately still have the folder open.
01:49:44: So
01:49:46: you know we have a timeline
01:49:48: and uh what happens is you know what
01:49:51: happened before is FRS like everything
01:49:54: was running in Unity. So Unity would run
01:49:56: frux engine updates and then it would
01:49:59: actually run asset updates and then it
01:50:02: would render a new frame and you know
01:50:04: and then and at that point where's this
01:50:08: there we go and at that point you got a
01:50:10: new frame and then it would start the
01:50:11: whole process again and these things
01:50:13: like you know happened in sequence.
01:50:17: What happens now because they're
01:50:18: actually separate processes is Fergus
01:50:22: engine is running you know its updates
01:50:26: and while it's doing that Unity is
01:50:28: actually running asset uploads for the
01:50:31: whole time and then when it gets the
01:50:33: frame it just you know integrates the
01:50:34: frame and then renders the frame and the
01:50:37: F extension is actually also doing stuff
01:50:40: you know um anything that doesn't like
01:50:43: involve the renderer and then it like
01:50:44: waits until unit is like ready that it
01:50:46: has new frame And then FX starts doing
01:50:48: new frame
01:50:50: while unit is doing more asset uploads
01:50:53: the whole time instead of just you know
01:50:54: idling and doing nothing. Uh and then
01:50:57: like you know unit like integrates the
01:50:59: frame renders the frame you know and it
01:51:01: just kind of continues this kind of
01:51:03: cycle. So I knew like that's going to be
01:51:05: efficient but just by how much more
01:51:07: efficient um I didn't expect you know
01:51:10: that kind of a difference. Uh so that
01:51:13: was like very happy with uh and what's
01:51:15: even cooler is godly he's actually
01:51:18: looked into this and it seems it's not
01:51:20: even using HTTP2 or three yet it's still
01:51:22: using HTTP1 so and he's made part that
01:51:26: like um s going to search out uh but
01:51:29: it's probably going to be merged soon
01:51:30: probably tomorrow um where he actually
01:51:34: makes it use HTTP2 or HTTP3 for the
01:51:36: cloud communication and for asset
01:51:38: downloads and that should help even more
01:51:40: with the download speeds like when you
01:51:42: load worlds, especially if you're like
01:51:43: further away and have like higher
01:51:44: latency. So, there's even more
01:51:47: performance gains to be gained.
01:51:51: Oops, I'm grabbing the brush. I'm going
01:51:53: to keep it around.
01:51:55: Um,
01:51:57: next question.
01:52:00: Uh, next question is from Grand K. The
01:52:02: storage tool. That's what I'm looking
01:52:03: for. Uh, oh, that's I don't remember the
01:52:06: name of it. It was like one that
01:52:07: earthark made. So I don't remember name
01:52:11: of it unfortunately. Like you have to
01:52:12: search earth marks like a repository.
01:52:18: Uh
01:52:21: oh.
01:52:23: Uh I don't know what this is about. It's
01:52:25: like some chat like happening.
01:52:28: Uh if you're like talking to somebody in
01:52:31: chat, please don't include like the
01:52:32: question mark because I don't know like
01:52:34: what it is about. Um,
01:52:37: next question also just checking time.
01:52:39: We got about uh six minutes left. Uh,
01:52:42: all is asking a bit strange question
01:52:44: explaining the splitting and all the
01:52:46: details with it is really neat to
01:52:48: someone not in the know. Have you had
01:52:50: anyone be completely surprised and reset
01:52:52: is planning and currently doing that? Um
01:52:55: I would some reason people be like you
01:52:57: know are we the first like to do this
01:53:00: kind of architecture um especially like
01:53:03: you know for a game and I like some
01:53:05: people suggest that like we should maybe
01:53:07: publish like a white paper on it like
01:53:09: you know or like some article or
01:53:11: something because like it's uh I do
01:53:14: think it's very like unique. We're
01:53:16: definitely not first like in software to
01:53:18: this kind of architecture is actually
01:53:20: inspired by web browsers because uh it
01:53:22: was Google Chrome who first pioneered
01:53:24: this architecture for web browsers and
01:53:27: Firefox then kind of followed and I've
01:53:29: actually read like you know a lot of how
01:53:30: they did things you know to kind of like
01:53:32: get better understanding
01:53:34: um
01:53:35: like you know like the philosophy and
01:53:37: like kind of design of things. So, we're
01:53:40: definitely not the first like in
01:53:42: general, but I think we might be the
01:53:44: like I think I'm pretty confident we're
01:53:46: the first social VR platform to do this
01:53:49: kind of architecture. Um,
01:53:52: so some people were kind of like, you
01:53:54: know, surprised like by the technical
01:53:55: complexity of doing something like that
01:53:57: and the fact that like it works. Um,
01:54:01: and I think like we might be like, you
01:54:03: know,
01:54:05: maybe we're the first game to do it. I
01:54:08: don't know. I don't know if there's like
01:54:09: any other that like use this
01:54:10: architecture, but um I do think it's
01:54:14: pretty like unique
01:54:18: and like you know some people were kind
01:54:19: of like you know some people were kind
01:54:21: of like surprised like you know by that
01:54:23: fact
01:54:25: and be kind of curious like you know
01:54:26: what people in game development
01:54:28: community like think about this too. So
01:54:31: also G type one X also late somebody
01:54:34: asked it already so you get nothing
01:54:38: um K be asking how's the feedback on SP
01:54:41: release are people happy with
01:54:43: performance u I mean seems so to me like
01:54:46: people seem to be quite happy with it
01:54:47: like people have been like when they
01:54:49: release like people just loading worlds
01:54:50: and being like oh my thing so many FPS
01:54:52: like in these worlds um I've seen like
01:54:54: some people get like a really huge
01:54:56: chumps I've actually seen some of the
01:54:57: Japanese community also uh like they run
01:55:00: like events and they run like a this
01:55:02: like you know car thing like where like
01:55:05: racing around the map. Um
01:55:10: um so it's like
01:55:14: you know and they've gotten like much
01:55:15: much better performance like they were
01:55:17: saying it's like much lighter. So like
01:55:19: it seems generally people are quite
01:55:21: happy so far. So fingers crossed.
01:55:26: I haven't like heard like too many
01:55:28: complaints.
01:55:30: Um, next question is from Zach Marus.
01:55:32: Uh, how much of a headache would it be
01:55:33: to make Protolex updates run
01:55:35: multi-threaded? So, there's a problem
01:55:38: like
01:55:40: making Protolex in theory run
01:55:42: multi-threaded. It's easy. You just run
01:55:44: in multi-threaded. The problem is that
01:55:47: the code that people make with it is not
01:55:49: necessarily designed to be
01:55:50: multi-threaded. So if you have like you
01:55:52: know stuff like where you have bunch of
01:55:54: perflex that's modifying some things and
01:55:56: you have perflex is modifying the same
01:55:58: things. If you run it multi-threaded now
01:56:00: you get race conditions and it breaks.
01:56:02: So ultimately like multi-threading it
01:56:04: depends on the code you make with it
01:56:06: because perflex you know it's it's a
01:56:09: language and we can add features and we
01:56:12: will actually eventually add features to
01:56:14: allow you make multi-threaded code but
01:56:16: you still have to make multi-threaded
01:56:18: code. You cannot you know gen this is
01:56:21: not even specific to perflux you know in
01:56:23: general you cannot take single threaded
01:56:25: code and just run it multi-threaded and
01:56:27: just expect it to work without issues
01:56:29: most of the time that's going to like
01:56:30: you know end up like in corruption and
01:56:31: like really weird things. So
01:56:36: um it depends largely on the code. So
01:56:39: like the better better kind of like way
01:56:40: to think about it is like you know how
01:56:43: much is it going to be to like add
01:56:45: multi-threaded
01:56:46: like you know primitives for doing
01:56:48: multi-threading with perflex and doing
01:56:50: in a way that you don't end up like you
01:56:52: know shooting yourself in the foot
01:56:56: which is like pretty easy to do with
01:56:57: multi- threading.
01:57:00: Uh
01:57:02: okay found the tool. Um
01:57:07: uh might not have time because it's like
01:57:10: 2 minutes.
01:57:12: Uh
01:57:17: um asent which is asking what are your
01:57:18: thoughts on each returns of legacy
01:57:20: badges? Uh he's been doing some cool
01:57:22: work like I like the latest iterations
01:57:24: of the fruit badges. Um LC is also
01:57:27: asking honestly curious have you out
01:57:29: found a strange frame rate increase
01:57:31: after causing complex prior wondering
01:57:33: why that cause it's kind of funny
01:57:34: interesting I haven't had chance to look
01:57:36: into that one yet I had a suspicion but
01:57:37: like it wasn't correct so uh and I
01:57:40: haven't like really dug into it yet uh
01:57:47: so I'm kind of spinning through issues
01:57:49: like I we have like minute left so we
01:57:51: probably won't get like very complex
01:57:52: answers so I might recommend bringing
01:57:54: them to the next one if you want more
01:57:56: detail answer uh has I think a recent
01:57:58: oblivion master does this architecture
01:58:00: it's o game and plus and engine for
01:58:02: rendering I think it's a bit different
01:58:04: because like the specific architecture
01:58:06: with us is like running them as two
01:58:08: separate processes I don't know if
01:58:10: Oblivion I think they embed the engine
01:58:13: you know within Unreal so it's not
01:58:17: running as a separate process it's just
01:58:18: you know running within but I I haven't
01:58:21: like looked into it um
01:58:25: oops I keep grabbing this thing. I want
01:58:27: to grab this. Um and also
01:58:31: uh uh come guy, how much have memory
01:58:34: boundary requirements change to the
01:58:35: split thing release? We haven't really
01:58:37: measured that, but like um it should be
01:58:39: like since we're using shared memory um
01:58:42: it shouldn't really be like drastically
01:58:44: different. I would actually say maybe
01:58:45: even lower because instead of using
01:58:46: bunch of like classes, we're actually
01:58:49: filling like you know raw memory buffers
01:58:50: which are like more memory packed and
01:58:52: more efficient. So I would even say
01:58:55: It's probably lower, but we don't have
01:58:58: like numbers and like ultimately doesn't
01:58:59: matter. It matters is it faster like
01:59:01: overall.
01:59:03: Anyway, uh that's all the questions like
01:59:05: we're kind of at the time. So, thank you
01:59:07: very much everyone, you know, for
01:59:08: watching. Thank you for all your
01:59:10: questions. Uh and thank you like you
01:59:12: know for supporting the platform whether
01:59:13: it's like you know just being part of
01:59:15: the community building cool stuff uh you
01:59:17: know showing talking about it on social
01:59:19: media or supporting us financially
01:59:21: through Patreon or Stripe uh because
01:59:24: that helps you know pay the bills uh it
01:59:26: let's focus like you know on doing this
01:59:28: fulltime it us keep the lights on on the
01:59:30: servers. Uh so thank you much if you're
01:59:33: supporting on Patreon. Uh strongly
01:59:35: recommend switching cost because even if
01:59:37: we switch to the same tier um we get
01:59:40: about 10% more money out of it. Uh which
01:59:43: helps us a lot uh and we can kind of
01:59:44: invest that money you know in uh further
01:59:47: development of the platform. So thank
01:59:49: you very much for watching. I hope like
01:59:50: you enjoyed you know um I hope you like
01:59:53: enjoyed like watching this and answering
01:59:54: all the questions. Uh and I'll see you
01:59:57: with the next one. And I'm also going to
01:59:59: figure out if there's anybody to raid,
02:00:02: so give me a sec. Uh
02:00:07: I don't see anybody streaming on it,
02:00:10: unfortunately.
02:00:12: Um
02:00:14: yeah, unfortunately there's nobody to
02:00:16: raid, so we have to end it here. So
02:00:19: thank you very much and you know, see
02:00:22: see you next week. Bah.
02:00:28: Bye.