This is a transcript of The Resonance from 2025 May 25.
00:00: Starting recording. Okay, it should be
00:04: live. Uh, I'm going to post the
00:06: announcements.
00:10: Hello people.
00:13: Can you hear us?
00:16: Can you hear me? Am I coming from the
00:18: correct position?
00:21: Should be spatialized, but from the
00:23: viewpoint of the camera. No. Ah, I got a
00:26: message. I can't read it because I'm on
00:28: dash fixing up uh not fixing up sending
00:31: out
00:34: announcements. There we
00:36: go. Because this one
00:42: I miss you.
00:45: There we go.
00:54: Hello. Hello.
01:00: Okay, I need to adjust the position of
01:06: that. There we go. Hello everyone. Thank
01:09: you for subscription. Hello. Thank you
01:12: for the subscription.
01:14: Wow. Hello everyone. Gabler. Hello. Can
01:19: you hear us? Fine.
01:21: We're taking the new secondary audio
01:25: feature for a spin and it's actually the
01:27: first time I'm like properly like using
01:29: it outside of like the initial testing.
01:31: So,
01:33: um, let me know there's like any issues
01:35: with it. You should hear both of us
01:38: spatialize like from the viewpoint of
01:40: the
01:41: camera. So, like if I do if I like do
01:44: this then you should be able to like you
01:46: know it should I'm still kind of in
01:48: front of the camera. Um,
01:51: Now, hold on. Let me do this. So, if I
01:53: do this and I go behind you now, I'm
01:54: behind you. Hello. We're behind you. And
01:58: on the right, you know, I'm like,
02:00: "Hello.
02:02: Hello. Does this work? I'm doing
02:05: specialized." Hello. Correctly.
02:07: Specialized. Is anyone in there? Hello.
02:13: Hello.
02:15: Hello. Okay. Okay. I think that's that's
02:17: good enough.
02:21: There we go. Hello. Some someone's going
02:24: to screenshot that.
02:26: Oh, it's going to be recorded. I'll clip
02:28: that. Yay. Special voice got SMR1. Now,
02:36: now today we're going to be looking at
02:38: how to use the dev tip.
02:43: It's one It's one way to mark it.
02:46: Anyway, hello everyone and welcome to
02:47: another resonance. I'm fus I'm here with
02:50: Sarah
02:51: and we pretty much like you can come
02:53: here you can ask anything about resonite
02:56: whether it's a technical question
02:58: whether it's like you know something
03:00: from it direction its future past more
03:02: philosophical theme like pretty much
03:04: whatever you want to ask to resonate or
03:06: theme or you know just ask uh thank you
03:10: for the raid you you have a free you
03:12: know to ask the only thing make sure to
03:14: put a question mark in your message that
03:17: way it's going to pop on our thing so we
03:20: know, you know, we don't miss it.
03:23: Um, so it's
03:25: um actually it's been a week like I skip
03:29: one and I'm like like what what do I do
03:30: when it starts? Uh we're going to be
03:33: running for about like uh usually two
03:35: hours. Um so we should be able to get
03:38: started. We have a bunch of questions
03:40: from Discord. So we're going to go
03:41: through these first. But if you you know
03:43: if you do do the question mark thing uh
03:45: it's going to pop on our screen here. I
03:47: can actually even show you see like we
03:49: have a thing here and we have like bunch
03:50: of the questions from Discord. Good luck
03:52: already. Um so we should be able to get
03:55: started. Is there anything I'm
03:57: forgetting?
03:59: Um well I mean what I think your
04:04: dignity. No, you have that I think. Oh
04:06: what? Your dignity. Dignity. I don't
04:10: know. I don't think they implemented it
04:12: yet. A damn. Anyways uh let's get
04:15: started.
04:17: So, uh, we're going to go through, uh,
04:21: we're going to go through the questions
04:22: from Discord first. Uh, if you're
04:25: watching, you should be asking questions
04:27: now on Twitch, not on Discord anymore
04:30: because, uh, we won't bring any of the
04:32: new ones. But the first one, actually, I
04:35: might switch the camera to manual too,
04:36: so it's not like floating around. First
04:39: question is from BD is asking
04:42: unit. Yes, everything unity closest to
04:46: disintegrate.
04:50: It's actually like a little bit of like
04:51: a follow because like you know one of
04:53: the things
04:56: um one of the there's like number of
04:59: things but like people sometimes ask us
05:01: like oh is introducing this this is
05:02: going to resolve this issue would you
05:04: know consider just staying with Unity
05:07: and upgrading to newer version. problem
05:10: for us. There's so many issues with
05:11: Unity. There's like bunch of technical
05:13: ones, but even though the technical ones
05:15: were resolved, the big issue we have is
05:20: they're not really trustworthy for us as
05:23: developers because they've done a number
05:25: of weird kind of practices and sort of
05:30: U-turns. Uh the most like recent one,
05:33: you know, being
05:35: um being the fact that they wanted all
05:38: developers to pay per install of their
05:42: game. And that change was retroactive.
05:45: Meaning if you like there were a number
05:47: of developers who have had published
05:50: games and who and they developed them,
05:53: you know, assuming certain kind of
05:54: licensing with Unity.
05:57: Um, and then Unity goes like, "No, no,
05:59: you're going to owe us this amount of
06:01: money." And the developers were like,
06:03: "This is we literally," there were some
06:05: developers would literally owe more than
06:08: they actually earned through their game.
06:10: Like they would pretty much like, you
06:11: know, businesses and to just introduce
06:14: that. But what's even worse
06:17: is years before that, they made some
06:20: changes where they were like, you know,
06:22: trying to like they really change their
06:24: licensing agreements. you already, you
06:25: know, licensed the engine, you released
06:27: the game and they wanted to introduce
06:29: ability to be like, well, even though
06:31: you agreed, you know, to certain version
06:33: of our terms of service, we can change
06:36: that version retroactively. So like even
06:39: if you're not doing any new development,
06:42: now you have like, you know, now you
06:43: have to conform to this new agreement
06:46: that wasn't in place, you know, at the
06:47: time of when you made your thing. And
06:50: there was a big outrage because of that.
06:52: And because of that, they were like,
06:53: "Okay, like we're going to be more
06:55: transparent. We're going to, you know,
06:56: we're going to revert that and we're
06:58: going to put our policy changes on
07:02: GitHub so we can, you know, everybody
07:04: can see when and how they change." And
07:06: we're going to be, you know, all nice
07:07: and transparent. And then, like, you
07:10: know, they quietly removed that. And
07:12: then they quietly reintroduced the
07:14: ability to retroactively change the
07:16: terms of service. And then they
07:18: retractively changed it.
07:20: meaning their word, you know, like from
07:24: my perspective as a developer, their
07:27: word is essentially meaning like they're
07:30: just going to, you
07:31: know, like right now I feel like even
07:34: even so they went back on, you know, the
07:37: predatory kind of changes for the, you
07:40: know, for the
07:43: fees, I'm kind of expecting them to do
07:45: it again, just slower and quieter so
07:47: people don't notice because they've
07:48: already done that in the past and it's
07:50: not even the first thing they did like
07:52: there was another change I remember that
07:54: like frequently didn't affect us but
07:57: where they essentially said if you're
07:58: running any unity based server software
08:01: you can only host it on unity cloud you
08:03: cannot use Azure you cannot use cloud
08:04: like you know Google cloud you have to
08:06: use our services and for us like we we
08:09: kind of skied that because like our
08:11: headless it actually has zero unity bits
08:13: in it but even then like it's kind of
08:16: you know it's not the kind of change
08:18: that
08:19: like you want them to pull on you and
08:23: that just it hurts a lot of trust in the
08:26: brand and essentially for us trust in
08:29: them is below zero and it's kind of
08:33: that's one of the reasons even if even
08:35: if it was technically perfect we
08:37: probably still want be wanting to move
08:38: away because we don't know when is the
08:41: next thing they're going to pull come
08:42: we've already dealt like with some
08:44: things because like they like another
08:46: things they introduced they were like
08:48: they had like these programs uh where
08:50: you have like you know Unity Plus, you
08:51: have Unity Pro. Unity Plus is much
08:53: cheaper. Unity Pro pro has like a bunch
08:56: of things but we don't need any of those
08:58: things. But Unity was like we're going
09:00: to
09:02: streamline you know Unity offerings and
09:05: we're going to remove Unity Plus.
09:06: Everybody has to go on Unity Pro which
09:09: is like you know 10 times more
09:10: expensive. And to me that feels like,
09:14: you know, they're like they know their
09:17: developers are fleeing away from them
09:18: because of their practice. So they're
09:20: doing what they can to squeeze as much
09:22: money out of the people that they still
09:25: have because you're going to see some
09:27: companies will end up like doing through
09:29: this kind of like cycle where things get
09:31: like worse. People will flee and they
09:34: will clump down on people who they know
09:37: they cannot like, you know, switch super
09:39: quick. Because if you're a game studio,
09:41: you're say few years into developing a
09:44: project say Unity and suddenly like you
09:47: know something like this happens, you're
09:49: not able to switch just on a whim. It
09:50: takes a lot of time and and a lot of
09:52: resources sometimes resources you might
09:54: not have to switch away from the
09:57: engine.
10:00: Um and they know that. So they know they
10:03: can like you know do this kind of move
10:05: and force those developers to pay
10:07: more even. And so like the developers
10:10: aren't getting any benefit from it but
10:12: they want to squeeze out our money and
10:13: like and right now to me it feels like
10:15: Unity is going through that stage where
10:18: the people who originally built the
10:20: company who made the software and who
10:23: made like a really cool like engine like
10:25: came like with really cool things. It
10:26: changed the industry a lot but now you
10:31: know the control company is being
10:33: controlled by people who don't have that
10:35: same kind of relation to the product.
10:37: It's controlled by people who are more
10:38: focused on just maximizing profits. And
10:41: by maximizing profits, they actually
10:43: make it the product worse, which makes
10:46: people leave. So they end up like make
10:48: making decisions. They make things even
10:50: more even more worse to squeeze as much
10:52: money as they can because they don't
10:54: care long term. They care like, you
10:56: know, they're going to stay with a
10:58: company for like few years and then move
11:00: on to another one. So they don't care
11:02: you know what happens after that as long
11:03: as the numbers you know look good during
11:06: that period.
11:08: Um, so it to me it feels like you know
11:11: we just kind of going through the
11:12: process right now and we just we just
11:14: want to like leave even if all the
11:16: technical issues were not there but
11:18: there's still like lots of technical
11:20: issues and could talk about this for a
11:22: while but
11:24: it's those it's this kind of behavior
11:27: alone that like is just like making us
11:30: like we need something like where we
11:31: know we're not going to have
11:34: like you know something like this pulled
11:36: over us like you know out of the blue.
11:38: That's going to put us in like a very
11:39: problematic situation. So,
11:44: um yeah, the does make us not makes us
11:48: disintegrate.
11:51: I won't uh harp on that topic for too
11:54: long, but man, the API is not good.
11:58: There's just so many little bugs and
11:59: gotchas everywhere. That's the other
12:02: thing. I don't want to like go into like
12:03: onto the technical bits of it like like
12:06: very much like my thing is like one
12:08: thing I want people to understand even
12:09: if the technical was perfect like the
12:11: practices of the company alone are
12:13: enough to make us still want to move
12:15: because we don't kind of trust like you
12:18: know what what is going to happen.
12:22: The next question is from orange.
12:24: Actually this one it's a bit bigger so I
12:26: need to where do I put it? Uh is this I
12:30: don't know if this is going to be
12:30: readable.
12:32: Uh uh Orange is asking
12:37: uh I can make it a little bit bigger
12:39: there. Orange is asking do you have any
12:41: plans to integrate photon does with
12:43: spatial variables? For example, if each
12:45: particle could obtain properties such as
12:47: color, size, vector or resistance based
12:49: on position defined in spatial variable
12:51: would allow for highly sophisticated
12:53: visual effects. It also seems
12:54: interesting to find pressure using
12:56: spatial variable and visualize wind flow
12:58: caused by pressure gradients particles.
13:01: So um part photo is not going to use
13:04: spatial variables. It's going to have
13:05: its own system that's going to serve
13:07: similar purpose
13:09: calledectors. Uh the reason for that is
13:12: uh it's spatial variables. Um they're
13:16: designed to like you know interact with
13:17: the data model. So they're kind of like
13:18: you know synced with the data model uh
13:21: and they kind of you know work in the
13:23: lock step with that. But fold does it
13:25: actually runs you know on background
13:26: threads. It runs in parallel and it's
13:28: asynchronous which means uh while fut
13:31: simulation runs effectively any of the
13:34: changes you're like you know you're
13:35: making they do not get like you know
13:38: updated within the particle system until
13:40: it finishes its work because you cannot
13:43: with multitra you cannot like you know
13:45: change the system in middle of
13:47: simulation because it's going to break
13:49: everything. Um if we wanted to tie
13:52: spatial variables you know with photon
13:53: does that would mean two things. one we
13:56: would need to like synchronize photon
13:58: does with special variables with the
14:00: data model meaning it would not be able
14:02: to run as you know in the background in
14:05: parallel and asynchronously it would
14:06: need to be kind of synchronized which
14:08: would negate a lot of the benefits um or
14:12: we would need to synchronize the spatial
14:14: variables to photon does which means if
14:16: like you have like a particle system
14:18: that's taking long to simulate suddenly
14:20: everything else is not getting any new
14:22: values through spatial variables because
14:25: it's being held up by the particle
14:26: system. So we don't want to like you
14:28: know ties those two two systems
14:30: together. Instead we're going to
14:32: introduce an FXer system which is going
14:34: to design specifically for photon dust
14:36: specifically you know to be efficient
14:38: with it. Um that will pretty much let
14:41: you do this kind of thing. It's going to
14:42: let you exert forces on particles. It's
14:44: going to let you you know uh affect the
14:47: colors of the particles and do lots of
14:49: other things. It can have like tighter
14:50: integration for how it affects the
14:52: particles too. So it's like you know a
14:54: little more as well because with special
14:56: variables um there might be like you
14:59: know lots of kind of like individual
15:00: kind of like samplings that might not be
15:02: as efficient
15:04: um as something that's you know
15:06: specifically designed to work with
15:07: photon dust.
15:09: It's not possible to sample the uh
15:12: spatial variables from multiple threads
15:14: at the same time.
15:16: You can do it from multiple threads as
15:18: long as they kind of happen in logster
15:20: with the data model. Okay. So, and the
15:23: problem is Photon does doesn't run with
15:25: local data model. It runs
15:27: asynchronously.
15:29: And you see
15:31: uh the next questions from uh
15:35: Zoakasu. U move it here. Is it okay?
15:40: There we go. Um Zukasu is asking after
15:44: listening, do you have any plans to
15:45: further accelerate development of
15:47: Resonite? Would these plans include open
15:49: sourcing some features as mentioned in
15:50: previous residence updates and
15:52: implementing molecule? Oh yeah, like so
15:54: I don't like super 100% specific plans
15:57: because like we kind of usually adjust
15:59: based on what's needed, but I feel like
16:01: molecule is one of those things we
16:02: really really need especially the more
16:04: developers we have. Um and it's also
16:07: going to like you know reduce a lot of
16:08: the kind of like manual work with every
16:10: build. Um open sourcing some features. I
16:13: think it'll be kind of good one. Like
16:14: I've been kind of wondering about open
16:16: sourcing maybe the render side of
16:18: things. No decision has been made yet
16:20: but that might be like interesting like
16:22: you know maybe to get some contributions
16:24: there. Um I would like to open source
16:26: like things sort of gradually you know
16:29: do first modules where it's not going to
16:32: cause like you know too much
16:33: fragmentation uh but it's still going to
16:35: you know provide kind of benefit. So
16:37: like you know doing stuff like the
16:38: importer exporter system. Uh there might
16:41: be like a good one and sort of like you
16:42: know doing it piece by piece on you know
16:45: on parts that like will help grow
16:50: um essentially you know the project kind
16:52: of grow and help like people like fix up
16:54: like things and expound like you know
16:55: the functionality where it matters the
16:57: most while still kind of keeping things
16:59: kind of cohesive. It is a bit like
17:02: tricky thing because like you know open
17:03: sourcing it won't necessarily mean
17:08: um things being faster unless it's done
17:11: well like right now like we have like
17:13: some open source like bits but we don't
17:15: have the bandwidth to like you know
17:16: really be dealing with the PRs you know
17:19: pull request which is like you know way
17:21: for people to contribute because like
17:22: for any contribution people do we do
17:25: need to review the changes make sure you
17:27: know they're okay make sure they're
17:28: aligned you know with like uh whatever
17:31: we're doing and it takes its own time
17:33: and the time needs to be taken away from
17:36: us developing things. So that can affect
17:39: you know the efficiency of this process.
17:41: So and it's one of the reasons we want
17:43: to do it sort of like more gradually in
17:45: a way where we can sort of like
17:46: gradually build up the process and not
17:48: cause you know sudden chaos. Um but yeah
17:52: like over like we want to like things to
17:54: kind of accelerate and it's also going
17:55: to help a lot because um um one of the
17:59: things like we would like to do is like
18:01: rework a lot of the UIs and then moving
18:03: there to sort of paralyze it. So like
18:06: we're like an engineering side which is
18:07: mostly implemented data feeds and stuff
18:09: like that and then the content team or
18:12: our team uh they are able to like build
18:14: actual UIs while we focus on other
18:16: things and it paralyzes the work and
18:18: makes it more efficient.
18:23: Um, next question is from
18:27: BD_. Uh, let me duplicate that so I can
18:31: read it easily. Oop, I think made it too
18:34: small. There we go.
18:36: Oh, PD is asking given that the render
18:39: changes in custom shaders are a bit
18:41: further out is there a chance of having
18:42: some smaller features for example or to
18:45: pass transparency mask consider added to
18:47: existing seat and shader in the interim
18:50: to improve compatibility with the most
18:51: frequently used features for other
18:54: platforms um the code potentially um I
18:57: also just like making a GitHub issue
18:59: about it is also
19:01: um a good like you know makes a GitHub
19:04: issue for prefer small features because
19:06: one of the things that sometimes happens
19:08: is people make GitHub issue and they're
19:09: like and they have like a shopping list
19:11: of like I want this, I want this, I want
19:13: this, I want this, I want this, I want
19:14: this and like what ends up happening
19:16: makes the issue really big and like we
19:18: look at it and we're like okay there's a
19:20: lot of stuff that's you know we can't
19:22: really squeeze that in you know anywhere
19:26: like nicely but if it's like a small
19:27: thing we're like okay this like a quick
19:29: enough change that
19:31: doesn't mess anything else up so like we
19:34: can do a small
19:37: change. Um, that's said like I'm not
19:40: making any promises we're going to
19:41: prioritize it right now, but like we can
19:42: at least look at it depending on what it
19:46: is. Next questions from Lexo. What are
19:50: some small maintenance tasks that do
19:51: keep resonate running smoothly that
19:53: regular would you just I cannot talk.
19:56: What are some small maintenance tasks
19:58: that
19:59: you do to keep Brazil running smoothly
20:02: that us regular users could also do?
20:07: Um, I can't actually really think of
20:10: much. I mean it's mostly like a lot of
20:14: like maintenance stuff like it's
20:16: um kind of like automated like I mean
20:19: that's the main thing is like you know
20:20: like try to automate as much stuff as
20:23: possible because then you don't
20:24: generally have to worry about it. Um
20:28: it's like for example like one of the
20:29: things you know with our cloud is like I
20:32: literally will not touch it for like
20:36: months on end and then like there's so
20:38: much to happen something happens it goes
20:41: down or something and I have to like you
20:43: know look at all the graphs and like
20:45: start traces and like you know timelines
20:48: of like you know the request and why is
20:50: it freaking out and try to like narrow
20:52: down what's happening but it happens
20:53: only like you know now and and and most
20:57: of the times like I don't I literally
20:59: don't even like I don't touch the cloud
21:01: it just keeps running. Um so it's kind
21:05: of
21:07: like it's it's supposed to like deciding
21:09: things you know in a way where a lot of
21:11: the like it's a b
21:13: resistant one of the kind of principles
21:15: you know with the cloud is like it's
21:17: very
21:19: um if something goes wrong is able to
21:21: kind of work around it or like it has
21:22: like you know retry logic it has like
21:24: you know more grace for failing for some
21:26: things. Um there's like back things that
21:29: kind of be fixed and so on but uh
21:32: generally like you
21:34: want you want to make things where it's
21:36: just automated like where you don't
21:38: worry
21:40: about stuff kind of you know not being
21:42: kind of smooth. So I don't really have
21:45: like
21:46: any ideas on any task could be doing.
21:52: I'm not sure. All I can think of are
21:53: like, you
21:57: know, like optimization stuff for like
22:00: your avatar, I guess. I can't really
22:02: think of anything that would be related
22:03: to this in particular,
22:06: though. I mean, this is one of the
22:08: reasons I really want to do molecule
22:10: because molecule is like one of the
22:11: things where I'm like I'm doing like
22:14: these tasks like over and over and over
22:16: and like sometimes like make mistakes
22:17: with them. Um it was just automated like
22:21: you know like for example like when I
22:22: release a new build I have to go find
22:25: which issues were there like make them
22:27: link then collect all the people you
22:29: know in the thing like who are like
22:31: contributing find their discord
22:33: usernames and put a thing and it takes a
22:35: lot like it takes a fair amount of time
22:37: to do and I just want to automate it. I
22:40: want to be like, you know, like in the
22:41: in the git and when I make the comment,
22:44: I just include link to the issue and our
22:46: system just picks it up, parses the
22:48: issue, generates a change log, you know,
22:50: generates like a list of users,
22:52: generates, you know, who contributed to
22:53: it on developer side. Like I've had a
22:55: few cases like where um uh I forgotten
23:00: to credit either somebody in the issue,
23:01: I forgot to credit somebody, you know,
23:04: on the team. Like for example, I think
23:06: it was like Cra like it happened to you
23:07: once or twice or something. um the pro
23:10: prime like where uh because like when
23:12: they made like PR there's like you know
23:14: they've write the change log notes and
23:16: sometimes I'll just kind of copy it over
23:19: and then they don't include like their
23:20: name and I forget about it and you know
23:23: and then it doesn't end up like in the
23:25: change log when it should say
23:27: implemented by this person and this you
23:28: know one of the things is because it's
23:30: manual I have to think about it and if I
23:32: if I'm like in a rush and I just copy
23:34: paste and like then like oh I forgotten
23:36: to put a name in now I made a mistake if
23:38: it's automated it, the mistake pretty
23:40: much never happens. Like, you know, it's
23:42: like algorithm. It looks at it, it's
23:43: like, okay, this person made a commit,
23:45: therefore, you know, they're going to go
23:46: into this thing and it just automates it
23:48: and now it frees up like, you know,
23:50: mental space. So, I would say like for
23:53: start, you just want to automate things
23:55: as much as you can and free up your
23:57: mental space. So you don't have to like
24:00: worry about you know do you don't have
24:03: to worry and remember about doing things
24:06: because you you you will forget and you
24:08: will make
24:11: mistakes. Uh next question is from uh
24:15: Goldie Raccooney. Is it internal
24:17: behavior for audio source waveform mesh
24:19: and audio XY mesh to continue updating
24:21: mesh vertices even when the component is
24:23: disabled? Yeah, kind of. Uh there's like
24:26: a one thing with um the enable disabled
24:29: state is like usually it affects if like
24:33: you know whatever behavior it component
24:35: has is coming from that component but if
24:38: it's coming from something external to
24:40: it like if something kind of you know
24:42: pushes you know data to it or something
24:46: uh then it'll still like do its stuff
24:48: because like it's not the one who's is
24:50: not driving you know that kind of
24:52: behavior.
24:54: Um so usually like we kind of have like
24:57: you know this kind of approach. It's
24:58: like for example you know with um
25:00: prototypes if you have like update node
25:02: it's generating updates that's like if
25:04: you disable that it's going to stop
25:06: working. But if you have a node that's
25:07: just you know accepts impulse and does
25:08: something based on impulse and continues
25:10: on. If the node is disabled it's not
25:13: going to do anything because the node is
25:15: like not originating the behavior. It's
25:17: coming externally. It's just going to be
25:19: almost like being used by something. And
25:20: it's kind of similar with the audios
25:22: waveform where um you know the audio
25:26: updates are coming externally to it. So
25:28: it's just kind of like responding to
25:29: them. Um we could maybe like look like
25:32: if there's like a way to kind of like
25:34: you know skip those updates like for
25:35: optimization so we could change how it
25:37: works. Um I also kind of like look at it
25:44: more. Next question is from uh
25:49: Papine. Uh pap's asking what does the
25:53: current CI/CD setup look like? What are
25:55: manual tasks that we would like to
25:56: automate and what is blocking you from
25:58: doing so? Um so mostly like we have like
26:02: CI/CD for like individual kind of
26:04: components like S has like set up a
26:06: whole bunch of them like where we have
26:08: like you know libraries and like we
26:10: essentially push a comet it does you
26:12: know bunch of stuff and then like we
26:13: make a new release when we make a
26:16: release like on the GitHub it's going to
26:17: you know it pushes it like you know to
26:19: Nougat. So but then we can kind of just
26:21: update things. Um what we would like to
26:25: do is essentially have it like fully
26:27: automate like fully automated pretty
26:29: much end to end. uh that is you know we
26:32: make a new comet you know to actual
26:33: resonate like you know the friction and
26:36: that essentially triggers a set of like
26:38: you know things where it makes a a
26:40: complete build of resonite pushes it
26:42: into molecule and now it's like
26:44: available for testing you know it's
26:46: available to be installed like it just
26:47: automates all of that and on the players
26:50: buttons basically like okay this release
26:51: is ready for public release it pushes it
26:53: to steam it pushes it on maybe to
26:55: website maybe pushes it like you know
26:57: whatever else we want um and it's just
27:00: like you know it's completely automated.
27:01: All we have to do is you know push a
27:03: comet and it makes a it makes a full
27:06: functional build operation right than
27:08: like an individual kind of building
27:09: blocks that we still have to manually
27:10: kind of
27:11: integrate.
27:13: Um so that's kind of like the main
27:15: thing. Um, one of the things that's kind
27:17: of blocking like us is just time. It's
27:20: like one of those things, you know,
27:21: where it's like it requires a lot of
27:23: time to be spent on it, but the time,
27:25: you know, like in the time we don't
27:27: produce any new features, we don't
27:28: produce any optimizations. We're just
27:30: improving the process. So, it kind of
27:32: makes it a bit, you know, harder to do
27:34: when we have like lots of features we
27:36: need to add and lots of optimizations we
27:38: need to do and lots of bug fixes to do.
27:40: So, it kind of make it makes it hard to
27:41: kind of prioritize these kinds of
27:43: things. But now we have like you know
27:44: people like on the team like who can
27:47: help like you know spread some of the
27:49: workload and handle all of this stuff.
27:52: Yeah. I just wish CI/CD was easier.
27:57: Yeah. Uh
28:00: it's always like funny because like
28:02: every time like I see like CI/CD being
28:03: set up and it's kind of when I set set
28:05: up one on my own like while back or set
28:08: up a bunch of them. is literally just
28:09: like push a thing. Oh, it fails to
28:12: build. Make a comet like oh hopefully
28:14: this will build. Push another comet.
28:16: Hopefully this one will build. And it's
28:18: just kind of, you know, doing things
28:19: until it works. And you just see like a
28:22: series of comments where it's just like
28:23: hope this one works. There's just like
28:26: no way to to like comprehensively
28:29: locally test it. And before any of you
28:31: suggest yes, I've tried ACT. It's not
28:33: very good. Um, yeah,
28:38: it's just it's a bit of a time sync. So,
28:40: that's the main thing. I'm just going to
28:42: most things. It's like just question of
28:44: time and prioritization, but it's going
28:47: to make things much nicer once it's
28:48: fully integrated. It's actually one of
28:50: the things is one of the things that
28:52: like um is also like kind of blocking us
28:55: from like you know some of the like open
28:57: sourcing stuff because one of the things
29:00: that I feel we need I feel like going to
29:02: open source more stuff is we need more
29:04: unit tests. So when people make PRs it
29:06: kind of catches all of the common
29:07: mistakes you know before we even look at
29:09: it. It can be like you know oh no this
29:12: you the change you made it breaks you
29:14: know this thing you know it breaks like
29:16: this test um you need to fix that before
29:18: like you know we even look at it that
29:20: way like you know we don't merge the
29:21: change and then like you know something
29:22: breaks and we have to investigate why it
29:24: changed um and the CI/CDs you know
29:26: that's part that's actually a component
29:28: of that because you can you know run the
29:30: test as part of it and some of our repos
29:32: that will run tests before
29:35: um when whenever you like make an OPR to
29:38: make commits
29:42: The next question
29:46: uh so let me just add thing
29:49: quick. Um next question is from BD
29:55: uh post molecule. Do you envision
29:57: Resonate moving away from Steam based
29:59: client and or headless distribution? Um,
30:02: I wouldn't say moving away. We're very
30:04: likely going to stay on Steam because
30:06: Steam is like really good for marketing.
30:08: It's like, you know, it's very
30:09: convenient like because so many people
30:11: have steam, you know, just go like go
30:14: you tell them go on Steam, install it
30:15: from there, you know, it's done. Like
30:17: it's very easy. Uh whereas, you know,
30:19: telling them like you download this app,
30:21: you know, and this app is going to let
30:22: you install this thing. That's a little
30:23: bit more friction. Um it's not like too
30:27: much but like
30:29: um by not being on Steam you know we
30:32: kind of miss out on a chunk of users
30:34: where like where it's easier for them.
30:36: So pretty much our goal is to just
30:38: provide as many platforms as possible.
30:40: Uh like you know with molecule we can
30:41: have our own installer which also lets
30:43: you know switch between builds you know
30:45: very easily have multiple builds in
30:47: parallel do stuff like that. Um it's
30:50: going to be easier for headless too uh
30:52: because you could like you know say like
30:54: install things from command line. You
30:55: don't have to worry for steam to you
30:57: know push things. We might um might
31:01: maybe move headless from steam.
31:06: Maybe that one could make sense like
31:09: since it's like more kind of specialized
31:10: and like use like software. But we might
31:13: also just keep it maybe just to keep
31:15: things simpler. In fact, I would
31:17: actually like to like you know once we
31:18: have Molecule build more publishing
31:21: pipelines, you know, put put it like
31:23: make it automatically push builds on
31:25: H.IO for example. Uh make them push like
31:28: you know other clients make it push like
31:30: on say like have pipelines
31:32: for like Linux like repos. So you can
31:36: like you know install just you can
31:37: install the headless or maybe graphical
31:39: client you know from the package system.
31:41: So I feel like the more is kind of
31:43: better in this case.
31:47: Oh, next one's This one's big.
31:51: Um, uh, Red is asking, I don't know
31:55: where to put this, so I'm going to put
31:56: this here.
31:59: Uh, so I need to scoot a bit. There we
32:02: go. Uh, Red is asking super duper
32:04: in-depth one. Uh, here I can stick a few
32:06: paragraphs as a lot of people about how
32:09: expensive dynamic impulse receiver is.
32:11: From my knowledge, please educate all
32:13: this wrong. This is because at basic
32:14: level sends the post entire hierarchy at
32:17: the point you give it making it search
32:19: for all items of the same type. I had
32:21: idea simply to possibly make much
32:23: quicker but doesn't already exist and
32:25: tell me if it wouldn't work well.
32:27: Basically there would be a fake data
32:28: model with only the slots and dynamic
32:31: impulse receivers name slots no
32:33: transforms just receivers. Uh the slots
32:35: whether they're not enabled whether
32:37: there is change with slots and dynamic
32:40: receiver on basically dynamic receiver
32:42: only model. So they don't have to go
32:44: looking down each and every slot each
32:45: time an impulse happened. Again, if they
32:47: are they do something similar to this,
32:49: feel free to explain in detail or enjoy
32:50: learning how essentially works cool
32:52: stuff. So it h this one's a little bit
32:56: complicated. Um so there's like one like
32:58: if you do systems like where you're sort
33:00: of mirroring the hierarchy um one thing
33:03: you have to be wary of is like you're
33:05: essentially introducing a constant cost
33:08: because this fake data model needs to be
33:10: constantly synced with the real data
33:12: model which means every time things move
33:14: around like you need to be updating
33:17: updating you know the fake data model
33:19: and this essentially if say say like you
33:22: know you're sending a dynamic
33:25: impulse you
33:27: So, so you send it like once per 10
33:30: seconds, but you're constantly moving
33:31: things around in a hierarchy. Now, the
33:34: problem is you're now spending lots of
33:36: cycles updating the fake data model for
33:38: something that happens once per 10
33:40: seconds.
33:42: So it's
33:44: um you know it might not like depending
33:47: on the use partner it might end up like
33:49: being worth it because like you
33:50: essentially introduce a constant cost of
33:52: you know just updating the fake data
33:55: model for like you know very sparse
33:57: queries. Um there's a lot of things it
34:00: doesn't like help you with like you know
34:01: for example having no transforms that
34:03: doesn't help you because the dynamic
34:06: impulse it doesn't care about the
34:07: transforms like it doesn't even read
34:10: them it doesn't access them you know uh
34:12: same with the components being enabled.
34:14: Um with the component is like you
34:18: know well this demo could help a little
34:20: bit like depending like you know if it
34:22: can update the three so like you could
34:24: potentially make a system that like
34:25: helps accelerate it a bit. Um but like
34:29: whether it's going to be useful or not
34:31: is going to depend on the use pattern
34:33: and the problem is it also like requires
34:35: a fair amount of engineering. There
34:37: actually is a system that's a little bit
34:39: like that that's used for you know
34:41: tracking when things move in the
34:43: hierarchy for the dynamic variables and
34:46: it's also used for uh you know when like
34:50: slots move so like you know coers can be
34:52: updated and doesn't need to like you
34:53: know traverse everything. So it could
34:57: potential make a system but then there's
34:58: a question like you know is that the
35:00: best approach because it's additional
35:01: engineering this additional cost you
35:03: know when the components move around um
35:07: and maybe just better you know to have a
35:08: better kind of messaging system like
35:10: maybe if you like you know once you
35:12: reach that point um the dynamic impulse
35:15: is not the best kind of system for what
35:17: you're doing maybe like you know you
35:20: just need to like have a system that
35:21: like you know registers itself with some
35:22: kind of event sender or event receiver
35:24: and then it sending you know to that
35:26: list of things and it might be way way
35:28: more efficient and way more manageable
35:31: approach you know overall.
35:34: So potentially yes is it's uh you could
35:37: do something like that but like with
35:40: like you you're essentially introducing
35:42: you know additional kind of constant
35:44: cost and in some cases it might be worth
35:46: it in some cases it might not but also
35:48: like you know there's over like other
35:52: approaches.
35:54: Uh next question is also from uh it's
35:58: also for Syro. Do you want to read this
35:59: one?
36:01: Question for Cyro. What window manager
36:03: do you run? And can I see your rice? Oh,
36:05: man. I don't I have not like riced my
36:11: DRO, so to speak. Like, I've not really
36:12: visually customized it. I use I use KDE
36:16: and I literally just run with the stock
36:18: Breeze Dark theme cuz I just I just want
36:21: a desktop that feels homey. This feels
36:23: homey. It looks basically almost exactly
36:26: like uh the Windows desktop. I mean, I
36:28: can I can show you my desktop. I guess
36:31: I'll just like take a screenshot of it.
36:33: Nothing super exciting.
36:41: Oh, I don't know how well that shows up
36:44: on camera. That's literally all my
36:45: desktop is. Resonate. Yeah, it's
36:48: Resonate.
36:50: Your Discord's orange.
36:52: Oh, my Discord
36:56: actually it didn't actually uh take a
36:58: picture of my taskbar. Interesting. Um,
37:01: no. I don't use that discord. I use I
37:03: use I I use a different one.
37:06: My cores are gay. My cores are gay.
37:11: Nice.
37:13: Yeah, that's that's really all not super
37:15: exciting. I just use what works.
37:22: Next question we have is from
37:27: Phoenix. Uh, Phoenix asking, will you
37:29: port Resinite to work on the Starfish
37:31: brain implant that Gabe Nuo is working
37:33: on? I mean, I don't know if you port
37:35: Resinite. It's more like hardware to the
37:37: integrate support
37:39: for. I mean, maybe if I get SDK or
37:42: something,
37:43: maybe. All I'm going to say is like I I
37:46: trust WoW a lot more with this kind of
37:48: tech than
37:50: Neuralink, but we'll see how that goes.
37:59: Next questions from
38:02: Ozie. It's a big one
38:06: too. Um Osie is asking, "I recall a long
38:09: time ago changing how Funion uploads
38:11: mesh to Unity was quite a hassle. How
38:13: are you doing it exactly? And how
38:15: different is it from how it currently
38:16: handles mesh uploading?" Also under this
38:19: question, how is the new Doom game? I
38:21: haven't heard too much about it other
38:23: than knowing my friend a few friends who
38:25: have been on playing it in which I
38:26: mention is good. So for the first part I
38:29: don't know about the hustle part like I
38:31: mean just it takes some time to do
38:34: um don't know whether we call hustle
38:36: specifically
38:38: um but essentially what it's doing is
38:41: like you know has like two sort of APIs
38:44: um for uploading mesh data. one of them
38:47: you just give it you know you give it
38:49: like uh pre-made sort of arrays of like
38:52: these are the vertx positions these are
38:54: the vertx normals these are you know
38:56: tangents these are UVs you know this is
38:58: the stuff and then you tell unit to
39:00: upload it and unit does like you know a
39:01: bunch of validations make sure
39:02: everything is okay it converts it to
39:05: whatever format it needs to be on the
39:07: GPU side and then you know pushes it to
39:09: the GPU and with the validation and
39:11: conversion you know there's
39:13: um
39:15: um there's overhead which kind of you
39:17: know slows it down. It's also like one
39:19: makes it hard to work over IPC because
39:21: right now it kind of like works from our
39:24: mesh class which you know is a lot of
39:26: kind of calls and things you know that
39:28: kind of like as it kind of converts it
39:30: and creates lots of these like separate
39:32: buffers and things and it just makes it
39:34: you know so it would be harder to get
39:36: over an IPC because it's a lot of like
39:38: you know scattered stuff. Uh, and with
39:40: IPC because we're going to be using
39:41: share memory, we kind of like want to
39:43: just be like, here's a big chunk of
39:45: memory, you know, just like bunch of
39:47: bytes and this is the mesh. And that's
39:50: kind of what's happening with like the
39:52: lower level API where essentially we
39:54: upload like we specify the GPU memory
39:58: layout of the data. We for example say
40:00: like the layout for each vertex. There's
40:03: the position which is like in this
40:04: format. It's like you know for example
40:06: 32 three 32-bit floats and then the
40:09: normals the normals are specified as you
40:12: know for example um normalized bytes you
40:16: know and it's only two of them because
40:17: you can compute a third one maybe
40:19: tangents you know similar thing can
40:22: encoded maybe colors are encoded as like
40:24: instead of flow they're encoded as half
40:26: uh and you essentially specify how it's
40:28: like lay how each vertex is laid out and
40:31: then you just give it lally a bite
40:33: buffer and be like this is the mesh
40:35: just just put it to the GPU and render
40:38: it. Um, and that's, you know, kind of
40:41: like what this new method does. It's
40:42: like there's a little bit like two
40:44: multiple kind of buffers and like some
40:45: things that don't fit into the buffers,
40:48: but essentially this is kind of what
40:49: it's doing. So, we
40:50: essentially generate you know that GPU
40:54: memory layout on our end meaning and we
40:57: just give it to Unity and we tell Unity
40:59: don't even bother validating this just,
41:01: you know, just use this as is. So we
41:03: kind of skip a little overhead because
41:04: we already do validations on our end. Um
41:08: so we kind of don't care you know if
41:10: like unit is like doing them it's kind
41:12: of just slowing things down. Um it also
41:15: makes it easier to move it over IPC
41:17: because like literally the whole mesh
41:18: upload is you know is in a single like
41:21: continuous
41:23: buffer that can be you know just put
41:25: like into the share memory and can be
41:26: kind of passed around. uh it also like
41:28: lets it lets us because uh some of the
41:31: stuff like for example blend shapes and
41:32: individual buffers because there's the
41:34: in there's like you know we have the
41:36: vertex buffer which is the vertices then
41:37: we have index buffer which is the actual
41:39: like you know primitives usually
41:41: triangles uh and just indices and we
41:44: have like you know some extra stuff we
41:45: have like bone bindings and you actually
41:46: need to do like bone weight separately
41:49: um and then the blend shapes is also
41:51: going to separate it out through this
41:52: API so it's doing it you know each frame
41:56: it maybe uploads like chunk of it and if
41:58: the mesh is big it's going to take you
42:00: know multiple frames to fully upload to
42:02: the GPU but it doesn't cause you the big
42:05: chunky like you know lag that you get um
42:09: and so I guess a combination of two
42:11: things you know it's kind of going to
42:12: help this way u we could also eventually
42:14: one thing I would like to do is like
42:15: maybe integrate our asset varant system
42:17: as well so these you know buffers that
42:21: buffer can be pre-generated so instead
42:23: of even having to generate it locally
42:25: for static meshes you just download it
42:27: and just like heat it into the GPU and
42:29: like that's it and mesh is loaded. Um,
42:33: uh, that would be like a later
42:35: thing. Oh, I forgot the other question.
42:38: The Doom game, uh, it's very good. I've
42:41: played through it like almost twice now,
42:43: like fully. Um, they actually ramp up
42:45: the difficulty to like on especially
42:47: nightmare. Um, I really like like it
42:50: feels very Doomy. It's still like, you
42:54: know, very like Doom game, but also
42:56: plays different from Eternal. Like I
42:59: really like watching videos of like Hugo
43:01: Martin. He's like the game director and
43:03: he like talks like really well about how
43:04: they design stuff. And the analogy used
43:07: like you know and like that I feel is
43:09: kind of apt for Doom Eternal. You're
43:11: like, you know, like a Ferrari, like
43:13: you're you're like, you know, like a
43:14: fighter. You're just like kind of
43:16: zooming around, you know, like sniping
43:18: the demons, like, you know, quick
43:20: switching weapons, you know,
43:21: headshotting everything. Um, you like,
43:24: you know, it's very kind of like laser
43:28: precise versus like the Doom Dark Ages.
43:32: Um, and you like, you know, like in a
43:34: very unstoppable machine, but you're
43:36: like more of a kind of glass cannon.
43:38: Like you're you're destroying
43:39: everything, but the moment like you kind
43:41: of stop or you stumble, like you get
43:43: hurt or you die. Um, with Doom, so you
43:47: kind of have to, you know, kind of
43:48: constantly keep like moving and zooming
43:50: around. uh with Doom Direct Ages like
43:53: there's still quite a bit of movement
43:54: but you actually you have the shield and
43:57: generally the slayer he feels very heavy
44:00: like a tank or like you know do you
44:02: imagine like use like what if he's like
44:04: you know heavy like a truck like one
44:06: there's one thing I really like that's
44:08: like super fun is like um in the
44:10: previous two games there's literally
44:12: there's no fall damage like you can fall
44:14: as far as you want like nothing happens
44:17: um with Doom Dark Hes there I like to
44:20: say There is fall damage. When you fall
44:23: really far, there's fall damage. It's
44:25: just not for Doomslayer. It's for all
44:27: the demons that are near you because
44:28: like if you fall from really high up,
44:30: all the demons there are going to
44:31: literally just explode. Um, so it's
44:35: like, you know, like you're literally
44:37: like playing it like it feels like, you
44:39: know, you're like a cannonball and you
44:40: have the shields like if you like you
44:42: have like a like in the in the maternal,
44:44: one of the worst thing that could happen
44:46: to you is you end up like in a corner.
44:48: You end up surround bunch of demons
44:49: attacking you. you're pretty much dead.
44:51: Like you you you you need to make sure
44:54: so you don't get into that you don't get
44:56: to that point where you get, you know,
44:58: cornered with doing direct agents
45:00: because you have the shield like you can
45:02: actually like when the demons attack you
45:04: actually parry them and then like a lot
45:06: of the weapons they're designed to kind
45:07: of work with the parry mechanic. Like
45:09: for example, uh chain shot, which is
45:11: sort of like this ball gun. Um if you
45:14: parry correctly, it fully charges it,
45:16: which like does a huge amount of damage.
45:18: Or my favorite, the rocket launcher. The
45:21: rocket launcher, there's splash damage.
45:23: So if you shoot demon that's too close,
45:25: it hurts you and can hurt you quite a
45:27: bit. But if you parry, then for a short
45:29: time, the splash damage heals you. So
45:32: you can literally get in the face of a
45:33: big demon having him like and especially
45:35: the big demons they will try to attack
45:36: you uh like you know with a parable
45:39: attack like if you're close so you get
45:41: like really in their face they will
45:42: attack you you parry you shoot them in
45:44: the face you know with a rocket launcher
45:45: heal up they'll try to attack you again
45:47: parry shoot them heal up like you get
45:49: like into this kind of like I like how
45:53: like Hugo Martin he likes to call it a
45:54: dance you know like you kind of like the
45:57: game has like its dance and you have to
45:58: learn the dance and that's how you get
46:00: like really good at game And Doom
46:02: Eternal, it has like its own form of
46:03: dance. And Doom Dark Ages, it also has
46:05: like the dance is different, but it
46:08: still feels very Doom. It feels like,
46:09: you know, kind of tearing everything up,
46:11: just doing a bit of um you know, it is
46:15: in a different way. Okay. And that's one
46:16: of the things I like is because like
46:18: with Doom 2016,
46:21: um it's
46:22: hard like once you play Eternal, it's
46:25: kind of hard to go back to it because
46:27: like Doom Eternal feels like a ramped up
46:29: 2016 like and then 2016 feels like much
46:33: slower. Um and it's kind of, you know,
46:35: you don't have the dash, you don't have
46:36: as much running. The demons are kind of
46:38: sluggish in comparison like it's just
46:40: kind of waddling around.
46:43: Um, but with Doom Eternal and Doom
46:45: Archages, I feel like they don't take
46:46: away from each other. They both kind of
46:48: stand on their own. Um, so and they're
46:52: both like very fun. Like once you kind
46:54: of like learn, you know, the Doom dance
46:56: for each one of them, like it becomes
46:57: like super fun and get into the flow of
46:59: the fight.
47:01: Um, and there's like a lot of like
47:03: really cool things like the like uh it's
47:05: a very different kind of design like the
47:09: um like the level design like the levels
47:11: are very big like this game like you can
47:13: like move around kind of like a lot but
47:15: you can also kind of zoom around quite a
47:17: bit. Um, so it's it's
47:20: very like very enjoyable. Like I've been
47:24: kind of playing through like replayed a
47:25: bunch of levels multiple times and kind
47:26: of been playing again, especially since
47:28: that. So
47:29: like they bump up the difficulty. So
47:32: like there's some things like you kind
47:33: of like they kind of tweak it. So
47:35: there's some things you cannot get away
47:37: with. I was watching the live stream
47:38: with Humar and he was like they have
47:40: like statistics so they can you know
47:42: tell how much people are dying on each
47:44: difficulty and he was like people are
47:45: dying people are not dying enough on
47:47: nightmare you're supposed to be dying
47:49: more so they kind of ramped up a few
47:51: things and there's like few few things
47:52: like you know where you used to get away
47:55: with it you know that um you don't
47:58: anymore like for example like there's
48:00: some attacks like where you could like
48:02: shield them and you would keep your
48:05: shield now like you're going to lose
48:06: your shield And one of the things in
48:08: Dark Age is if you lose your shield,
48:09: it's it can be a very quickly a death
48:11: sentence because then you cannot parry
48:13: the attacks and the demons can be very
48:15: very aggressive. Um it's it's very fun.
48:18: I'm very The only thing that like I'm a
48:21: little bit sad about is like the
48:22: soundtrack because like it doesn't sound
48:25: bad, but it's not it's not memorable the
48:28: same way like it was. Um because there
48:30: was like you know I don't get into it
48:32: but like there was you know the whole
48:32: thing that happened with Mordon but even
48:34: then like they got like Andre Hood and
48:36: David Levy and they did soundtrack for
48:39: the ancient like ancient gods like DLC's
48:41: for eternal and they like also did like
48:43: a really good job. It was
48:46: uh like it just like a lot of the tracks
48:48: that were very like you know memorable.
48:50: I could like remember individual tracks
48:53: and you know rifts from them for each of
48:56: the levels.
48:57: uh versus like you know with Doom Dark
48:59: Ages like it it doesn't sound bad but
49:02: like it's just
49:03: like to my brain it's it sounds more
49:05: like like oh it's generic guitar sounds
49:08: generic metal sounds as you're playing
49:10: through it. So it's like hard to like it
49:14: doesn't stick the same way like it does
49:16: the previous two games which is like a
49:18: little bit of like a let down for me. I
49:20: was kind of like I heard like there like
49:22: some parts that are like sound pretty
49:24: good that like I kind of remember a bit
49:25: but like not anywhere near to the level
49:29: like you know with the previous two
49:30: games including the DLC's. Um but
49:33: overall like it's like very enjoyable
49:35: game like they put a lot of like care
49:36: into it. They they balance it like you
49:39: know like pretty well like they made
49:40: like the core game play you know the
49:43: core game loop
49:45: like really really good. like once you
49:48: learn it, once you learn the pairing,
49:49: it's very very satisfying to play. And
49:51: there's a lot of like really cool
49:53: environments like I don't want to give
49:55: like too many spoilers, but there's like
49:57: um around like after the in the second
50:01: half of the game, there's like set of
50:02: levels which are
50:03: like I really enjoyed like the visuals
50:06: of them and like the theme and
50:09: stuff. Um but yeah, it's it's a very
50:12: good
50:14: game. I'm excited for the
50:24: DLC. So, next question is from Lux. Uh,
50:28: would it make sense to have asset Q as
50:30: his own support process? Also, what
50:31: character do you personally see? It's
50:33: rework having given as fragile state
50:36: which frequently breaks and is of course
50:38: vital for it functionality.
50:40: I don't h I don't know if the cure so
50:44: maybe the outside loader for static
50:46: assets could be on process. I don't
50:48: think it's as important necessarily but
50:51: also like I don't know what I actually
50:52: mean like with it like you know being
50:54: fragile state because I
50:57: don't think it is like general like
50:58: assets will load the the asset queue
51:01: always breaks. Oh, you mean Oh, you mean
51:05: the session ask session transfer
51:09: queue. Oh, no, that's Yeah. No, that
51:12: that wouldn't make sense to have its own
51:14: process. That actually kind of
51:15: complicates things a lot. Uh, that part
51:17: just needs to be rewritten. I feel like
51:19: you meant like the asset loading because
51:21: I said loading kind of server maybe
51:23: makes sense to have it own process
51:25: maybe. We'll see. Uh, the session answer
51:28: definitely not on process like that
51:30: doesn't really make sense for that. Um,
51:32: it just needs to be rewritten. Like it's
51:34: very
51:35: old code that like like needs to be
51:38: rewritten pretty much. I've wanted to
51:39: rewrite it for a while and I just
51:41: haven't gotten around to it. Um, but it
51:44: needs to be made more robust. Once I
51:47: rewrite it, it's more robust. I'll just
51:49: be taking tons of pictures in a war and
51:50: people be like, you break the asset.
51:52: I'll be like, no, I fix it. I can take
51:54: all these pictures and and can destroy
51:56: all your VRM.
51:59: Okay, so that's all the questions we got
52:02: from Discord. Um, that took a whole hour
52:06: pretty much. Oh my god. Is Yeah, there's
52:07: a lot of questions. If we if this kind
52:10: of keeps up, we might need to like have
52:12: There's a lot of questions from Twitch,
52:13: too. If this keeps up, we might need to
52:15: like insert like a system for
52:17: like we're only going to answer like,
52:19: you know, spend like this amount of time
52:21: answering Discord questions, like have
52:23: people vote on them or something.
52:26: Um anyway, let's start going through
52:29: these ones. So these ones we already
52:31: went through. Uh next question. Well,
52:34: the first question from uh Twitch is
52:37: from Snur and he's asking instead of S,
52:40: would you consider using a graphics
52:41: engine based on C# or better clarity? So
52:44: maybe like we haven't like made a
52:46: decision. There's like one that I've
52:47: been kind of looking at which is called
52:48: Stride. Um it's essentially a game
52:51: engine that's fully versioned in C. It's
52:53: a kind of neat project. uh it was
52:55: formerly named Zenko as well uh and then
52:58: like open sourced it. Uh so that's
53:01: potential. I think it like uh last time
53:02: I checked like it does use like forward
53:04: cluster rendering and it's kind of it's
53:06: kind of interesting how it does some
53:08: things like can actually take some
53:09: inspiration for some things I want to do
53:11: with the data like well the data model
53:13: but like how I want to redesign some of
53:15: the engine structures and integrate it
53:17: like into data model.
53:19: Um, so maybe there's like no decision
53:22: that's been made
53:26: yet. Pos is asking, "Do you dug a do?"
53:31: I've I've I've made the
53:35: glitch. Do I have to bring it? Do you
53:39: have to Do you have to experience the
53:40: beauty of Dagadoo?
53:42: Oh no.
53:47: is going to make me watch a video or
53:48: something, guys. I don't know what he's
53:49: going to do. We're going to make
53:50: everyone watch this.
53:53: Oh, this is This is the most beautiful
53:55: moment in the Doctor Who history. Oh my
53:58: god, it's still going. Oh my gosh, it's
54:02: still going. They So, oh my god, it's
54:06: loud. Um, I like how Fuks is like,
54:08: "We're only going to spend a small
54:10: amount of time on on questions. He's
54:12: bringing in a video. This is like 2
54:13: minutes."
54:15: Well, they they've been doing 24-hour
54:17: live stream.
54:19: This is the most sar, you're a fellow
54:21: doctor who watcher. How do you know not
54:24: how do you not know of duckadu?
54:27: How do you not know? I don't know. I
54:29: don't know.
54:32: Oh, wait. Is it going to play the audio?
54:34: I don't need any audio.
54:37: Hold on. Hold on. Hold on. Hold on. I
54:38: need to bring maybe the static clip.
54:40: This is the live stream, so maybe that's
54:42: not working, right?
54:44: Let's
54:46: see. There we go. It's just It's just 1
54:49: minute 42 seconds.
54:54: It's
54:54: Dadu. I've literally I've I've I've made
54:58: some I've put it on the like I've played
55:00: it like through Glitch a bunch of times
55:02: and then he played it and now he just
55:03: goes dagu and
55:06: um and some other people like you know
55:08: you're like like I'm staying like they
55:10: were like this is going to be in my head
55:11: for for a while.
55:15: Oh
55:16: boy. Is that
55:18: gu? It's not. It's uh still loading.
55:22: Huh? Okay. I I see it now.
55:28: Beginning.
55:43: Yes, we need avatar. Is there
56:01: run guys? Run. Please run.
56:05: Run.
56:11: I I think that's that's okay. We can
56:13: watch to this is on they've been live
56:16: streaming this for like three days now.
56:19: This is the worst resonance ever.
56:23: It's Tadoo. What I love is like a like
56:26: like I watched like the behind the
56:28: scenes and like Rasut Davis he was like
56:30: I'm washing my hands of Dadoo. Like that
56:32: had nothing to do with me. And then the
56:33: writer of that episode, she was like, I
56:36: didn't come up with that Kadoo. There
56:38: was nowhere in the script. Apparently
56:40: like Mor Gold who's like the main
56:41: composer, you know, who makes like these
56:43: super epic like tracks like he just made
56:47: this and send it to them and then they
56:49: were like freaking out about it and now
56:51: it's like, you know, 24 hours 7 live
56:53: stream that's on their channel for last
56:55: three days. So it's like very very
56:57: amusing. So yes um to your question I do
57:00: like I do and I make everyone suffer
57:03: like I do.
57:07: Oh dear. Um
57:12: so next questions from Mintshock. Uh is
57:15: there anything special you would have to
57:16: do to use the new audio features on
57:18: custom streaming cameras? Uh no there
57:21: shouldn't be. If you use the interactive
57:23: camera it should be pretty much
57:24: automatic. Like that component should
57:26: take care of it.
57:28: If it doesn't work or there's a bug,
57:29: like make a get up about
57:32: it. Oh no.
57:36: Oh. Oh no. I I I'm Never mind. I thought
57:40: like they started the stream. Um Oh,
57:42: it's still kind of Now that you have
57:44: started, do you have an ETA for the
57:45: split ending? I don't really have an
57:47: ETA. I would say like probably in a
57:50: month maybe. Hopefully. We'll see how it
57:52: goes.
57:56: essentially trying trying to do this as
57:59: fast as possible. Um, next question is
58:03: from Reen. Uh, when we come to I rework
58:05: in the future, does that include full
58:07: body rework as well or would this be
58:08: separate itself? And it's pretty much
58:11: the same thing like IK is used for full
58:13: bodies. So yes, like those like I
58:16: haven't even thought about these two
58:17: like you know being a separate separate
58:19: things.
58:22: Uh, next one is from Ace on Twitch 17.
58:27: Uh, is asking for IK questions. Uh, will
58:31: IK rework give us a more simplified full
58:33: body calibrator? For example, not having
58:35: to adjust your hips. So, your avatar
58:36: isn't like hunched. And that's pretty
58:38: much the point of it because like one of
58:40: the reasons it kind of hunched is
58:42: because the IK doesn't work super well.
58:44: So, you kind of have to spend a lot of
58:45: like messing around to make it look
58:48: better. But even then, it's kind of
58:49: difficult. The general goal is for IK to
58:53: just behave like way better out of the
58:55: box. So you don't have to spend time,
58:57: you know, fine-tuning it. So it's not
59:01: even like the like we don't even say
59:02: this calibration itself because we might
59:04: preserve the ability to, you know, do
59:06: fine adjustments if you really want to
59:07: do them. We want to make the IK work
59:10: well enough so you don't have to do, you
59:13: know, the calibrations in like 99% of
59:15: the cases or something like that.
59:20: Uh, next question is from the ultra wide
59:22: gamer. Uh, where should I put this? It's
59:25: big one. Ultra wide gamer is asking uh
59:29: because of all the
59:30: large my battery is uh because of all
59:34: the large and fast features we have been
59:35: implementing. Thank you for this by the
59:37: way. I have noticed lately that the
59:39: stability and its features have been
59:41: getting worse. Is there any plans to
59:42: slow down on features for a little bit
59:44: and focus more on back and stabilize
59:46: day? Um it depends which features you
59:50: want. Like usually when new features
59:51: enter in third it's going to be few bugs
59:52: but it also kind of depends how things
59:54: are kind of going lately. Like lately
59:56: I've been kind
59:58: of overstressed a bit so I feel I've
01:00:00: been making more kind of mistakes but
01:00:02: it's also like one of the things you
01:00:04: know where stuff like molecules going to
01:00:05: help because like one of the things we
01:00:07: don't really do is like pre-release
01:00:09: testing for everything. Um and one of
01:00:12: the reasons is there's like overhead. So
01:00:14: we did it for everything that would like
01:00:16: slow down the development so it's you
01:00:17: know to a halt but with molecule that
01:00:20: might actually kind of easier to do
01:00:23: where you know and it kind of comes with
01:00:25: a CI/CD stuff like where like you know
01:00:27: make a comet and like this just makes a
01:00:29: build and the build's available like you
01:00:31: know you can be like okay test this out
01:00:32: test this thing out test this thing out
01:00:34: so that might make things like that
01:00:35: easier uh but also yeah like usually
01:00:37: after big thing is done there's you know
01:00:39: some time spent on cleaning things out
01:00:42: as well and so
01:00:43: But it depends like what kind of
01:00:44: stability like you know you're kind of
01:00:46: thinking uh because like you know
01:00:48: stability can mean like you know crashes
01:00:50: like you know the process crashes down
01:00:52: or means like is a feature broken or
01:00:54: something. So
01:00:58: depends. Uh next question is from this a
01:01:02: big one uh from as on Twitch 17 with the
01:01:05: success of uh with the success of the
01:01:08: amount of uploads called spawning has on
01:01:10: GitHub. Thanks you for encouraging
01:01:12: people to upload if they want
01:01:13: corresponding in the updates channel and
01:01:14: discord. Would you consider encouraging
01:01:16: people to upload on other requested
01:01:17: features on discord like IKE rework, UI
01:01:20: work, protolex collections and what will
01:01:22: help you guys a lot in the roller
01:01:24: molecule? I mean yeah we kind of do that
01:01:26: like like anytime like issues kind of
01:01:28: come up we're like this thing would like
01:01:30: you know help fix it if you really want
01:01:32: to still fix this um you know this is
01:01:34: the feature to upload. So, and we kind
01:01:37: of keep bringing that, you know, like
01:01:39: when people are like, you know, there's
01:01:40: issues with like, you know, build
01:01:41: releases, not being able to like, you
01:01:43: know, revert builds and stuff like that,
01:01:44: we like, please support Molecule, it's
01:01:47: going to help us and it's going to help
01:01:48: you, you know, be able to like swap
01:01:50: those builds. So, in general, yeah, like
01:01:55: I mean like you can like, you know, we I
01:01:58: would encourage like people to just, you
01:01:59: know, vote on everything you like, you
01:02:01: know, if something's important to you,
01:02:02: like, you know, put a vote to it. I
01:02:04: think one thing I said we kind of be
01:02:05: careful is like you know if you upload
01:02:07: lots of issues you know and lots of
01:02:09: issues are like those that doesn't make
01:02:10: like one of the issues kind of stand out
01:02:12: so that can be kind of hard because like
01:02:13: if you say um this issue is important um
01:02:18: but you say like for multiple issues and
01:02:20: say like you know there's four issues
01:02:22: which all each one of them has 100 votes
01:02:25: you know they're kind of on the same
01:02:26: level meaning we can prioritize them in
01:02:28: the order but one of them has like way
01:02:30: more votes you know then it's kind of
01:02:32: trickier So we might like you know do
01:02:34: more things to kind of decide like you
01:02:36: know which one ends up being next. But
01:02:37: if one has like lots of roads and can be
01:02:39: like okay this seems like a really good
01:02:41: thing to prioritize right
01:02:43: now or you know in some cases we kind of
01:02:46: steer the development towards it like we
01:02:48: see like okay this is something that a
01:02:49: lot of people have interest in. We're
01:02:51: going to you know try to work towards
01:02:52: that because sometimes you know it takes
01:02:54: a bit like you know to be able to get
01:02:56: into specific issue.
01:03:00: Um, next one is from as7. After in-game
01:03:05: mesh vertx editing is implemented, do
01:03:06: you also plan adding blender like
01:03:08: modifiers for mesh in the future as
01:03:09: well? Yeah, there actually there's an
01:03:11: issue for it is the mesh DSP for proto
01:03:14: flag. So you essentially be able to, you
01:03:16: know, create like a sort of flow how the
01:03:18: mesh gets processed. So you can have
01:03:20: like, you know, you're going to be
01:03:21: editing the base vertices and then it
01:03:23: goes through DSP. So produce the final
01:03:24: mesh. And the DSP, you know, it can do a
01:03:26: bunch of things. You can do like you
01:03:28: know for example um apply you know
01:03:30: subsurface like um no subsurface um
01:03:35: subsurflex I completely forgot the name
01:03:37: of it uh subsurface
01:03:39: subdivision I think I might be messing
01:03:42: it up um essentially like smoothing out
01:03:44: the mesh you know doing kind of
01:03:46: processing and you can even mer and you
01:03:48: could even like merge it with like other
01:03:49: meshes and do stuff you know so you can
01:03:51: have like define a procedural kind of
01:03:52: pipeline with like you know vertices as
01:03:55: the basis
01:03:57: is so that's pretty much you know meant
01:04:00: to kind of like those two features are
01:04:01: meant to be kind of you know synergic
01:04:03: with each other
01:04:06: uh Grand K is asking uh how will the APC
01:04:09: stuff be tested really peace meal or as
01:04:11: a whole probably as a whole like like
01:04:14: most of it has to be working because
01:04:17: um if not all like if not if most of
01:04:20: it's not working then you pretty much
01:04:22: don't have a functional you know build
01:04:24: because say for example
01:04:26: We have a part of the IPC that uploads
01:04:29: assets but doesn't but we don't have the
01:04:31: part that like renders me renders
01:04:34: meshes. You have assets uploaded in
01:04:37: memory but you can't see anything
01:04:39: because there's no mesh. So like there's
01:04:41: nothing to test. So and it kind of comes
01:04:43: in with everything. Pretty much most of
01:04:44: the features they need something there
01:04:47: like you know it needs to be working so
01:04:49: you can actually have like something
01:04:51: usable build that you can test.
01:04:59: Um, Kaurus uh asking, "Were you
01:05:02: surprised how many people up a voted the
01:05:04: cost ban feature request after you added
01:05:06: it to patch note?"
01:05:09: Um, I don't know if I was surprised. I
01:05:11: mean, it seems like more than usual
01:05:13: because it's not the first time we did
01:05:14: it. Like sometimes we kind of like
01:05:15: include stuff, but uh um I think it
01:05:18: definitely helped and definitely helped
01:05:20: like, you know, show that like this is
01:05:22: something that a lot of people care
01:05:23: about. Maybe a lot of people didn't
01:05:24: didn't realize this is not an officially
01:05:26: supported feature. This is a hack. Um
01:05:30: you only want like official feature, you
01:05:32: know,
01:05:34: um you really want like official feature
01:05:36: so like you know don't run into into the
01:05:38: same situation
01:05:40: again. Uh next one is from Ace on Twitch
01:05:45: 17. When the inventory UI gets reworked,
01:05:48: will we also see the work of over
01:05:49: inventory?
01:05:52: I know that both will be using about
01:05:54: same data fees but legos inventory and
01:05:56: streaming UI looks outdated compared to
01:05:58: UI like inspector.
01:06:00: I'm concerned legacy for a reason like
01:06:04: it. Yeah, because like the inventory big
01:06:07: works that means we replace it. Like we
01:06:10: replace the legacy with a new one.
01:06:11: Meaning the legacy goes away. So like
01:06:14: when the inventory gets UI like when
01:06:16: inventory UI gets rework, the legacy
01:06:18: one's going to be just gone. It won't be
01:06:21: there anymore.
01:06:25: Yeah.
01:06:29: Uh Nichl is asking please open source
01:06:31: the render. I would love to push some
01:06:33: new material property blocks out. I
01:06:34: badly need new ones like texture scale.
01:06:37: Uh yes there's already got issues. They
01:06:39: just haven't been prioritized. So this
01:06:42: is one of the so this is actually one of
01:06:45: the reasons you know why we're kind of a
01:06:46: little bit worried about open sourcing
01:06:48: some things because um open sourcing
01:06:51: doesn't mean we're going to accept every
01:06:53: change and every PR
01:06:56: um because we still have to like you
01:06:58: know make sure it's kind of aligned with
01:06:59: our development and one of the things
01:07:02: I'm worried about is like you know when
01:07:04: open sourcing some people will be like
01:07:05: oh let's just add all these features I
01:07:07: wanted and then make a big
01:07:09: PR and will be like we can't merge this
01:07:12: because you know maybe there's technical
01:07:14: issues maybe maybe like you know we
01:07:16: don't want to commit to like you know
01:07:18: the maintenance like you know burden
01:07:20: because like once it's merged we are
01:07:22: responsible for maintaining the code we
01:07:24: have to make sure you know that code
01:07:25: that you contributed keeps working
01:07:28: because code like with changes code will
01:07:29: break and once we do switch the render
01:07:32: we also have to port all those changes
01:07:33: so maybe we'll be like we don't want
01:07:35: these extensive changes to stuff
01:07:39: um because you So like we'll have to
01:07:41: rework all of those when we switch
01:07:43: render. So we might like you know deny
01:07:46: those PRs and that can create a
01:07:48: paramount you
01:07:51: know anger like make people like mad you
01:07:54: know that like they spend work on like
01:07:56: implementing some things and you know
01:07:58: then we just reject them. Um so in a way
01:08:01: like in being kind of close source it
01:08:03: makes like we don't have to deal with it
01:08:05: kind of thing. Uh and when we do open
01:08:07: source it we need to kind of be prepared
01:08:09: for that. And one of the things would be
01:08:10: you know for example having a guideline
01:08:12: being like these are you know the code
01:08:14: quality standards you know that we
01:08:15: require these are like you know um these
01:08:18: are the things we accept these are
01:08:19: things we don't accept. So people know
01:08:22: up front, you know, like what are we
01:08:24: going to accept and what are we not
01:08:25: going to accept and don't they don't
01:08:27: spend, you know, a lot of time kind of
01:08:28: working on things that, you know, would
01:08:30: end up being rejected. But also, you
01:08:32: know, setting all of that up. That takes
01:08:34: time. And the Spark isn't like going to
01:08:37: do it like gradually too. And do it for
01:08:39: especially for parts of code where it's
01:08:42: much easier for people to run their own
01:08:44: fork like for example for importer or
01:08:47: exporter because with importer and
01:08:49: exporter, you don't care about, you
01:08:51: know, long-term compatibility with stuff
01:08:53: like you're kind of take you're taking
01:08:55: that burden on. Uh and it also has more
01:08:58: well- definfined API. So like you know
01:09:00: the it shouldn't break as much but
01:09:02: you're essentially responsible for
01:09:03: maintaining that because you can you
01:09:05: know you can have your own fork or an
01:09:06: importer or have like completely custom
01:09:09: community importer and you just you know
01:09:11: you load it in as a
01:09:13: plug-in and you know we don't have to
01:09:15: even worry about it. U where it's for
01:09:18: render you know that's something that
01:09:19: needs to be shared with everyone and
01:09:21: that like puts a lot more burden on the
01:09:23: maintenance. you know, you cannot just
01:09:24: run your own render because then you
01:09:26: would be able to see stuff that other
01:09:28: people don't see and that kind of breaks
01:09:30: the experience.
01:09:32: So, we're
01:09:35: probably not going to open source that
01:09:37: as soon as, you know, as the other
01:09:39: things or maybe we'll have like, you
01:09:40: know, some strict rules on what we
01:09:42: accept, what we don't. Well, we
01:09:43: definitely will once that happens. But
01:09:46: this is kind of like one of the things
01:09:48: is you know
01:09:49: like I don't want the open source auto
01:09:54: like you just can add like all the
01:09:56: features like you wanted like you know
01:09:57: like and automatically accept them.
01:10:01: Yeah. It's one of those things that like
01:10:03: you need to be prepared to take no for
01:10:05: the answer and have that not be like a
01:10:08: super like emotional thing like on on
01:10:11: the PR cuz it's all just like it's all
01:10:13: just like a very objective like
01:10:17: business. It's also like on our end
01:10:19: there needs to be a process we're
01:10:21: prepared to handle because right now I
01:10:23: feel like we're not. Yeah.
01:10:27: Um, next
01:10:29: question is from Nokiun. I noticed
01:10:32: special variables are sampled based on
01:10:33: their own slot and doing them from the
01:10:35: user viewpoint requires some factor. Uh,
01:10:38: what uses were the designed for beyond
01:10:40: sampling from user view.
01:10:43: I don't quite understand.
01:10:46: There shouldn't be. There's a protoflux
01:10:48: node you can use to sample from the
01:10:51: viewpoint. Like you just plug the
01:10:53: viewpoint protoflux node or the the user
01:10:56: view position into the sample uh spatial
01:11:00: variable node and there you go. Easy
01:11:02: peasy. You can pretty much sample them
01:11:04: from arbitrary position in the world.
01:11:06: It's like all in global coordinate
01:11:07: space. You just give it like a float
01:11:09: tree and you get whatever values at that
01:11:11: point.
01:11:18: Uh, next question is as on Twitch. While
01:11:22: legacy inventory has option for it, will
01:11:24: we ever see option to make your dash
01:11:26: shown to other users in future? For
01:11:27: example, you want to show users features
01:11:29: like customizing the dash. So you
01:11:31: demonstrate with your dash. Uh, that
01:11:33: might be a bit tricky. One of the
01:11:35: reasons like we don't really allow that
01:11:38: right now is like because it opens
01:11:40: security holes. Um we might end up like
01:11:44: maybe making some system that can
01:11:45: replicate just the visuals but even
01:11:47: that's kind of like you know tricky.
01:11:51: Um so with the inventory like you know
01:11:53: one of the things like with the redesign
01:11:55: is like uh with the data feeds and for
01:11:58: example with worlds is like data feed is
01:12:00: aware where it's running and based on
01:12:03: that you know it sort of filters the
01:12:05: data. For example, if you have a world
01:12:07: data feed that's showing active
01:12:08: sessions, if it's in world, it's not
01:12:11: going to show any sessions that the user
01:12:14: would have not seen otherwise. So, for
01:12:16: example, any, you know, context only
01:12:18: sessions or context plus sessions,
01:12:20: they're not going to be visible like the
01:12:22: data is not just going to provide them.
01:12:25: Um, because it knows in public, so it
01:12:27: only shows, you know, public worlds.
01:12:29: That way, it cannot be abused, you know,
01:12:32: to for example spy on somebody else's,
01:12:34: you know,
01:12:36: worlds uh the inventory data is going to
01:12:38: work the same uh it'll be able to you
01:12:41: know work with like public folders. So
01:12:44: if the folders already would be visible
01:12:46: to the user data is going to provide it
01:12:47: but it's not going to uh show you
01:12:50: anything that is private if is in
01:12:52: public. So that one's a little bit more
01:12:55: kind of scoped, you know, so we can kind
01:12:57: of design it in a way where it can be
01:12:59: more safely shared and within the world
01:13:01: because we kind of control, you know,
01:13:02: what data flows into it. With your dash,
01:13:05: dash is very complex. There's a lot of
01:13:08: stuff in it.
01:13:09: Um so like that becomes a little bit
01:13:14: harder to like you know just make the
01:13:16: clean separation for it.
01:13:18: Uh it would probably more be like you
01:13:20: know just like let's show just the
01:13:21: visuals but even the visuals could
01:13:23: potentially you know leak some sensitive
01:13:25: data. Um so the best thing would be
01:13:27: probably you know showing some kind of
01:13:29: like mockup or some stuff or videos or
01:13:32: you know simplified version of it. It's
01:13:35: a tricky
01:13:39: issue. Uh, next question is from Grand
01:13:44: K. Gr's asking,
01:13:45: "Shno, you're too late. We already had a
01:13:49: pit. Too
01:13:51: late." Uh, what time we have install
01:13:54: time.
01:13:57: And next questions from Noon. Uh, also
01:14:02: we'll be marking fish request for sample
01:14:04: that works from user viewpoint.
01:14:07: I you should be able to able to just
01:14:09: sample it already from wherever we want.
01:14:12: Yeah, there like I said there's a
01:14:14: viewpoint auto flex node. You can just
01:14:15: plug into the sample spatial variable
01:14:17: flex node.
01:14:22: Next question. I put this
01:14:27: um next question from as 17. After web
01:14:30: assembly gets implemented, would we ever
01:14:32: see support for something like Unity
01:14:33: plugins or any other render plugins in
01:14:36: the future? For example, I have a void
01:14:38: avatar and in Unity, I use this plugin
01:14:40: called HANA tool and it can do things
01:14:42: like add face track and blend shape to
01:14:44: my void avatar. Uh if I ever redo my
01:14:46: void avatar and resonate when official
01:14:48: VM support is added, it would be cool to
01:14:51: use Hannah tool in Resonate. Also um I
01:14:54: mean when we have web assembly
01:14:57: that like people can develop you know
01:15:00: plugins and stuff and the only
01:15:02: limitation is you know what kind of APIs
01:15:03: we provide to interact with things but
01:15:05: that tends to be very low level with
01:15:06: resite you know with the data model. Um,
01:15:10: so people could implement their own
01:15:11: plugins, but very likely, you know, you
01:15:14: wouldn't be able to just, you know, take
01:15:16: plug-in developed for something like
01:15:18: Unity and just bring it into Resonite.
01:15:20: That's not going to work because it's
01:15:22: version to work with Unity stuff, not
01:15:23: with Resonite stuff. um if you know the
01:15:28: developers of the HANA tool I'm not
01:15:30: really familiar with it so I don't know
01:15:31: like any specifics of it but if the
01:15:32: developers of that tool
01:15:35: um you know made a port then we'll be
01:15:38: able to use it the other approach
01:15:42: um would be you know with using Unity
01:15:45: SDK like once we introduce that because
01:15:48: that way you know you can have like you
01:15:50: you can build your stuff in Unity and
01:15:51: then let's just import it here uh
01:15:54: transfer
01:15:55: transfer it
01:15:56: here. That way you could use, you know,
01:15:58: plugins and tools used for Unity
01:16:02: um in your workflow and then bring the
01:16:04: stuff over and if you need to make
01:16:06: modifications, you know, use the tool in
01:16:08: Unity again and bring the stuff over. So
01:16:10: that would be the other approach if you
01:16:12: just want to use the tool that's made
01:16:13: for Unity. It's actually one of the
01:16:15: reasons, you know, like why we uh why
01:16:18: it's beneficial for us to have SDK for
01:16:20: Unity even though like, you know, we're
01:16:21: very focused on in-game editing is
01:16:24: because like it makes it usable with
01:16:25: existing tools and you know, stuff
01:16:27: that's made for third party tools and
01:16:29: you can kind of take advantage of them
01:16:31: in your workflow if you want
01:16:34: to. Um, next question is from as Twitch
01:16:38: 17 as well. Uh,
01:16:41: uh, where do I put it? Uh last question
01:16:44: from my batch. When the rigid body
01:16:46: physics is implemented, could dupler be
01:16:47: used on it? For example, uh you hammer
01:16:51: through a speaker playing audio and the
01:16:52: Doppler effect makes it audio sound
01:16:54: funny. If I'm gone, when you answer my
01:16:56: questions, I want to say thank you for
01:16:57: answering my questions and hope you
01:16:58: insider have a great rest of your
01:17:00: stream. Thank you. Uh I mean doesn't
01:17:03: really care what's moving the object. So
01:17:05: like if you have rigid
01:17:07: body it like it's going to work the same
01:17:10: way if you like if you were moving the
01:17:11: object you know with a paner component
01:17:13: or proto flags or just grabbing and
01:17:15: holding and moving it around the doesn't
01:17:17: care it just looks has the object moved
01:17:20: as it moved yes I'm going to apply
01:17:22: doppler so
01:17:24: there's not really anything special it
01:17:26: needs to do with Richard
01:17:28: body oh there's one more
01:17:31: um isn't uh forgot one more sorry Well,
01:17:35: we will be getting cloud spawning soon.
01:17:37: We'll be well, we haven't said soon, so
01:17:40: I mean, we're probably going to look at
01:17:42: it like, you know, posting like soonish,
01:17:44: but I don't want to make any promises
01:17:46: right now. Uh, will we see ability to
01:17:48: switch to avatar to
01:17:50: prox switch? Um, I mean, you can already
01:17:54: kind of do that like you can like, you
01:17:56: know, there's a equip avatar node. I
01:17:58: don't know exactly what you mean though,
01:18:00: like if you mean switching one from the
01:18:02: inventory. maybe like you know like API
01:18:04: so you can kind of like uh automate
01:18:07: stuff in your user space and you know
01:18:09: have it you know switch whatever avatar
01:18:12: you want have like whatever logic you
01:18:13: want but um I don't know if that's what
01:18:15: you mean or no I mean most likely you
01:18:17: would just spawn the thing and then
01:18:18: equip the avatar with the node
01:18:25: uh next question is from
01:18:28: Hazer didn't need to do
01:18:31: that come
01:18:36: I'm just going to put it this going to
01:18:37: be
01:18:37: crooked. Uh, could we see more setting
01:18:40: options in the client that lets us take
01:18:41: advantage of all the things that the
01:18:43: asset variant system I feel like asset
01:18:45: variant does a lot but not everything is
01:18:47: exposed to users currently to optimize
01:18:49: the game to their specifications
01:18:50: preferences. Um, and maybe we want to
01:18:53: add more in the future. uh question is
01:18:56: you know what specific options you're
01:18:58: thinking about because like most of
01:19:00: stuff like should be sort of exposed
01:19:03: this right now with the textures we do
01:19:06: want to add like you know stuff like for
01:19:08: example simplifying meshes so you can
01:19:10: like you know be like okay like there's
01:19:12: going to be limit on like geometry
01:19:14: complexity but like we don'tet system
01:19:17: doesn't support it yet. Some more for
01:19:18: example with audio like when say like
01:19:20: you have a slow internet you want like
01:19:22: audio files you know to be like more
01:19:25: compressed for smaller download maybe
01:19:27: you know that
01:19:29: um with the textures like like most of
01:19:32: options like you should only be like
01:19:35: exposed like you can it's pretty much
01:19:36: like you know resolutions stuff
01:19:39: so I don't know which options you're
01:19:42: thinking but like there's definitely
01:19:43: going to be more in the future.
01:19:52: Uh, next questions from
01:19:56: Nookun. Nukun is asking. Oh
01:20:01: no. Uh, do you have a world use new
01:20:05: builds to see what broke? It occurs to
01:20:07: me that would a good way to automate.
01:20:09: Uh, probably have something more
01:20:11: sophisticated. It usually depends what's
01:20:13: being developed. Like I try to like pick
01:20:15: worlds where I'm sure like you know some
01:20:18: of the features are going to be used. So
01:20:20: usually it's a combination. I pick
01:20:21: worlds where uh I know it uses certain
01:20:25: things that are being changed that could
01:20:27: break. So it's going to depend on the
01:20:29: specific feature. I also tend to test
01:20:31: with like popular worlds. So if there's
01:20:33: like you know words that like people use
01:20:34: a lot like you I use those. It depends.
01:20:37: It depends on the specific thing. Um,
01:20:41: automating stuff is like a little more
01:20:43: difficult because like that's going to
01:20:44: depend a lot like on specific kind of
01:20:52: feature. Next question is from BD I keep
01:20:56: doing this. Um, can you help?
01:21:01: Yeah, it's fine. There we go. Okay. Uh
01:21:04: BD is asking with the future in new
01:21:06: rendering engine is there any
01:21:08: possibility of moving to double world
01:21:10: coordinates to avoid uh floating
01:21:12: pointing issues with large world? Uh
01:21:14: probably not. I'm very unlikely going to
01:21:17: do like doubles because you cannot do it
01:21:19: just with the rendering. You kind of
01:21:21: have you need to propagate it through
01:21:22: entire pipeline which means you know the
01:21:25: transform which means the hierarchy uh
01:21:28: which means the physics engine like a
01:21:30: lot of the stuff like it needs to like
01:21:32: you know always use doubles and problem
01:21:34: is there is a pretty significant
01:21:36: performance cost with that um you know
01:21:39: because doubles like they literally use
01:21:41: double amount of memory which you know
01:21:43: means you get double the CPU cache
01:21:45: misses they also with modern CPUs and
01:21:48: especially modern GP modern GPU use they
01:21:51: are way slower like um especially with
01:21:56: like
01:21:57: um if with consumer GPUs doubles are
01:22:01: slow but even with a specialized GPUs
01:22:04: you know that like are designed for like
01:22:06: you know scientific workloads and have
01:22:07: like better double performance often
01:22:10: times the double performance is like
01:22:12: less than half of what you get with
01:22:14: floats. Um so like you you it's
01:22:17: something like you use in a very
01:22:19: specialized you know
01:22:21: scenarios because because like you know
01:22:22: there's a quite a big penalty for it.
01:22:26: Um so it's not something like we would
01:22:29: like you know switch especially because
01:22:31: there's like other approaches you can
01:22:33: use you know for example one of the
01:22:36: things is like kind of partitioning
01:22:37: world and sort of like keeping keeping
01:22:39: the actual floating point corners small
01:22:42: and then having separate coordinate
01:22:43: system you know uh that you know is like
01:22:47: a more kind of global position and it
01:22:49: would be something you know for example
01:22:50: with the domain system where you know
01:22:54: you chunk the world into smaller chunks
01:22:56: and then within each chunk your relative
01:22:58: position is small but the chunks are
01:23:00: sort of positioned relative to each
01:23:02: other. So you can like you know travel
01:23:04: huge distances without the values
01:23:07: actually being you know
01:23:09: huge. So very unlikely like you know to
01:23:12: switch to doubles for this like that it
01:23:14: would have pretty bad performance
01:23:20: implications.
01:23:21: Um K uh why is superlex pack uh
01:23:24: unpacking recursive when packing only
01:23:27: targeting slot? Uh it's so you can kind
01:23:29: of just unpack like um like there's like
01:23:33: two reasons like one you can unpack
01:23:34: multiple groups at once. So like you
01:23:36: know you have like things can organize
01:23:38: you can just be like you know we have
01:23:40: like things organized into modules you
01:23:42: can just take the route and go unpack.
01:23:44: The other part is so you don't have to
01:23:46: pick the specific slot. Like if you have
01:23:48: like um if you have like you know your
01:23:50: sword and maybe like you know have it
01:23:52: like suborganize you can just pick that
01:23:54: and go unpack and it's going to work
01:23:58: um you know as long as like you know
01:24:00: otherwise you have to like be very
01:24:02: specific with which slot you select and
01:24:04: that's not going to be as good like for
01:24:06: user like you know intuition because you
01:24:08: you essentially say you would have like
01:24:10: you know a little bit of organization
01:24:11: you go unpeg nothing happens and that's
01:24:13: confusing to user and and you have to be
01:24:15: like no no no you have to like you know
01:24:17: have to like you know one slot lower you
01:24:18: have to unpack like you know
01:24:19: specifically this way like it doesn't
01:24:22: make a good UIX.
01:24:24: Yeah to to I think the to infer a little
01:24:28: bit of context from that previous one
01:24:29: they were probably thinking about like
01:24:31: accidentally unpacking the entire world
01:24:33: route.
01:24:37: Yeah. Uh how it's going to happen. It's
01:24:41: also like one of the things you know the
01:24:42: solutions for that like we can be like
01:24:44: where the system goes like it's like
01:24:47: we're about to unpack you know huge
01:24:50: amount of nodes is that do you really
01:24:51: want to do that?
01:24:55: Um anyway the next question is from
01:24:57: Maria H. Uh which update holds the world
01:25:01: record of being the shortest amount of
01:25:03: time since the update before it? I don't
01:25:05: really know. like we usually um when
01:25:07: there's an update sometimes there's like
01:25:09: you know issues that pop up. Uh so like
01:25:12: there's like a hot fix like you know
01:25:13: shortly after it. So this happened a few
01:25:15: times. Usually whenever I release an
01:25:18: update I will just kind of keep thing
01:25:19: monitoring things for a bit see if
01:25:21: there's like anything on fire and uh if
01:25:23: there is like you know I try to catch it
01:25:25: up like quick. Um so there's been like a
01:25:28: few times like where that has to be
01:25:30: done. We really try to avoid it as much
01:25:32: as we can but it's kind of you know a
01:25:33: balance of uh how thorough the testing
01:25:36: is um for each you know of the
01:25:41: features and it's like even some things
01:25:43: you know like we've had cases where I
01:25:45: had to like do like when we've done like
01:25:47: literally weeks or even sometimes months
01:25:50: of pre-release testing the build gets
01:25:53: updated and there's a big issue that
01:25:55: pops up that nobody found during the
01:25:57: pre-release testing so I have to like
01:25:59: quickly patch it as well. So stuff like
01:26:01: that
01:26:04: happens. Uh Epic Distance asking the the
01:26:08: what brain ship there was like a news
01:26:10: recently that Gabe New he has a company
01:26:12: called like I think it was like Starfish
01:26:14: something. Uh he has a company that's
01:26:16: like looking into like neural
01:26:22: interfaces. Um Epicistan's asking will
01:26:25: there be a preant to do that. Uh, Epic
01:26:29: is asking, "Will there be a pre-release
01:26:31: to the mesh upload pipeline to make sure
01:26:33: that everything is working?" Uh, not
01:26:35: sure yet. Depends, you know, I'll do
01:26:36: like bunch of testing, see like how
01:26:38: things work. There might not be because
01:26:40: like it might just be like fine like and
01:26:43: there's not like too much variability to
01:26:45: it, but there might be depend. It's not
01:26:48: finished yet, so I don't know yet.
01:26:52: Um, next question is from BitCrack IGN
01:26:55: is asking how big is the IP buffer or
01:26:58: IPC? Is it dynamically sized? Yeah, it's
01:27:00: pretty much dynamically sized. It's
01:27:01: going to depend, you know, how much is
01:27:03: happening. Uh, if you in the smaller
01:27:05: worlds, small amount of stuff happening,
01:27:07: it's going to be small and as like as
01:27:09: you load stuff, it's going to become
01:27:12: bigger. Uh, NightLab VRC is asking plans
01:27:16: for inverse kinematic fixes. Um, so like
01:27:20: I mean like the I like the full body IK
01:27:22: and such. Uh, we don't actually plan on
01:27:24: any sort of small incremental fixes. We
01:27:26: plan to replace it completely uh with a
01:27:29: redesigned system that's going to, you
01:27:30: know, fix a whole bunch of things all at
01:27:33: once. Uh, and that's the we generally
01:27:36: call that the IK
01:27:41: rework. Oh, this is the Doom part. D is
01:27:45: asking for me the m new music is missing
01:27:47: the complex and weird but working
01:27:49: amazing sound design of Mordon just too
01:27:52: generic. Yeah, that's kind of what I
01:27:54: would describe. Like the music it
01:27:55: doesn't sound bad but it's just too
01:27:57: generic. Like it doesn't stick to the
01:27:59: brain the same way like
01:28:02: um the previous one
01:28:05: did. Next questions
01:28:07: from Saden Dab or Sen, I don't know how
01:28:11: to pronounce that.
01:28:13: Um, hi. Out of curiosity, I know English
01:28:16: is the work language of the core team.
01:28:18: Which other languages do you and other
01:28:20: team members speak? Well, I speak Czech.
01:28:22: That's my uh native language. I can also
01:28:25: understand Slovak, which most Czech
01:28:27: people can do. Um,
01:28:30: I don't actually Oh, so I know Bob, uh,
01:28:34: who's our finance officer. He actually
01:28:36: speaks bit of Japanese, which is like
01:28:38: been very useful because been
01:28:40: interacting a lot with the Japanese
01:28:41: community. Uh, and he also visited like
01:28:43: in Japan. I think he knows a few other
01:28:45: languages still a bit as well, but the
01:28:46: Japanese I think is the most permanent
01:28:48: one. Um, I don't know for other team
01:28:52: members
01:28:54: much. It doesn't come up like super
01:28:56: much. I mean, the only the only other
01:29:00: one I technically speak a little bit is
01:29:02: like tokip pona, which is like a it's
01:29:05: not even like a real language. It's like
01:29:06: a conlang. So, it's it's like super
01:29:09: duper simple, 125 words.
01:29:12: Um, yeah, I recommend looking it up.
01:29:15: It's super fun. It's a nice cool. I
01:29:18: really like it. Like, it makes you
01:29:19: really think about languages and
01:29:21: communication, like how we kind of
01:29:22: communicate concepts.
01:29:25: Yeah.
01:29:27: Yeah. I don't I don't actually know like
01:29:28: um it doesn't really come up much.
01:29:34: Um Yeah. like like most of us
01:29:38: like yeah I can't think of anything else
01:29:41: other than the B scenario because that
01:29:42: one comes up like because of the
01:29:43: business things with the Japanese stuff
01:29:46: and I think I'm the
01:29:49: only I think on the team I'm the only
01:29:51: like non-native English speaker myself
01:29:54: right now. I
01:29:57: think I
01:29:59: know we have to ask
01:30:04: around. Uh Nikki put this special was
01:30:09: asking. We'll have to look at it
01:30:11: afterwards. Ni, what is dagger do? You
01:30:15: you know what it is now.
01:30:18: It's the bird.
01:30:21: You know what this is now? It's no more.
01:30:25: Is it by bear official, isn't it? Dad do
01:30:28: Avatar when I don't know I could do
01:30:30: that. Like that's technically, you know,
01:30:32: not um it's BBC stuff. I mean, I figure
01:30:37: somebody's going to do it sooner or
01:30:40: later. Oh yeah, there's a bunch of
01:30:42: stuff. Um, next question is from Rasmos
01:30:45: 0 uh
01:30:47: 0211. Uh, what are the prospects of
01:30:50: future physics components besides
01:30:51: character controller? pretty much like a
01:30:53: full like standard kind of standardish
01:30:56: set of like you know rigid body physics.
01:30:57: So we have like you know rigid bodies
01:30:59: bunch of constraints uh you can have
01:31:01: like you know some stuff like apply
01:31:02: forces and stuff like
01:31:06: that. Next questions from Lucas 7. Uh
01:31:11: sorry I just got here but uh did
01:31:13: something happened to the stream audio?
01:31:15: I think obviously it's recording work.
01:31:16: Oh no is it? Have you even asked people
01:31:21: why another person says it sounds fine
01:31:23: to them?
01:31:25: Okay, maybe maybe they just maybe they
01:31:28: joined when I was switching it. No, I
01:31:30: think I switched before then.
01:31:33: That's weird. Are you hearing my voice
01:31:35: twice? You should be like hearing my
01:31:37: voice spatialized because it should be
01:31:39: being rendered from viewpoint of the
01:31:41: camera. I kind of wish we had like a
01:31:43: time stamp for the questions so we knew
01:31:44: how long ago they were asked. Oh, very
01:31:46: cool feature.
01:31:48: Yeah, Jack, if you're watching. Yeah,
01:31:51: Jack. Chop chop. Thank you.
01:31:57: Uh, we love you. Okay. Here.
01:32:02: Um, any like we can address this, but
01:32:06: like with open sourcing parts of
01:32:07: Resonite, would you consider having
01:32:09: three contribution grind to make PRs
01:32:10: more manageable? We pretty much will
01:32:12: have to.
01:32:14: And even then, like I'm still kind
01:32:17: of scared of it. Like what's like like
01:32:21: I'm worried about the drama that's going
01:32:23: to happen like when it happens and if
01:32:26: something doesn't get merged. So that's
01:32:29: one of the things like you know I feel
01:32:30: like we need to kind of be prepared for
01:32:31: and have like good kind of processes in
01:32:33: in place. A lot of people used to the PR
01:32:36: workflow.
01:32:38: Yeah. It's also like just being you
01:32:43: know not like because we have to be kind
01:32:46: of be like what we accept. Um, so I
01:32:50: don't people think, you know, like open
01:32:52: source means like now everything kind
01:32:53: of, you know, gets accepted, everything
01:32:54: kind of
01:32:56: goes. We have to kind of keep like, you
01:32:58: know, the long-term kind of like
01:33:01: long-term maintainability of the project
01:33:02: and we have to make sure, you know, it
01:33:05: doesn't, you know, introduce any
01:33:07: problems either now or downline and that
01:33:10: can be kind of tricky
01:33:12: process. Uh, next questions from Grand
01:33:15: UK. Um, Kent is asking uh when Molecule
01:33:19: is out to help with builds and plugins,
01:33:22: will there be better documentation for
01:33:23: making plugins with Protolex monos and
01:33:25: Protolex bindings? Not really with
01:33:29: Molecule. Uh, this like a separate thing
01:33:32: maybe like you know with web assembly
01:33:33: but uh we'll
01:33:35: see like
01:33:38: um it's not really like molecule
01:33:42: related. Uh so just obvious it's going
01:33:45: to be data feeds all the way down. It's
01:33:48: pretty much all going to be data
01:33:52: feeds.
01:33:58: Um next question from Rniko is like just
01:34:01: kind of elaborating on it one. Um yeah,
01:34:04: I mean
01:34:05: like it it doesn't it depends on the
01:34:08: specific kind of thing you want and like
01:34:10: I haven't like had time like you know to
01:34:12: look at this thing and evaluates it. So
01:34:14: like I don't know um even like you know
01:34:17: extending it on things we have sometimes
01:34:19: you know we don't expose certain things
01:34:21: sometimes extended means you know like
01:34:23: sometimes we don't extend things because
01:34:25: we know this is going to get replaced
01:34:26: and if we extend it then we need to
01:34:28: rework a bunch more stuff. So, it
01:34:31: depends. It can be
01:34:34: complex. Uh, checking time. We got 25
01:34:37: minutes left.
01:34:40: Um, next question is from Ozie asking
01:34:42: late question, but is there a way to
01:34:44: communicate some user space settings
01:34:46: directly to workspace? Say dead zone
01:34:48: settings or turning type without cloud
01:34:50: wars. Um, some of them we can actually
01:34:54: mark to be available in world space. I
01:34:56: think I forget. I think we have a
01:34:58: mechanism for that. I just kind of
01:35:00: remember adding one. Uh it might be I
01:35:02: would probably make a GitHub like is
01:35:04: we'll see
01:35:06: like see if you
01:35:09: um we can kind of look into it. I have
01:35:11: to like check the source code but I
01:35:14: think there was a mechanism for like
01:35:15: some of them to be accessible in world
01:35:20: space. Uh next question from Shadow X
01:35:23: related question about being able to
01:35:24: make a garage visible to others. There
01:35:26: are Minecraft mods that directly stream
01:35:27: a video of users inventory and other UIs
01:35:29: to everyone on the server. Maybe it
01:35:31: could work this way. Of course, a
01:35:33: prerequisite is the ability to
01:35:34: dynamically create video streams which
01:35:36: would also be need for streaming. Yeah,
01:35:38: like once we have desktop streaming like
01:35:40: you can stream like once we able to
01:35:41: stream video that makes the stuff like
01:35:43: that easy because you know we can just
01:35:46: render the user's view and like you know
01:35:48: check it into the world and like you
01:35:49: know you show them live. So that is
01:35:51: definitely approach and one that would
01:35:53: like open like you know lots of kind of
01:35:55: options um for the description and stuff
01:35:58: like that. So
01:36:02: uh next question from ultra wide gamer
01:36:06: uh I just read into the molecule get up
01:36:08: issue for the first time and molecule
01:36:09: sounds really useful and should be
01:36:11: implemented sooner rather than later
01:36:12: later. Do you have any major features
01:36:14: that you think should be implemented
01:36:15: sooner than later as to helpers and I be
01:36:18: best platform it can be? Yeah, molecule
01:36:21: will definitely like it would help us a
01:36:22: lot. It's just kind
01:36:23: of, you know, like the problem is
01:36:26: there's too much stuff uh right now, you
01:36:29: know, performance that's being like one
01:36:30: of the big ones. Um I do think like in
01:36:33: order of the UI stuff is also like
01:36:34: important because it's going to help
01:36:36: like with the smooth stuff. I do think
01:36:38: having Unity SDK would help sooner than
01:36:42: later as well because like you know
01:36:44: that's going to help like onboarding
01:36:46: like people and make it much easier for
01:36:48: people to kind of come over from you
01:36:49: know different platforms and help people
01:36:52: start building you know workflows and
01:36:55: also it's one of those things like where
01:36:56: the unit SDK we actually want it to be
01:36:58: open uh so people can extend it you know
01:37:01: and make improve the conversions you
01:37:03: know and just kind of build upon it Um,
01:37:07: so that would be like a I think it would
01:37:10: one another one that I think should be
01:37:12: done sooner and later is the workshop
01:37:15: because right now there's so much stuff
01:37:17: like you know the people who share
01:37:18: through share folders and the sooner we
01:37:21: have workshop and people can start
01:37:23: uploading stuff there the you know the
01:37:26: sooner essentially starts getting
01:37:27: populated and the more content we get
01:37:29: and that content
01:37:31: uh is you know accessible and searchable
01:37:33: for everyone for every new user.
01:37:36: Uh so it's like you know something we
01:37:37: want to do as soon as possible because
01:37:39: like with shared with like public
01:37:41: folders like you know it's a bit of a
01:37:43: lossy process because once the folder
01:37:45: stops cutting around you know that thing
01:37:47: is kind of lost you cannot really find
01:37:49: it easily with workshop like you know it
01:37:51: just kind of stays there until the user
01:37:53: like removes it. So I think the one like
01:37:56: would be also beneficial to have like
01:37:59: sooner but there's generally just a lot
01:38:02: of stuff and a lot of things we also
01:38:03: just kind of help birds and I just in
01:38:04: different
01:38:06: ways. Uh next question is from VT
01:38:08: arosource. Is there a uh is there a
01:38:11: universe comprised of multitudes of real
01:38:13: dog man? I don't know probably like
01:38:15: depending on depending on how like you
01:38:18: know how the multiverse is if if there's
01:38:21: like every possible reality maybe
01:38:23: there's like you know one where that is
01:38:26: possible I don't know we have no way to
01:38:28: test it
01:38:32: um next questions from redniko was ref
01:38:36: ID so I can call him and increase de
01:38:38: speed with fivees ref they're not
01:38:42: they're they're dynamic
01:38:46: change. I'm going to respond and it's
01:38:48: going to be
01:38:51: different. Uh, next questions from
01:38:54: Nukun.
01:38:55: Uh, I just looked it up in a search.
01:38:58: Someone is putting together a rigged
01:39:00: Nadu match, so it's only a matter of
01:39:02: time.
01:39:06: Beautiful. Reco size 400. Does this
01:39:10: work? No, it doesn't. No.
01:39:15: Grand
01:39:19: decals. It's the opposite of snow. Oh, I
01:39:23: had one. I forgot about I I don't
01:39:25: remember it now.
01:39:29: I had one, but I forgot.
01:39:34: Crap. I don't I don't have anything that
01:39:36: makes me feel good this week, guys.
01:39:38: Help.
01:39:39: What? just get that bad.
01:39:44: Um, yeah, I had one but I don't remember
01:39:47: what it was. Pet was asking fret. I
01:39:51: don't have
01:39:53: ferret.
01:39:55: Uh, does the sprinkles is
01:39:59: asking just mention molecule in update
01:40:02: notes and then everyone will upload it
01:40:06: maybe. I mean that's the question. The
01:40:09: problem is like at that point like we
01:40:10: also like kind of skewing things because
01:40:12: we
01:40:14: like oh no I don't think the do mesh is
01:40:18: ra I think it's 3D print and yes it's
01:40:23: going to happen
01:40:25: um next questions from Kk would unity
01:40:28: SDK include ways to work with flex and
01:40:30: there's components so u flex would
01:40:33: probably need like you know like UI so
01:40:36: you need like you know a bunch of like
01:40:37: you know based UI and stuff like to work
01:40:39: with it. Um the plan for the SDK is so
01:40:42: you can technically have like anyone
01:40:45: component so you could do flex that way
01:40:48: but that will be really painful to do.
01:40:51: Um but we probably wouldn't produce like
01:40:54: you know make our own like UI for it uh
01:40:57: in
01:40:58: Unity but it might be like you know like
01:41:01: if we make it open somebody might make
01:41:03: it. Um but also like even then it's kind
01:41:06: of tricky because like do you like how
01:41:08: do you test it in Unity because you're
01:41:10: not running in Unity. So it's kind of
01:41:12: you know just kind of providing a
01:41:15: structure so it kind of becomes you know
01:41:17: like how detailed you want it to be. So
01:41:20: technically yes but like I don't know if
01:41:21: it'll be
01:41:24: practical.
01:41:26: Um next question would be from Platypus
01:41:30: 744. you mentioned that future episode
01:41:32: might vary in style where what were your
01:41:34: other ideas for doing resonance. Um
01:41:37: we're kind of like thinking about like
01:41:39: doing like you know stuff like playing
01:41:40: some other games and so on kind of like
01:41:42: you know chatting during that but it's
01:41:43: kind of was it's kind of like just
01:41:46: become like lots of questions and just
01:41:48: kind of haven't bothered like doing
01:41:51: different things yet. Maybe we'll see in
01:41:54: the future. But uh stream. Oh no.
01:41:59: Angel is asking, "Is the frogs made of
01:42:02: banana flavored ice cream?" No, it's
01:42:03: mango. Mustard. No, no,
01:42:08: mustard. Uh, next question from Red
01:42:12: Neco. Uh, about something important with
01:42:14: the workshop. There's a few worlds that
01:42:16: are unavailable in handless. Mine called
01:42:18: Aridia. Uh, hidden theater by master and
01:42:21: bunch of other people. Navy Seal, but
01:42:23: will the workshop have a system for
01:42:25: worlds like this that are 24 up but only
01:42:27: headless? Um, if it's like more of the
01:42:30: worlds thing like where you like Oh,
01:42:33: wait. Am
01:42:36: I was I not
01:42:42: mirroring? Wait, what? How long was my
01:42:47: camera? Oh, did I misclick it? How long
01:42:50: was it not doing that? I think it's just
01:42:53: it's just for a couple minutes.
01:42:56: Okay. Uh it might have broken the audio
01:42:59: too.
01:43:00: Oh no. Uh what else was was the last
01:43:03: time? Did it just happen? Oh, it was
01:43:06: just few seconds. I think I just
01:43:07: literally clicked it now. Okay. Okay. We
01:43:09: should be good now. Uh I forget where I
01:43:12: was.
01:43:13: Um, I'm going to buy something for
01:43:15: concern, but I feel like this is more
01:43:16: like a worlds thing where this like, you
01:43:18: know, these are like public worlds you
01:43:20: can like visit. So, there might not be
01:43:23: as much workshop thing because workshop
01:43:25: is more like stuff to spawn and to
01:43:32: open. Uh, oh, we're actually kind of
01:43:35: running through the questions. We have
01:43:36: 15 minutes left, so there's still time
01:43:38: for a few.
01:43:40: Um, the next question is from VT
01:43:43: Arts. Um, do first have to queue it at
01:43:47: least before they take away your socks
01:43:48: and other objects? I don't know what I
01:43:50: mean. Why frets
01:43:54: in
01:43:55: confusion? Uh, next question is from uh,
01:43:58: Grand K. Uh, on a scale of one to page,
01:44:01: what is your favorite color of the
01:44:03: albat? Uh, it's a blur.
01:44:13: Yeah. No, I'd really like to be able to
01:44:15: adjust textures on a material and might
01:44:18: we ever see that sort of feature. I
01:44:20: don't think for any material because
01:44:23: like it doesn't quite work well with
01:44:25: everything. Um I feel like once you have
01:44:28: like you know shader support like you
01:44:30: can just do type planner for whatever
01:44:32: you want and just implementing specific
01:44:34: versions of it. But probably not super
01:44:37: much before then. Those fancier
01:44:39: materials do have a slight rendering
01:44:41: cost. Just as an FYI, they're doing more
01:44:43: stuff. Yeah, triponer is more expensive
01:44:46: than normal one. It's not like something
01:44:48: that's going to kill you, but it is more
01:44:50: expensive. Like, so like if you don't
01:44:52: need to use triponer, you don't want to
01:44:53: use
01:44:56: triponer. Uh, next question is from
01:44:58: Episton. Uh, so the audio is relative to
01:45:01: uh camera for us, but for you it's fine.
01:45:04: Yes. Yeah. I hear like siren on my left
01:45:06: and you hear properly you know from
01:45:08: view. This is actually a new feature of
01:45:10: audio because we can render the audio
01:45:12: from multiple viewpoints. Uh so like you
01:45:15: know there's like one viewpoint that's
01:45:16: being rendered for me that's you know
01:45:17: going to my headset and there's another
01:45:19: viewpoint that's being rendered from the
01:45:21: camera's perspective that's going to a
01:45:23: different audio device that OBS is
01:45:25: capturing and it's actually also
01:45:28: rendering my own voice. So you're
01:45:30: hearing my voice, you know, for
01:45:32: specialized like, you know, if I go like
01:45:34: like like this and go blah blah blah and
01:45:36: I'm behind you. You should be able to
01:45:38: hear this, you know, correctly because
01:45:42: it's being rendered for audio even
01:45:44: though I'm the one streaming. So I don't
01:45:46: even have like OBS capturing my
01:45:48: microphone.
01:45:51: Um, it's just, you
01:45:54: know, this new audio feature. I wanted
01:45:57: this one for so long.
01:46:02: Uh, DECO opinions on the gas faster from
01:46:04: TF2. I don't know. Is it like a I don't
01:46:08: know what that one is. Is that like a
01:46:09: pyro thing? I don't know. I don't play
01:46:12: DF2. I played a bunch, but I don't
01:46:15: remember gas passer. I used the back
01:46:16: burner with pyro a lot. But
01:46:22: um, I'm sure asking what is blur? It's a
01:46:25: type of blanc.
01:46:31: Uh, next question from Shadow X. Do you
01:46:34: see your current project the measure
01:46:35: plot increasing performance already or
01:46:36: is it purely prerequisite to the actual
01:46:38: split thinning? Um, yeah, I think it's
01:46:41: actually going to help because um, one
01:46:45: uh there's less overhead like you know
01:46:46: with Unity doing validations and so on
01:46:48: because we sort of pre-generate all the
01:46:49: stuff uh, and we just you know give it
01:46:52: to Unity. The other part is uh is it
01:46:55: essentially separates out big mesh
01:46:56: uploads over multiple frames. So we have
01:46:59: like you know heavy mesh with lots of
01:47:00: blend shapes and stuff um instead of it
01:47:04: you know if the upload happening in a
01:47:06: one go at once you know where it just
01:47:08: kind of freezes you for a bit it's going
01:47:09: to be spread out and it's not going to
01:47:11: lag you as much. So I think that alone
01:47:13: will help like you know performance a
01:47:14: bit especially when people loading in um
01:47:17: with avatar is loading in you know with
01:47:19: kind of stuff. Uh but it is definitely a
01:47:21: prerequisite like even if it wasn't
01:47:24: going to help like we would still need
01:47:25: to do it um because it makes it like you
01:47:27: know so like the entire mesh data that's
01:47:29: loaded in by the main process can just
01:47:31: be put as a by buffer into shared memory
01:47:34: and then just unit is told okay just
01:47:36: shove this you know data into the GPU
01:47:38: and treated as a mesh I don't mean to
01:47:41: skip the question key but would there be
01:47:43: some kind of progress indicator to show
01:47:46: when a mesh is uploading or could not
01:47:49: Okay.
01:47:50: Um I mean the progress indicator is
01:47:54: mostly for like the download because
01:47:57: usually the download is the one like you
01:47:59: know it's going to take like longer like
01:48:02: even for bigger messages it shouldn't
01:48:03: take like it should take maybe like a
01:48:05: frame like a second to upload so like
01:48:07: you know it's not really worth doing
01:48:10: super heavy reporting on that one.
01:48:13: Um, okay. Come on. Do you remember your
01:48:17: I don't remember the I had I don't
01:48:19: remember what it
01:48:20: was a was also the opposite of I had
01:48:23: like opposite of but I don't know what
01:48:25: it
01:48:27: is. I need to break them
01:48:31: down. Uh, Granny K, where is your supply
01:48:35: of soap so we can stop you from eating
01:48:37: it? I make my
01:48:40: own. Delicious.
01:48:43: Yes. Uh, next questions from the red
01:48:46: neco. Uh, by the way, you don't get
01:48:49: enough. Thanks. Pro big hug. This
01:48:51: platform is amazing. I could have never
01:48:54: dreamed of making something like but so
01:48:57: easy to make stuff. Yay. Thank
01:49:06: you, Grand. And I'm behind you to 2025.
01:49:10: Should we be scared? There's no reason
01:49:13: to be worried about spatialized audio,
01:49:16: but remember there's a poisoner behind
01:49:18: you.
01:49:20: Mhm.
01:49:21: And Angel boy asking, "But what is a
01:49:24: blong?" It's type
01:49:29: of actually all the questions we have
01:49:31: right now. Kind of went through them. We
01:49:34: still have got still got like 10 minutes
01:49:36: left. So we can ask more questions if
01:49:37: you want
01:49:39: questions not questions. What is your
01:49:42: philosophy on the entire universe and
01:49:44: everything in it? Those we're probably
01:49:46: not going to answer
01:49:48: or very quickly.
01:49:51: If you want if you want very short
01:49:53: answers to very like complex questions,
01:49:55: you
01:49:56: know, that's the time. And it depends if
01:49:59: there's if there's just like you know
01:50:01: like one question is a big one.
01:50:08: Um, Ken, you're you're
01:50:14: British. Do you know it's portrait,
01:50:17: too? You know, it's got to be quick
01:50:20: answer.
01:50:23: Actually, wait, was that close Adam's
01:50:25: British? I think it was British. I I
01:50:26: don't know. I have no clue. You're
01:50:29: you're you're uh a a nationality. There
01:50:34: you
01:50:35: go. Some nationality. No. No. Adams
01:50:40: Douglas like how was British? I think
01:50:43: I don't know. I mean I'm uncultured.
01:50:50: I'm blanking on that.
01:50:53: I mean uh in the movie like Archer was
01:50:56: played by Martin Freeman who is
01:51:00: British and he's like the Yeah, I think
01:51:03: it's I think
01:51:06: so.
01:51:09: Um plus 744 favorite show you're
01:51:12: watching right now.
01:51:14: Um I've been watching the latest season
01:51:17: of Love Dead
01:51:19: Robots. Um, I was kind of like
01:51:21: rewatching Pantheon with somebody.
01:51:25: Um, I don't have like a like I don't
01:51:28: have like a picture right now. Like
01:51:29: we're kind of mostly doing Minecraft and
01:51:31: stuff. Yeah, me neither.
01:51:38: What
01:51:39: do is asking what do you want to talk
01:51:42: about? Uh, I'm not really much thinking
01:51:46: right now. So, I'm like, I don't want to
01:51:48: think what the [ __ ] about. I just want
01:51:53: question. You want to think about
01:51:55: anything? Okay. Probably nothing that
01:51:58: can fit in here.
01:52:01: Oh, it's okay. We got some questions.
01:52:05: Um,
01:52:06: oop. Sometimes I get like in the mood
01:52:09: like where it's like like you're like
01:52:10: like I'm I'm like not
01:52:14: uh I I actually kind of get this with uh
01:52:17: I get this with development too
01:52:19: sometimes because like sometimes like
01:52:20: you know I have like things I need to do
01:52:22: that require problem solving and that
01:52:24: require me to come up with solutions for
01:52:26: those and I need to like you know think
01:52:28: of things um and requires you know
01:52:30: certain kind of like mindset and
01:52:33: sometimes like I'm like I cannot really
01:52:35: think of things now. I can like I work
01:52:37: like right now my head is more
01:52:39: mechanical. I'm like like this is a
01:52:41: specific problem. I narrow that problem
01:52:42: down. I fix it. It doesn't require super
01:52:45: creative thinking to solve these kinds
01:52:48: of problems. And sometimes I know that's
01:52:49: like why you get like you know bills
01:52:51: where it's just kind of fixing up a
01:52:52: bunch of things because I'm like
01:52:55: um my brain is to try to like you know
01:52:57: think of creative solutions to the big
01:52:59: problems right now. So like I'm just
01:53:01: going to do the small stuff for a bit.
01:53:04: Um, and it's kind of like how I'm right
01:53:06: now. I'm like I I don't I
01:53:08: don't my brain just doesn't think about
01:53:11: things. Like if I have something in
01:53:13: front of me, I can interact with that
01:53:14: and I can work through that. But like I
01:53:16: just I cannot I cannot think of things
01:53:19: out of nothing right now. And there's
01:53:23: like, you know, when working on new
01:53:24: features, like I have to essentially
01:53:26: come up with a design, you know, from
01:53:28: nothing. I have to like make one.
01:53:33: Um and sometimes you you head is not in
01:53:37: that kind of
01:53:38: space. Anyway, uh next questions from
01:53:44: box. Oh. Oh, I thought um I I thought I
01:53:48: was doing a uh HR guide to the galaxy
01:53:51: reference and your boy Oh my please
01:53:53: enlighten us. I thought it was going to
01:53:55: be like a von poetry or something. uh
01:53:57: please enlighten us and give us a longed
01:54:00: scientific breakdown of the molecular
01:54:01: composition of Schnupa for the remaining
01:54:04: 10 minutes. We don't have remaining 10
01:54:06: minutes therefore you don't get
01:54:10: it. Shadowex uh is asking what's the
01:54:14: necessary thing you're least looking
01:54:15: forward to working on?
01:54:18: Um I have to think about it.
01:54:21: Yeah, I see is like one of those it's
01:54:23: like one of those things where it's just
01:54:24: like it needs to be done but I'm like
01:54:27: that's why freaks makes me do all of it.
01:54:30: Yeah, like I'm like sir I have like
01:54:31: another thing for you. Usually it's like
01:54:36: usually it's like sort of like
01:54:37: maintenance stuff like that. It's like
01:54:38: you know stuff like oh like this project
01:54:41: is not compiling because like this the
01:54:43: definition here is like you know like
01:54:45: not compatible with this definition here
01:54:47: or it's like resolving some library
01:54:50: dependencies like like there's sometimes
01:54:53: you spend hours just being like oh this
01:54:54: version of the library causes this thing
01:54:56: here that makes it explode because it's
01:55:00: this specific version combined with this
01:55:01: thing and like you have to spend hours
01:55:03: figuring that out and it's like and you
01:55:05: need to do it because things are blowing
01:55:07: up but like it I I hate working on stuff
01:55:10: like
01:55:10: that like you know dependency hell kind
01:55:13: of stuff and stuff like that. It's also
01:55:16: like stuff like that I know is going to
01:55:18: be replaced. Like one of the some of the
01:55:21: things I had to like work on u before
01:55:23: the split ending I know for sure I like
01:55:28: they won't be a problem after the split
01:55:30: ending happens once we kind of switch
01:55:33: um like one of them is like for example
01:55:36: with the quantities like because right
01:55:37: now uh people want to like you know be
01:55:39: able to use quantities with like math
01:55:41: and so on so they can special variables.
01:55:43: So I was like, "Okay, I'm going to add
01:55:44: it." And it just ended up like being a
01:55:46: mess. One of the reasons is like, you
01:55:49: know,
01:55:50: um
01:55:53: there's like in in modern .NET
01:55:56: 9 all of the base types like numbers,
01:55:59: they have interfaces like I number so
01:56:01: you can like you know do generic
01:56:03: additions and mathematical operations
01:56:05: and so on. And that's like what want
01:56:07: what I want us to switch to. But the
01:56:09: version we're using with mono it doesn't
01:56:11: have that. So we have to have this class
01:56:13: called coder that sort of sort of tries
01:56:15: to do that but like you kind of have to
01:56:17: do it in an ugly way and with the
01:56:19: quantities because I don't want to do it
01:56:20: for everyone
01:56:22: individually. I did it in more generic
01:56:24: way but it like ended up like being very
01:56:26: cursed and horrible and like having
01:56:29: bunch of
01:56:30: issues and I know that like once
01:56:33: this 9 switch happens I wouldn't have to
01:56:35: do it but I was kind of like okay I have
01:56:37: to deal with this now. So there's stuff
01:56:40: like
01:56:45: that.
01:56:47: Um, Johnny K, without spoilers, uh, for
01:56:51: people who didn't see, what was your
01:56:52: reaction to the most recent Doctor Who
01:56:54: episode? I was going
01:56:57: to,
01:56:59: it's I don't know if I can say without
01:57:01: like bringing spoilers. I'm just going
01:57:04: to say like remember that's not how
01:57:06: tables work.
01:57:11: Um, I'm going to skip this. Uh, Agious
01:57:15: World of Brooks, have you played Voices
01:57:18: of the Void? I
01:57:20: haven't.
01:57:21: Um, my CT, what is your sleep schedule
01:57:24: these days? It's kind of normalish right
01:57:27: now, sort
01:57:30: of. Um, Epic's asking, uh, what work do
01:57:33: you think you're going to do on the
01:57:36: world browser? are separate processes
01:57:37: but it's also not powered by data feeds
01:57:39: pretty much move like rework it with
01:57:41: data feeds it's sort of like precursor
01:57:43: to data feeds and then data feeds are
01:57:45: like the full sort of realization of
01:57:46: that concept so we just want to move it
01:57:49: through that
01:57:52: um did you know that you are at the end
01:57:55: of the stream pretty much like we got
01:57:56: like two minutes left so we're just
01:57:58: going to zooming through these questions
01:58:01: um grandmaster uh pist what is asking
01:58:07: what graphics API is not useful
01:58:08: splittening vulcan open shield what
01:58:10: language will render be written in so
01:58:12: the splitting doesn't change the
01:58:13: renderer the splitting just splits the
01:58:16: renderer which is right now unity from
01:58:18: you know ficks engine so it runs in in
01:58:20: on process um it's going to keep using
01:58:23: direct x11 uh once the render gets
01:58:27: replaced uh it will very likely use
01:58:31: vulcan but it's like a later down thing
01:58:34: that was a technical question I was
01:58:35: scratching my it over what controls
01:58:37: where the grip poses go when you equip a
01:58:40: tool. The closest thing and
01:58:42: pos time to answer this one. Um,
01:58:46: generally before like sort of like autoc
01:58:47: calculated based on the hand position,
01:58:49: but I can't get into the details on it.
01:58:54: Um, and currently K is
01:58:57: asking what time is it? It's time to end
01:59:00: the stream. Yes.
01:59:03: So with that, thank you everyone for
01:59:05: watching. Uh hope like you enjoyed the
01:59:07: stream. Uh I hope like the audio like
01:59:11: did the audio like secondary audio work
01:59:12: fine? Like do you have like any issues
01:59:14: with
01:59:15: it?
01:59:17: Um it was kind of like I'll have to like
01:59:19: see like on the recording because I kind
01:59:20: of like hear it myself but uh I'll we'll
01:59:23: see. Um anyway, thank you very much for
01:59:25: watching. Thank you, you know, for
01:59:26: supporting us tonight, you know, for
01:59:28: being here, for like making stuff on
01:59:29: thereite or being part of the community,
01:59:31: for supporting us, you know, whether
01:59:33: it's on Patreon or Stripe. Um, uh, if
01:59:36: you do support us on Patreon, consider
01:59:38: switching to Stripe. We will literally
01:59:40: like, you know, get like 10% more of
01:59:42: your money that way, which we can, you
01:59:44: know, then put into development than
01:59:46: with Patreon. So, switching even on the
01:59:49: same tier helps us a lot. Um, and we'll
01:59:54: see you maybe next week. I will see
01:59:56: because like um um it might be next
02:00:00: week, might be, you know, the week
02:00:01: after. So, we'll see kind of how it
02:00:02: goes. But uh we'll see you soon enough.
02:00:05: So, thank you very much for watching and
02:00:08: I'm going to check actually if there's a
02:00:09: channel to
02:00:10: rate. Actually, I might not be logged
02:00:13: into the Resonate account. Um this might
02:00:16: be an
02:00:17: issue. Uh but maybe Oh, wait. I can do
02:00:20: it from the
02:00:22: OBS. Let's see. I just need to find is
02:00:25: anybody
02:00:28: streaming. It's like a good uh you know
02:00:32: thing. Um if you're a
02:00:38: streamer, this is a good time to stream.
02:00:40: Why am I lo in here? Twitch TV preview
02:00:43: destination. Oh,
02:00:45: what? Oh, that was
02:00:48: weird. Come on. prison it up. Let's see
02:00:52: if anybody's uh might just create a
02:00:56: gem. Let's
02:01:00: see. We might send you over to
02:01:12: Medra. I have my windows right now.
02:01:14: There we go. But it doesn't want to
02:01:17: load.
02:01:20: Twitch is like having issue
02:01:27: loading. H my batteries are
02:01:30: low. Yeah, it might be just creator jam.
02:01:33: I think I'm going to send all of you to
02:01:35: create jam because it's the only one I
02:01:36: can see in the tab. Uh and it doesn't
02:01:39: want to load the full list.
02:01:41: So, let's do Oh, controller
02:01:44: guide right on time.
02:01:51: Quickly
02:01:59: quick
02:02:03: charact
02:02:05: it. There we
02:02:09: go. Come
02:02:13: on. Okay. Say hello to M everyone and
02:02:16: thank again for watching.
02:02:18: Bye bye. operating now.