The Resonance/2024-12-15/Transcript: Difference between revisions

From Resonite Wiki
create
 
Next batch of improved transcriptions
 
Line 1: Line 1:
{{OfficeHoursTranscriptHeader|The Resonance|2024-12-15|url=https://www.youtube.com/watch?v=TcXpMEx06Sg&list=PLQn4R3khhxITNPmhpSJx5q7-PgeRFGlyQ|autogen=YouTube}}
{{OfficeHoursTranscriptHeader|The Resonance|2024-12-15|url=https://www.youtube.com/watch?v=TcXpMEx06Sg&list=PLQn4R3khhxITNPmhpSJx5q7-PgeRFGlyQ|autogen=YouTube using Whisper}}
 
{{TranscriptionSegment|Good peepo-piling in, I caught the tail end of it, yes, we did another shenanigans at|00:30}}
0:04: ments
{{TranscriptionSegment|the beginning, right at the beginning, so like if you're there for the start, you've|00:38}}
 
{{TranscriptionSegment|seen it, and if you haven't been then it's a mystery.|00:40}}
0:10: on and
{{TranscriptionSegment|Hello Griffin and Phyllis, hello, welcome everyone, so as we have peepo-piling, let|00:46}}
 
{{TranscriptionSegment|me actually also open, like make sure I have this stream open, so I make sure everything|00:55}}
0:19: hi I wonder how many people see that one I know I'm tall don't
{{TranscriptionSegment|is working okay.|01:00}}
 
{{TranscriptionSegment|How's audio coming?|01:02}}
0:25: know short hello hello 86
{{TranscriptionSegment|Very good, fluffy, yes, very fluffy, very fuzzy.|01:03}}
 
{{TranscriptionSegment|Hello.|01:08}}
0:30: got people piling in C the tail it yes did another
{{TranscriptionSegment|Did I just think I have some of that on me too?|01:09}}
 
{{TranscriptionSegment|I think.|01:12}}
0:37: shenanigan at the beginning right at the beginning so like if you're there for the start you've seen it and uh if you
{{TranscriptionSegment|Hello, check, touch TV, is the audio coming okay?|01:15}}
 
{{TranscriptionSegment|Can you hear us both fine?|01:22}}
0:43: haven't been then it's a mystery hello Griffin phis hello welcome
{{TranscriptionSegment|Hello, brother, hello.|01:24}}
 
{{TranscriptionSegment|Hello, all of the wonderful people in chat, can you hear me, can people hear me good this|01:27}}
0:51: everyone uh so as we have people Pile in let me actually also open like a make
{{TranscriptionSegment|time?|01:33}}
 
{{TranscriptionSegment|We're all a little muffled.|01:35}}
0:56: sure I have the stream open so I um make sure everything is working okay how's
{{TranscriptionSegment|Yeah, we both selected the broadcast, so I think it should be okay.|01:37}}
 
{{TranscriptionSegment|The audio level is a lot of work, the same, the audio is good, so how are the announcements?|01:41}}
1:02: audio coming very fluffy yeah it's very fluffy very
{{TranscriptionSegment|I guess we can start then.|01:48}}
 
{{TranscriptionSegment|So it's okay, streams are running, announcements are out, so let me also hold on, sorry.|01:50}}
1:07: fuzzy hello I guess I got I have some of that on me too I
{{TranscriptionSegment|So hello everyone, oh, I didn't fix it with shut colors, I don't have the time for, I|02:01}}
 
{{TranscriptionSegment|don't know, but anyway, oh, one thing I forgot, the auto question, because I saw a question|02:10}}
1:13: think check think hello check TTV is is the audio coming coming
{{TranscriptionSegment|mark and I always forget to check it, how to paint, there we go.|02:16}}
 
{{TranscriptionSegment|So hello everyone, and welcome to the fifth episode of The Resonance, which is a combination|02:22}}
1:21: okay can you hear us both fine hello brother
{{TranscriptionSegment|of my office hours and sort of like a podcast, where you can ask us any questions about Resonite,|02:27}}
 
{{TranscriptionSegment|whether it's technical questions, whether it's general questions about a platform, its|02:33}}
1:26: hello hello all of the wonderful people in chat yes can you hear me can people hear me
{{TranscriptionSegment|details of its past and its future, and we'll be here to answer your questions, but also|02:37}}
 
{{TranscriptionSegment|we might ramble about some things, discuss how the platform is going, where is it going,|02:43}}
1:33: good this time a little mu both select a broadcast
{{TranscriptionSegment|and sort of just give you a better high-level view of what motivates us, what are our dreams|02:54}}
 
{{TranscriptionSegment|and visions for this platform, and also give you technical kind of deep dives into some of the|03:02}}
1:39: so I think it should be okay the Audio Level a l the same they saying AIO is
{{TranscriptionSegment|systems that are being worked on or that are being planned. So with that, if you have any questions,|03:09}}
 
{{TranscriptionSegment|make sure you end them with a question mark. It doesn't have to be, you know, it doesn't need to|03:15}}
1:44: good as H then hello de yes I guess we can start then uh soda
{{TranscriptionSegment|be like right at the end of the sentence, you can put like extra stuff, but if you have a question|03:20}}
 
{{TranscriptionSegment|mark in your message, it's going to pop on our thing here. That way, you know, we make sure like|03:24}}
1:50: is okay stream is running announcements are out so um let me also
{{TranscriptionSegment|we don't miss it. So with that, let's get the questions, you know, start coming in and we'll|03:29}}
 
{{TranscriptionSegment|start like, you know, going. Why do you wear mantlers? I mean, it's festive, like, you know,|03:37}}
1:58: hold sorry so hello everyone uh oh I don't I didn't
{{TranscriptionSegment|like it's just kind of, I saw them in the Grand Oasis karaoke and, you know, just kind of put them|03:43}}
 
{{TranscriptionSegment|on my head. Well, actually I didn't want them to put on my head. Somebody put them on me and then|03:51}}
2:04: fix the twitch colors I don't have the for time for some more things but anyway
{{TranscriptionSegment|I saved the avatar. I did put this nose on me and the head. I just did a little bit. There we go.|03:54}}
 
{{TranscriptionSegment|But it's, it's festive. It's kind of, it's kind of interesting. I have something here. I see like|04:02}}
2:11: we should we should we should oh um one thing I forgot uh the outter question because I saw a question mark and I
{{TranscriptionSegment|white people like have antlers on their avatars, but these are, these are, you know, these are|04:07}}
 
{{TranscriptionSegment|like, they come off like they're, these are fake. They're kind of like the, I think some of the|04:11}}
2:17: always forget to I need to check it out to pin there we go um so hello everyone and welcome to
{{TranscriptionSegment|antlers, I guess like that doesn't make them necessarily fake, but like, you know, these are,|04:20}}
 
{{TranscriptionSegment|these are fake, not because they come off, but because they're just glued on. I haven't|04:24}}
2:24: the fifth episode of the resonance uh which is a combination of my office hours and ser like podcast where you can
{{TranscriptionSegment|grown these myself. Yes. I hope, I hope that answers the questions. Yes. The question is why|04:28}}
 
{{TranscriptionSegment|you don't have antlers. There's like
2:31: ask us any questions about resonite whether it's technical questions whether general questions about a platform it's
 
2:37: philosophy its past and its future and you know we'll be here to like answer your questions but also like
 
2:43: you know we might kind of ramble about some things uh discuss you know how um you know discuss kind of like how
 
2:52: the platform is going where is it going and sort of you know just give you like better
 
2:57: like high level view of like you know what motives what are dreams you know
 
3:02: and Visions for this platform uh and also give you kind of you know technical kind of deep dives into some of the uh
 
3:09: you know some of the systems that are being worked on or that are being planned so with that uh if you have any
 
3:15: questions make sure you end them with a question mark uh it doesn't need have to be you know it doesn't need to be like
 
3:20: right at the end of the sentence you can put like extra stuff but if you have a question mark in your message it's going to pop on everything here uh that way
 
3:28: you know we make sure like we don't m said um so we did like um let's let's
 
3:34: let's get the questions you know start coming in and we'll start like you know go why do you he
 
3:40: that I mean it's it's festive like I you know like it's it's it's um just kind of
 
3:46: I saw I saw them in the grand is karaoke and uh you know just going to put them
 
3:51: on my well actually I I wasn't one to put in my head somebody put him on me and then I said the I did put this nose on me and the
 
3:58: hat me I just did a little bit there we go but it's it's festive it's kind of
 
4:05: it's kind of interesting like have something your head I see like why people like have antlers on their avatars but these are these are you know
 
4:11: these are like they come off like they're these are fake like the I think some of the
 
4:18: animals I forget which ones some of them like shed their antlers like guess like that doesn't make them necessarily fake
 
4:23: but like you know these are these are fake not because they come off but because they're just glued on I haven't grown this myself
 
4:30: yes I hope I hope that answers the questions um that was asked by rage 86
 
4:35: by the way yes question is why you don't have
 
4:41: antlers there's like you're not in the festive modood at all I guess I guess uh my antlers are
 
4:47: just uh they're just a little constipated I guess they're what my
 
4:53: antlers are a little constipated they haven't come out yet I that's horrible
 
5:00: um it's kind of hard to understand the word for me it sounds like you're saying you're
 
5:06: constipated I said my antlers are a little constipated oh so you did say con oh my God I was like I was like I swear
 
5:13: I'm hearing constipated but that feels like not the right word I'm sorry my
 
5:19: mouth is like basically like full of cotton in this microphone um glavin asks
 
5:24: what's with the popping bubble sound effect during these resonance streams I that this is the chat with the popping
 
5:30: oh it makes sounds hold on I can maybe disable that I don't like realize I have like usually my yeah there's how message
 
5:37: sound I'm going to turn it off there we go okay it's gone sweet so hello everyone so that's
 
5:44: pretty much you know well we don't have any questions like there was was there was a quick one we answer two questions
 
5:51: you know like I guess I guess like you know it's a it's a quick episode yeah all right stream by yeah go
 
5:57: stream by Bo no like if you got any questions you know make sure to get them coming but like if if you don't uh we're
 
6:05: probably going to start rambling about some stuff I do actually have like one thing I kind of wanted to talk about and
 
6:10: like draw like little diagrams I don't know if I should do it right at the beginning
 
6:15: um but um we do have a question a little bit
 
6:22: like um we actually have some more questions now uh so rash 86 is asking
 
6:28: what was the last time you to play Minecraft I I don't remember it's been a
 
6:33: while I kind of want to like play it again but like it's been
 
6:38: ages um it's been it's been a few Minecraft updates back so there's like a lot of stuff in vanilla that I haven't
 
6:44: seen yet in terms of like when I last played Minecraft it's probably been over like
 
6:51: probably been over a year I don't really play Minecraft too much anymore I've played it over and over and over again
 
6:57: since like 20 12 you say this kind of thing I usually
 
7:03: like playmaker for a bit and I really like to play it in like VR specifically the v card mode which is like excellent
 
7:10: um and then I don't play it for a while they make several updates and then I come into it again and there's like a
 
7:15: whole bunch of new stuff I've actually been playing like a few no actually remember like a few months back I've
 
7:21: been playing Minecraft with glitch and we actually use the ater mod which is like like been updated and
 
7:27: I've played it mode like ages ago and um they've been like updating it it
 
7:33: actually works with VR and it's kind of cool I remember like the first time we got like into ather like I was like what
 
7:39: is that what is that thing what this thing I just like everything flying around you and it's kind of cool cool thing but I don't want to like I don't
 
7:45: want to play I want to play it again sometime yeah I really like the um it's
 
7:51: going a torpedo into a whole tangent actually um do you know of undertale yellow
 
7:59: I don't know what undertale I know of undertale but I don't know what undertale is I don't know what that is either so
 
8:07: next question we have a griffin fell is H what kind of pre-prepared physics simulations are looking forward into
 
8:13: bringing into resonate eventually this is on my mind all the time um I don't quite know what you mean
 
8:20: by pre pread physics simulations uh what I can tell you is we
 
8:26: um we are using the beut version two physics engine uh right now like is not fully
 
8:31: integrated so like for example you cannot do arbitrary reg body simulation you can like you know do like various
 
8:37: constraints like you know Springs joints you know stuff like that um what you
 
8:43: want to do in the future is like you know make a full integration so you can actually do like proper rid body
 
8:48: simulation mess around with stuff you know thr things around and have like fully fledged physics uh we using parts
 
8:54: of it like for example when you move around environment um you are actually represented by by the sort of constraint
 
9:01: R your body that specifically handled as um you know this kind of constraints to
 
9:06: like make

Latest revision as of 20:07, 12 May 2025

This is a transcript of The Resonance from 2024 December 15.

This transcript is auto-generated from YouTube using Whisper. There may be missing information or inaccuracies reflected in it, but it is better to have searchable text in general than an unsearchable audio or video. It is heavily encouraged to verify any information from the source using the provided timestamps.

00:30: Good peepo-piling in, I caught the tail end of it, yes, we did another shenanigans at

00:38: the beginning, right at the beginning, so like if you're there for the start, you've

00:40: seen it, and if you haven't been then it's a mystery.

00:46: Hello Griffin and Phyllis, hello, welcome everyone, so as we have peepo-piling, let

00:55: me actually also open, like make sure I have this stream open, so I make sure everything

01:00: is working okay.

01:02: How's audio coming?

01:03: Very good, fluffy, yes, very fluffy, very fuzzy.

01:08: Hello.

01:09: Did I just think I have some of that on me too?

01:12: I think.

01:15: Hello, check, touch TV, is the audio coming okay?

01:22: Can you hear us both fine?

01:24: Hello, brother, hello.

01:27: Hello, all of the wonderful people in chat, can you hear me, can people hear me good this

01:33: time?

01:35: We're all a little muffled.

01:37: Yeah, we both selected the broadcast, so I think it should be okay.

01:41: The audio level is a lot of work, the same, the audio is good, so how are the announcements?

01:48: I guess we can start then.

01:50: So it's okay, streams are running, announcements are out, so let me also hold on, sorry.

02:01: So hello everyone, oh, I didn't fix it with shut colors, I don't have the time for, I

02:10: don't know, but anyway, oh, one thing I forgot, the auto question, because I saw a question

02:16: mark and I always forget to check it, how to paint, there we go.

02:22: So hello everyone, and welcome to the fifth episode of The Resonance, which is a combination

02:27: of my office hours and sort of like a podcast, where you can ask us any questions about Resonite,

02:33: whether it's technical questions, whether it's general questions about a platform, its

02:37: details of its past and its future, and we'll be here to answer your questions, but also

02:43: we might ramble about some things, discuss how the platform is going, where is it going,

02:54: and sort of just give you a better high-level view of what motivates us, what are our dreams

03:02: and visions for this platform, and also give you technical kind of deep dives into some of the

03:09: systems that are being worked on or that are being planned. So with that, if you have any questions,

03:15: make sure you end them with a question mark. It doesn't have to be, you know, it doesn't need to

03:20: be like right at the end of the sentence, you can put like extra stuff, but if you have a question

03:24: mark in your message, it's going to pop on our thing here. That way, you know, we make sure like

03:29: we don't miss it. So with that, let's get the questions, you know, start coming in and we'll

03:37: start like, you know, going. Why do you wear mantlers? I mean, it's festive, like, you know,

03:43: like it's just kind of, I saw them in the Grand Oasis karaoke and, you know, just kind of put them

03:51: on my head. Well, actually I didn't want them to put on my head. Somebody put them on me and then

03:54: I saved the avatar. I did put this nose on me and the head. I just did a little bit. There we go.

04:02: But it's, it's festive. It's kind of, it's kind of interesting. I have something here. I see like

04:07: white people like have antlers on their avatars, but these are, these are, you know, these are

04:11: like, they come off like they're, these are fake. They're kind of like the, I think some of the

04:20: antlers, I guess like that doesn't make them necessarily fake, but like, you know, these are,

04:24: these are fake, not because they come off, but because they're just glued on. I haven't

04:28: grown these myself. Yes. I hope, I hope that answers the questions. Yes. The question is why

04:38: you don't have antlers. There's like, there's like, you're not in the festive mood at all.

04:44: I guess, I guess, my antlers are just, they're just a little constipated, I guess. They're what?

04:52: My antlers are a little constipated, they haven't come out yet. What? That's horrible.

05:00: It's kind of hard to understand the word for me. It sounds like you're saying you're constipated.

05:07: I said my antlers are a little constipated. Oh, so you did say constipated. Oh my god.

05:11: I was like, I was like, I swear I'm hearing constipated, but that feels like not the right

05:16: word. I'm sorry, my mouth is like basically like full of cotton in this microphone.

05:23: Glavin asks, what's with the popping bubble sound effect during these Resonance streams?

05:27: Oh, that's the chat with the popping noise. Oh, it makes popping sounds. Hold on, I can maybe disable

05:32: that. I don't really realize I have like usually my, yeah there's how they call it, message sound,

05:37: I'm gonna turn it off. There we go. Okay, it's gone. Sweet. So, hello everyone. So, that's

05:44: probably, you know, we don't even have any questions, like there was a quick one.

05:50: The answer to questions, you know, like I guess, like it's like, you know, it's a quick episode.

05:55: Yeah, all right, that's why we're gonna stream by. Yeah, let's go stream by.

05:59: No, like if we got any questions, you know, make sure to come in, but like if you don't,

06:04: we're probably gonna start rambling about some stuff. I do actually have like one thing I kind

06:08: of wanted to talk about and like draw like little diagrams. I don't know if I should do it right at

06:13: the beginning, but... We do have a question.

06:20: I'm gonna do a little bit like when we get in. We actually have some more questions now.

06:26: So, Rolash86 is asking, when was the last time you two played Minecraft?

06:31: I don't remember. It's been a while. I kind of want to like play it again, but like it's been

06:37: ages. There's been a few Minecraft updates back, so there's like a lot of stuff in vanilla that I

06:44: haven't seen yet. In terms of like when I last played Minecraft, it's probably been over like,

06:51: probably been over a year. I don't really play Minecraft too much anymore.

06:55: I've played it over and over and over again since like 2012.

07:01: You see, this kind of thing, I usually like play Minecraft for a bit, and I'd really like to play

07:06: it in like VR, specifically with the Vive card mode, which is like excellent. And then I don't

07:12: play it for a while. They make several updates, and then I come into it again, and there's like

07:15: a whole bunch of new stuff. I've actually been playing like a few months... No, actually I

07:19: remember, like a few months back, I've been playing Minecraft with Glitch, and we actually

07:25: which is like, which has like been updated, and I've played it more like ages ago, and they've

07:32: been like updating it, it actually works with VR, and it's kind of cool. I remember like the first

07:37: time we got like into Aether, like I was like, what is that, what is that thing, what is this

07:40: thing, and there's like everything flying around you, and it's kind of cool, cool thing. But I do

07:44: want to like, I want to play, I want to play it again sometime. Yeah, I really like the um,

07:50: let's get a torpedo into a whole tangent actually. Um,

07:56: do you know of Undertale Yellow? I don't know what Undertale Yellow, I don't know of Undertale,

08:01: but I don't know what Undertale Yellow is. I don't know what that is either. So next question,

08:08: we have a Griffin Felis. What kind of pre-prep physics simulations are looking forward into

08:13: bringing into Resonite eventually? This is on my mind all the time. Um, I don't quite know what

08:20: pre-prep physics simulations. What I can tell you is we, we are using the Beput version 2 physics

08:28: engine. Right now like it's not fully integrated. So like for example, you cannot do arbitrary

08:34: Rigidbody simulation. You cannot like, you know, do like various constraints, like, you know,

08:38: springs, joints, you know, stuff like that. Um, what I want to do in the future is like, you know,

08:44: make a full integration. So you can actually do like proper Rigidbody simulation, mess around

08:49: with stuff, you know, throw things around and have like fully fledged physics. Uh, we are using

08:53: parts of it. Like for example, when you move around the environment, um, you are actually

08:58: represented by the sort of constraint Rigidbody that's specifically handled as a, you know,

09:05: it has kind of constraints to like make it usable for like user locomotion, but technically it is

09:10: built around a Rigidbody and you can kind of use it like a Rigidbody, but it's just not like very

09:14: efficient and like you're missing a lot of extra features for it too. Um, so eventually like,

09:20: you know, we'll have like proper Rigidbody. Uh, uh, I don't know, like what do you mean by

09:25: prepred? So like if you can like, you know, clarify a little bit more of this, like answers

09:30: your question, you know, but if it doesn't answer your question, let us know a little bit more like

09:34: what do you mean about, um, you know, the prepred physics.

09:40: Yeah. Um, next one is R-86. Have you made any updates to Minecraft Resonite War Importer?

09:46: Unfortunately, no. Um, I haven't had like really time to like, you know, touch it.

09:51: It's kind of is updating because I don't think it works like within your versions, but

09:55: one of the things I kind of want to do, um, at some point is sort of like start kind of gradual

10:01: open sourcing as part of an engine and the whole importer and exporter system.

10:07: I think that's a really good candidate for it. Um, because, uh, it's, it's relatively modular.

10:13: It's something that doesn't even like, you know, it doesn't actually need to touch the data model.

10:17: It doesn't need to add new things to it because the purpose of importers and exporters is to take,

10:22: you know, any data in external format and convert it into existing stuff in the data model.

10:29: Um, so it's something, you know, that can be like easily, like we can like, you know, publish

10:34: this is like, you know, the source code for the different importers and exporters

10:37: and allow the community, um, you know, to like build upon these, you know, make your

10:42: modified versions or even contribute official improvements as well as, you know, build your

10:47: own importers because part of that would be having a good, you know, architecture for, uh,

10:54: loading these like dynamically. So if you want to like, you know, import like, you know,

10:59: write or import her, you know, plop it like into the folder. It's like, you know,

11:02: install it into like a Resonite install, and then I'll be able to import, you know,

11:06: whatever format you want with whatever code you want. Uh, and the dad, like, you know,

11:11: we could like, you know, have, if I don't have time, you know, to like update importers

11:14: like that, um, the community will be able to like, you know, fill in in those areas.

11:20: So I'll see, like, if I get time to touch it, um, I might like, you know, sometime because

11:24: I don't want to kind of incorporate some of the stuff I've been kind of like having fun

11:29: craft and integrate them with the Resonite, but, uh, we'll see what happens with like,

11:34: what the time is. Um, the next question is also from R-86. Does the Vivecraft mod support

11:41: Quest or SteamVR plugging in too? Um, I'm not foolish or what do you mean like by plugging

11:48: in too, but like, you can, like, it's a SteamVR, you know, essentially SteamVR, like,

11:54: mod, so like, like any SteamVR headset should work with it. I use it with my, you know, Vive Pro,

12:00: I've played it with the Quest Pro, like, using Steam Link, like, if you have a SteamVR headset,

12:05: like, it's, it's not a different, you know, from any other SteamVR games, so you should be able

12:10: to play it. Also, R-86, did I hear the word torpedo? I think I said torpedo. I don't know.

12:17: Uh, and the next question is, uh, R-86. Will Newtonian physics be added too? Currently,

12:25: components. I'm, I'm kinda confused by what you mean by that. Like, I mentioned, like, earlier,

12:32: we're gonna have, like, you know, prepared, like, R-86 body physics, but you cannot do that one,

12:37: you know, with, like, components right now, because, like, you can only do, like, the

12:41: character, like, you know, controller zone. Um, so, that's, that's pretty much, like, what we

12:47: plan on adding. I don't know, like, you know, if what you're thinking is different from that, um,

12:56: clarify that, like, you can answer that one better. Uh, next question is, uh, R-86. What I

13:02: mean is, I use ALVR to link my quest to my Linux computer, and it only runs SteamVR games, so could

13:09: ViveCrown run that? Yeah, like, like I said, like, it's a SteamVR, you know, game, so if you, if you,

13:14: if you can run, you know, other SteamVR games with your setup, like, you should be able to play in

13:19: Minecraft with the Vivecraft mod. Oh, I see, I see what they mean. They mean, like, um,

13:28: they mean, like, doing, like, orbital physics and stuff. Yeah, I mean, you can do that, like,

13:32: virtually, but you essentially, like, um, you essentially, like, you know, like, you don't have

13:39: the normal kind of gravity, that's just kind of uniform apply, and instead, you know, you compute,

13:43: like, a radial one, and then you can, you know, have, like, if you apply the right forces to

13:57: physics, but you can, like, there's, like, a radial force, and you can, like, if you get

14:00: particles, you can get them, like, orbit a point. So, that is achievable, but, like, you know,

14:06: there's your body physics. Yeah, oh, I actually, I actually made something like that in flux, too.

14:12: Yeah. A little, like, ball that floats around.

14:20: They're also saying, I'm thinking of a normal world with mass quantity application of Newtonian

14:23: physics to objects. I mean, it's a little bit different, so, like, if it's, like,

14:29: if you're thinking big worlds, like, you know, that's not just physics, there's, like, a lot of,

14:32: kind of, involved into, like, being able to build big worlds, and there's things

14:36: that we plan to do that will allow for that, but it goes, you know, beyond just physics.

14:42: Yeah, you were, you were told it would be livelier to do with flux slash components.

14:49: Well, depends, it depends on, it depends on the scope, as with everything, because, like, yeah,

14:56: you may not be able to simulate, like, a whole, you know, like, all aspects of, like, a physics

15:01: system with just, like, flux, but you can certainly do, you know, like, orbital physics. Orbital physics

15:07: actually, like, making things just, like, have a little bit of velocity and mass and, like, float

15:12: around a point. That's actually not too hard, and you can actually do that pretty quickly in flux.

15:16: It's pretty simple. But, like, if we want to, like, apply, you know, like, the whole, like,

15:21: big worlds and, um, you know, if, like, it kind of sounds like you want to, like,

15:26: big world and have it, like, you know, fully physically simulated, that's, like,

15:31: even, like, one way in service to physics, like, depending on what we want to do, it might be quite

15:35: a challenge, like, if you want, you know, if, like, if you want, you know, to have, like, every single,

15:41: like, object, like, um, you know, simulated in there, like, you need something to kind of, like,

15:48: you know, spread it out and so on, um, what do you... it kind of depends, because it's kind of,

15:55: like, you know, kind of big scope that you're talking about, because in general, in game

15:58: development, you know, with any engines, um, things are kind of fake to, like, a lot of extent,

16:05: like, you kind of, like, make things look like some kind of physical effect, but the computations

16:11: are simpler, um, so, like, if you're, like, you know, say, like, even on the surface of the plant,

16:17: you have the physics simulated there, but it's, you know, just

16:20: regular physics that's only running when you actually are in there. If you, um, if you, like,

16:28: you know, go, um, you know, say, like, into the spaceship and you want, like, orbital physics,

16:34: usually, like, that's not even physically simulated, but you would have, like, you know,

16:41: like, you know, at that level and maybe, like, it's not even, like, proper rigid body simulation,

16:45: because, like, there might be an overkill for this kind of thing, um, because, like, you know,

16:51: like, otherwise we have to, like, deal with stuff, like, you know, what if something disturbs it and

16:54: the planets, you know, crash into each other and it's, like, a lot of kind of really complex

16:58: interactions. So it's, um, um, it's, it can get, like, very involved very fast and it just,

17:08: you know, like Cyro said, it depends on your scope, like, what you want to do.

17:12: It's also, like, asking a star system with, like, six insidious bodies, would it be laggy?

17:17: That, like, depends, you know, usually on how you're computing it and to what, like, you know,

17:21: degree of accuracy. If you're just, like, you know, doing very, like, simple, like, where each

17:25: celestial body has, like, you know, uniform mass, it has, you know, um, it has, like,

17:36: to kind of approach it because, like, you can be, you know, say, you have, like, you know,

17:41: like, you have the star and you have, like, you know, a bunch of, like, celestial bodies.

17:44: One of the things you can, like, do is, the simplest thing to do if you wanted to make

17:51: something like that, I'm actually going to switch the camera so it's a little bit, the simplest

17:55: thing you can do is, you know, you literally just say this is orbiting around certain radius and

18:00: you just analytically compute, you know, the position at every time. There's not actually even

18:06: physical, like, you know, simulation to it. You could do where each point, you know, it has, like,

18:11: some mass and it has some velocity and you're constantly applying gravity on it and you need

18:15: to actually make it achieve stable orbit, which means, you know, the velocity needs to completely,

18:22: you know, counteract the attractive force, you know, of the sun. And you can do that, you can

18:27: just gonna be updating the velocity at every frame but you need to, like, balance it because if

18:30: it's, you know, not balanced then it might, like, end up spiraling out over time or maybe

18:34: it spirals in and, like, you know, the whole thing breaks. And you could go even deeper because you

18:39: can, you know, have the gravity be computed just towards the sun but you could also be like,

18:44: okay, I want everybody up, apply, you know, gravitational force on all the others. So,

18:50: like, if you have a big body here it's gonna pull this one towards this one and this one

18:55: towards this one but also this one's pulling this one towards this one and everything's kind of

18:58: pulling each other and this is gonna be a lot, like, you know, heavier on computation because

19:03: now we're computing gravitational forces between, you know, all the 16 bodies with each other.

19:08: So depending, you know, how complex you want to go, you know, the computational requirements will,

19:14: you know, kind of go higher and higher. And then if you want, you know, if you want the bodies to

19:18: be able to, like, you know, to potentially even collide and, you know, then do things when they

19:22: collide, like, you know, for example, they break apart or maybe, you know, it does something that

19:27: increases the complexity even further. So, like, it, it's something, you know, that can go from

19:34: this is completely trivial to compute if I just do it analytically to something I have, like,

19:39: you know, very detailed, like physical simulation, like where they can collide and break apart,

19:43: you know, into small chunks and maybe they will clump together again and have, like,

19:47: much more complex physical simulation. So it depends. It depends a lot, you know,

19:55: what exactly I want to do. So usually it's kind of hard to answer the question, like,

19:59: you know, if something's going to be like, unless you kind of specify what exactly you want to do.

20:05: Yeah. If you were, if you were just solely doing, you know, 16 points that interact with each other

20:11: gravitationally and that's it, you could probably get away with that. Like, that's not too hard.

20:17: But you know, if you want to do anything more, then it gets a little more complex.

20:24: So the next question is, oh yeah, while I'm thinking about it, what is the current state

20:28: of the upcoming performance update and how much improvements are we to expect?

20:33: So for the first part, the state, we're still like finishing up the PhotonDust,

20:37: which is the new particle system. I've done, like, a coverage on, you know,

20:41: how exactly the performance update has been approached in the previous episodes,

20:45: and it's also available as a standalone video on our YouTube channel.

20:49: So if you want, you know, more kind of in-depth understanding, I recommend watching that one.

20:54: I don't want to, like, you know, repeat it here just for the sake of time.

20:59: But the gist of it, we need to, like, move multiple systems fully to Froox Engine.

21:05: So we can then, you know, disentangle them from Unity,

21:08: and then we can pull Froox Engine out into its own process running with .NET 9.

21:13: The current state is, like, PhotonDust is in testing phase.

21:17: We've been getting lots of, like, great feedback, lots of great bug reports from the community.

21:21: Once it's kind of fixed up, we will essentially remove the old one, which is, you know, kind of

21:31: the tie to Unity, and everything will be auto-converted to PhotonDust.

21:36: Once that is done, the two main remaining things are going to be doing the same process for the

21:41: audio system, where we essentially make our own, because right now it's still kind of dependent

21:46: on some bits in Unity. So, like, audio system is going to be reworked. I can expect that one

21:51: to be faster than the particle system, because it doesn't have as much stuff, plus I already

21:57: has been, like, working on a part of it, specifically for the reverb effects.

22:01: So that also kind of saves quite a bit of time. Once that is done, then it's kind of reworking

22:06: sort of the integration with Unity, where it's like lots of little pieces, so the communication

22:11: can be, you know, done over more well-defined kind of, you know, like, messages, which can be done

22:17: over, you know, inter-process communication mechanism. Once that part is done, we'll be

22:23: able to pull it into separate process, and that's when we get the big performance boost.

22:28: For the question, how much improvements can we expect? We don't have exact numbers. That's kind

22:34: of hard to predict, because you kind of never know, like, you know, exactly how much you get

22:40: until you cannot do it, because it's very no complex code base, and we can only make estimates.

22:45: But the estimates we have, they're very positive, because we move the headless software, which runs

22:53: all the same code as the graphical client, except the graphical parts. It runs pretty much the same

23:00: code, so by moving the headless.NET 9 and running sessions on those, we got a good gauge on

23:11: how does that same code run with much better runtime. Overall, it's been pretty

23:18: dramatically improvement. There have been events where the headless on the same hardware

23:23: would previously struggle with around 25 people, and now there are events where we'll talk about,

23:30: I know one of them got to 44 people and kept it stable 60 frames per second, which is

23:37: very substantial performance improvement. So I do expect at least roughly order of magnitude

23:43: improvement, but we will not know exactly until we make the whole switch. However you know,

23:48: shakes up. But we do expect the performance boost from this phase to be significant,

23:55: and significantly not this simple. The next one is CheckTheFoxAuthor.

24:04: I remember a question for today. What are your long-term plans to further improve

24:08: building capabilities in Resonite, Stavlok Terrain, or because it came up earlier, things

24:12: that will build large worlds? I'll also send you a fixed switch chat via contacts chat.

24:17: Oh, first, thank you for the updated one, but I probably won't swap it in the middle of the stream

24:23: because there's a bunch of questions already piled up and I don't want to mess with that.

24:28: But I will use it for the next one. For the rambly question, so this one's gonna take a good bit,

24:33: I'm kind of thinking, do I have anything to draw with this one?

24:40: Let me actually think where to even start because there's a lot of things. There's things I want to

24:48: improve with the tool system, there's things for the script thing, like where we have stuff like

24:55: WebAssembly improvements to ProtoFlux. There's a lot of things and it depends on what kind of

25:06: thing you're trying to build. Like you mentioned the terrain system, that is actually, you know

25:11: what, I'm gonna get up first, I'm gonna ramble. I have our camera set up over here and I have my

25:18: brush and I'm gonna move in my room as well so I don't hit my screen. There we go. Hello. So,

25:31: and also, hold on, let me actually bring the chat over here too. Oh, that's not a chat.

25:35: That's not a chat. Oh, that's a question from the chat. Actually,

25:40: Cyro, can you bring it over here please? Thank you. I got it. There we go. I'll put it right,

25:44: I'll put it like, oh my gosh. We'll put it right there. There we go. So, there's like multiple

25:53: things and I mentioned earlier, you know, the tool system. One of the things I want to do with that,

25:59: and this is kind of more smaller improvement, but it's kind of, since I'm going to be ramble,

26:03: it's kind of, you know, touches a lot of different things, but say take something, you know, like the

26:07: developer tool or even the brushes. Right now, like one of the things I want to do with them

26:15: asset system, because like I know with the brushes, for example, you know, there's a bunch

26:19: of options that are in the context menu and I'm gonna grab my thing so I can give you showcase.

26:26: So there's a bunch of options, like, you know, there's, for example, I can change the size like

26:29: this and there's like change color, but it's very kind of like, you know, basic. And some of the

26:38: tools, like if I grab the developer tool to actually have, oh, thank you. I can steal one

26:44: from Cyro, you know, there's a bunch of kind of options in this where if I select something,

26:49: you know, if I want to change the gizmo, I have to go here and I have to like, you know,

26:54: change which one I want. And it's kind of like, it's kind of difficult because like, I'm already

27:01: like, you know, there's like multiple branches that I want to talk about because there's stuff

27:05: with the gizmos that I want to like, you know, improve, but there's a bunch of options and you

27:08: kind of have to like, you know, navigate the menu and some of them could use like sliders and more

27:12: complex stuff and so on. So the overall goal is if you equip a tool, the tool is gonna have,

27:20: you know, associated UI with it. So let's say I equipped this one in my left hand on my right hand

27:25: where I normally, you know, you can have like, you know, facet anchors actually get, you know,

27:30: plop a piece of UI. And there's going to be a bunch of stuff here that lets me kind of toggle

27:34: and control the thing. And this is something that we'll be able to have the content theme

27:40: built in-game. So you'll be able to like, you know, to make your own UIs for your own tools

27:46: and will be built like, you know, better ones where you have like very kind of quick access.

27:51: Oh, my tracker's being mad. Whether like, you know, for example, you want to switch to gizmo,

27:56: it can just be like plop, plop, plop, you know, do stuff, plop, plop, plop, do stuff, you know,

28:00: and you have it like, and you have it kind of, you know, attached to your hand and also be able

28:04: to like, you know, place it in other places. So you can like, you know, for example, say I want

28:07: to have this, you know, in my field of view, so you can be doing something, plop, plop, plop,

28:12: doing something, you know, plop, plop, plop, and just work like that, you know, that's also going

28:16: to be useful, you know, for people who have like limited mobility. So say you cannot use your hand,

28:20: you can have it as, you know, somewhere and still kind of access it, do stuff, access it, do stuff.

28:26: It's sort of like only, it's going to be like a system where each tool can provide sort of like

28:31: template for its own UI. And then like the placement of that UI is going to be up to you.

28:36: And you also be able to like, you know, to extend it, you know, update it, like do whatever

28:39: kind of like one of it is. And if you're building your own tools, you know, make your own UI elements

28:45: that are going to control how the tool operates. So just like one of the things that I feel is going

28:51: to like, you know, overall kind of improve the workflow. There is also other stuff like if I

28:57: go like back here, I'm going to do this bit. So you are in the desktop, you know, and like you are,

29:08: say like, you know, like you open an object, make sure switch it back to this, say like, you know,

29:13: you open an object, you can have like inspector in VR just kind of works, you know, we can have

29:17: like here, I can be doing a thing and do thing here, do thing here, you know, I can pin this,

29:22: so this kind of goes with me. In desktop, this is a little bit awkward. So one of the things I want

29:29: to do there, just to kind of bring it more on par with like typical editors that people use is,

29:34: if you're in your desktop interface, let me get a little bit closer, if you're like in your desktop

29:41: interface and just kind of getting like a Sith red, you know, you can have like your scene and

29:48: like, you know, you have your tool, you know, just like doing stuff that you have equipped and say

29:53: you have like in a like a box or something and you're like kind of editing it, you know, and

29:58: there's like gizmo for like, you know, moving it around. With the first person kind of view,

30:06: sometimes. And we have already a few models where we can like, you know, we can like UI focus or

30:10: can focus on it, but I want to make it easier so you can just, you know, hold a key or press a key

30:15: and you free up your cursor and you can, you know, just hover over this gizmo and operate it the way

30:20: like you would in an editor. But another thing that I think is going to be very powerful specifically

30:24: for desktop is if you open an inspector, you know, the inspector is just somewhere in the world and

30:30: you have like, you know, a bunch of stuff and you can, you can UI focus on it, but like, you know,

30:35: because you have to UI focus on it, un-focus and back on the object, UI focus on it, you kind of

30:40: like, you know, you can only have like one thing at a time. So the most powerful thing that I think

30:47: is going to be added for the desktop moment at some point is where if you have the inspector UI

30:52: somewhere, you're either going to hold a key or press a button on it and you're essentially going

30:57: to pin it to the screen. So there's actually this UI that is in world, it's going to be, you know,

31:05: pinned and just kind of project it like this. And you're still going to have like your view here.

31:10: So, you know, you have like your tool, you have your stuff, but it can hover with the mouse and

31:13: you can like, you know, do stuff here and then go back here and operate here. And you'll be able to

31:19: like, you know, do it in a similar fashion that like, you know, it works for example in Blender

31:23: or Unity where you can create like, you know, additional windows. Maybe you can, you know,

31:27: actually pin multiple things and have like, you know, tabs here and can switch between them.

31:31: Or maybe, you know, you subdivide this even further. So like you have, you create like,

31:35: you know, you split your views. So you have like, you know, maybe your main one and, you know,

31:42: so this is still like, you know, your main view and have like, you know, stuff here.

31:48: But then like also like, you know, maybe you have additional camera views, but you can, you know,

31:54: see it like aligned, you know, from different angles. So maybe this is, you know, forward one

31:59: and maybe like this one is like bird's eye view, you know, whatever you kind of want. And you'll

32:04: be able to like, you know, subdivide your user interface to, you know, create like better workflow

32:12: that still operates with the same things. Like this UI that is pinned in here,

32:17: that's the exact same inspector, you know, that you open in here. It's just,

32:24: it's just, you know, perfectly aligned, you know, to your screen with very easy

32:28: access without requiring to focus and then focus on other things.

32:33: It's kind of like Blender then almost.

32:35: Yeah, that's what I was mentioning. Like it's kind of like Blender. It can like, you can just be like,

32:39: I want to subdivide this one, you know, for example, horizontally, you know, and it splits

32:43: and it can make this one whatever you want, you know, same with Unity. If you also have like,

32:47: you know, multiple computer screens, say like you have another screen that's, you know,

32:51: maybe like it's a vertical one, you know, maybe you'll be able to pin some inspector windows here.

32:59: So you have like a bunch of stuff here and a bunch of stuff here. Maybe you have a view here,

33:04: you know, just kind of like organize your workspace and utilize multiple screens. And I think

33:10: this is going to be one of those things that's going to make building in Resonite and desktop

33:15: mode way more powerful, way more easier, but it's still going to be built around the exact same

33:22: tools you use in VR, because there is a big part of our philosophy is like, we build things in a

33:29: way that are sort of agnostic. Like where it doesn't matter if you are in desktop or VR,

33:37: like for all the tools, we build just one version of the tool, but the mechanisms that interacted

33:42: with are built, you know, to be usable in both. It's actually kind of funny because

33:51: in order to achieve that, in most tools and in most games, if you have a tool, especially a tool

33:59: objects something in the environment. Or like, you know, say it's like, you know, you have like a

34:05: first-person shooter game. Usually, like when you shoot, you know, it's like a raycast that goes

34:10: into the scene, finds, like, you know, what you shot. In most of the cases, like, it's actually,

34:17: you know, let me actually clear this. In most cases, what happens is, you know, you have,

34:31: and like, you know, you have your cursor and like, if you want to like, you know, shoot something,

34:36: what actually happens when you shoot the raycast, it doesn't come from the gun. It comes, you know,

34:42: from, from here, from the center of your screen, because it's just easier. And like, you know,

34:46: it matches where you go. And this is, this is literally just a visual. It's, you know,

34:52: just the probe. Like it doesn't, like under the hood, it doesn't actually shoot from the gun.

34:57: Now with the Resonite, all the tools are built, you know, like if you consider this in VR,

35:03: this doesn't work because in VR, like you don't want to be shooting from where you're looking.

35:08: If I'm holding a tool, you know, and I point at something, I need to actually hit and I selected

35:14: something on Cyro. I need to actually hit from where the tool shot. So the raycast needs to be

35:20: coming from the tool. Now in order to make it, you know, so you can use the same tool

35:28: in desktop. What Resonite does, it actually figures out math, which figures out if there's

35:38: a point in the scenes where it does, you know, a raycast from the scene, it figures out where

35:43: exactly to puppet your hand to point the tool. So it hits this exact same point. And in order

35:50: to do that, I had to actually, I had to actually figure out like a piece of math that like,

35:55: I kept searching and I couldn't find it anywhere. Like I was looking, you know, for a way to solve

36:00: that problem, like mathematically, and there just wasn't anything. So I had to just, you know,

36:05: sit down, work out like a bunch of diagrams and think about it and think about it some more and

36:10: think about it even more. And then I arrived at a solution, which lets us, you know, which is a

36:15: piece of math that lets us figure it out. And it's kind of how Resonite works, because it just takes

36:20: the same tool you would be using in VR, like, for example, the developer tool. And it puppeteers

36:27: your hand precisely, so it hits the point that's, you know, under your cursor. And that's, you know,

36:35: that's kind of part of our philosophy. It's like, you know, like as a tool creator, you don't need

36:40: that. You don't need to worry about is it going to be used in desktop. We make a system that,

36:44: like, you know, positions the hand exactly so it doesn't know what you would expect.

36:52: So it's kind of like, that was the ramble, like, down one of the branches. There's other parts,

36:58: you know, so like this, for example, consider with some of the tooling to make worldbuilding easier.

37:03: There's a number of other things, like I mentioned, like, you know, gizmos. When I open a gizmo,

37:10: actually, sorry, hold on, let me give you, let's do a quick demonstration.

37:14: So you get one, I get one, say, you know, I, we're just gonna make something, and

37:21: so you make something too, and you select it, you know, and just select it, and,

37:26: and you select your own, and make sure, make sure, like, you know, it's visible on the camera too.

37:32: You see, there's like two gizmos, and I want to, like, and I want to deselect mine,

37:36: you know, I'm gonna do deselect, it deselects both of them, because right now the selection system,

37:43: it doesn't actually have proper selection system, the tool, each tool individually,

37:49: cannot try what it just selected, and it kind of doesn't communicate with anything else,

37:54: so we want to deselect all, it just has to kind of brute force deselect everything, and that kind of

37:59: gets difficult. You also cannot do things, because one of the things you can do, you know, in edit,

38:06: in editors like Unity, you can select multiple objects, and you can kind of do that, like you

38:11: can, I can switch this to like, actually where's the option, multi-select, I don't even use it

38:21: often, there we go, multi, you can select like multiple things, but they're like each their own

38:25: individual selection, because like there's just, there's no communication between these two

38:29: selections, but in Unity you can select two objects, and it actually gives you gizmo that's

38:34: in the middle of both cycle, for example, select two objects, and then rotate them,

38:39: you know, around their shared axis, or can like, you know, move multiple objects all at once.

38:46: What that requires though, is, you know, for some system to communicate what your selection is,

38:52: and that's something I'm really looking forward to implementing, because

38:57: it's gonna be useful, like, you know, for a lot of tools and a lot of workflows,

39:01: where there's a system that's independent of any particle tool, which sort of manages what have I

39:08: selected as a user, it has like, you know, a list of selections, you can add to it, you can clear

39:12: it, if you clear it, you can only clear your own selection, because it keeps track of them,

39:16: but also anything that operates with a selection system can query it. So, for example, the gizmos

39:22: can be, okay, you have selected multiple things, you know, I'm gonna make the gizmo operate over

39:27: the whole selection, because there's now a system which tells it what are all the things that were

39:33: selected. You'll also be able to, like, you know, use it to integrate it into other tools. For

39:38: example, you know, one of the tools we have, the glue tool, allows you to bake things, but you

39:43: kind of have to, like, you know, organize them in the hierarchy. Once we have a system for handling

39:50: selection, what we can do is, like, where you essentially select multiple objects, and you grab

39:57: the glue tool, and you say bake selected, and it'll just bake everything that's currently

40:02: selected that it can. So there's gonna be a number of those systems that I feel is gonna

40:09: improve, you know, workflow, like, significantly, you know, both, like, on desktop, both in VR,

40:14: and it's gonna open up, like, it's gonna add, like, you know, this kind of shared system that,

40:19: tools wouldn't benefit from, and gonna get integrated, and so I was eating the things.

40:25: There's also, like, other things, like, you know, there's, like, stuff like snapping.

40:28: There's another thing that's gonna be improved, like, you know, because you can technically snap

40:31: things, you know, you can, like, select, like, where you want to snap something, but it's also,

40:34: like, kind of limited, you know, right now. So just having that system is gonna make it easier

40:41: to implement a lot more canine operations, where instead of these things being very isolated,

40:46: they're gonna be able to interact with each other, and we can build tools that kind of

40:50: interact with multiple things much easier.

40:55: So, yeah, that's another, you know, tree of the ramble, you know, going into the gizmo stuff.

41:01: I don't know how long, like, I can't, like, ramble about this stuff for a while, but, like,

41:05: one of the things you also mentioned, I'm just gonna use it since it was in your message,

41:08: is the terrain system. There's actually another thing I'm really, really looking forward to

41:14: is going to one of those components that lets you build really big worlds, but also, like,

41:20: one of the things I feel is going to be very fun to play with because you can, you know, just

41:25: generate, like, these big terrains. And the way I want us to approach terrain system is actually

41:31: going to be built around ProtoFlux. So, instead of, like, you know, the system sort of, like,

41:38: being baked and very, like, you know, specific, the way it's going to work is you're going to,

41:44: build, you know, your own terrain, like, you know, how the terrain should work,

41:50: you build it out of nodes. So, for example, say, at the beginning, you can have, you know, some

41:55: input data and it's going to be anything. It's going to be, you know, say, this could be like

42:00: a height map, you know, so have like some kind of like texture, you know, that's like a height map.

42:06: It's a very, you know, simple form of timeline height map. And then what you do is you can,

42:12: you know, you have like nodes that turn the inputs into some sort of like, you know,

42:19: visual representation or physical representation, like geometry. So you can have like, you know,

42:23: one that just takes a height map and it's just, you know, generics like kind of like chunk

42:28: geometry out of it. And you plug this in and this is going to drive your terrain system.

42:35: So this could be, you know, just kind of like flat terrain and it's going to do stuff like,

42:39: you know, where some of the nodes you can specify this can be a grid of height maps,

42:43: and this will handle stuff for you, like, you know, like LOD, whereas you move around,

42:47: it's going to generate more detailed geometry, but you will be able to like, you know,

42:51: do more complex stuff like this. So you want, you know, you want to like have also splat map.

42:56: So like, you know, maybe have like a splat map and this goes into this to give different textures.

43:01: And maybe, you know, you want, you want to do some extra like vertex processing for

43:06: certain types of terrain. So like, for example, if it's like, if the splat map indicates this,

43:11: these are rocks, maybe you want some algorithm that says, you know, apply these, this texture,

43:18: you know, apply this texture and pair through, like, you know, the geometry. So it's gonna,

43:24: you know, more rough and, you know, this will plug into this. So you have to kind of like,

43:29: you know, build out a system you want and like, you know, build out the data structure you want,

43:34: and it's gonna handle all of the kind of complexities for you, like, you know,

43:37: like the terrain being infinite and so on. What it's also gonna do is you'll be able to,

43:43: like, you know, swap out the data sources. For example, instead of like height map,

43:46: maybe, you know, it's gonna be voxel maps. So like, you know, we have like,

43:52: you know, we have like voxels. And I'm just gonna do a quick representation.

44:03: So these are like, you know, voxels, like voxel data.

44:09: And, you know, maybe you can plug that into the height map generator. So like it, like, you know,

44:14: it will do something like it's gonna check the highest voxel and generate geometry based on that.

44:19: Or you have like, you have a different node, which instead will generate, you know,

44:24: terrain in the style of like, you know, Minecraft, where it's like the voxels are actually, you know,

44:28: actual like blocks. And it's gonna handle all the complexity for you, you define, you know,

44:32: how each one of them looks and so on, you can like do a lot of kind of complex things.

44:37: Or maybe there's gonna be another one that instead of like, you know, it being kind of blocky,

44:41: it's actually gonna, you know, generate like a smooth it out, like 3D terrain out of these,

44:47: you know, voxels, you know, so have like stuff here, and it's like more, you know, detailed.

44:53: It's gonna be lots of other systems, you know, like, for example, you can have another one

44:57: also uses another map to populate it with like, you know, objects like trees, vegetation, and so on.

45:04: And the overall idea is like, you know, instead of terrain system that's, you know,

45:09: fixed and how it works, we give you the building blocks and let you define, you know, what your

45:15: input data is, you know, which can be voxels, you know, textures, it can be procedurally generated.

45:20: Or maybe, you know, there's, you do actually have like data that's, you know, saved,

45:24: but you have another node, which, you know, runs a function when you go into a new part of the

45:30: terrain, you just say, you just generate whatever voxel data you want. So like, if you wanted to do

45:36: something like Minecraft, as you walk around, anytime you go, you try to load a chunk, you know,

45:41: that wasn't loaded before, it's going to run this to initialize the data. And at that point,

45:46: it just becomes data, which means it can be modified. There's going to be number of nodes,

45:51: and other mechanisms to mutate this data. So like, if you've already know something, like if it's

45:57: like a tool or game, you know, where it sends, you know, modifies this data, this is going to

46:03: trigger the system and automatically, you know, updates the visuals for you, and lets people

46:09: mutate the terrain. And it's going to be useful for both, you know, the building tools, because

46:14: you can make like a brush that, you know, draws the system. Or if you're making a game, maybe you

46:18: make it like, you know, like a little like bomb and you throw it and it explodes. And when it

46:22: explodes, it mutates the terrain data to actually make a hole. So we can both use it for building

46:29: the terrain and also to, you know, create like interactivity with it. And the system is going to

46:34: be flexible enough to let you know, do all these kind of different things. That's the kind of

46:41: general idea. And it's one of the reasons I also like, you know, really look forward to it because

46:45: of all the possibilities and the way, you know, I feel this is going to be approached is, it's

46:52: going to make it overall simpler. And like you can combine the different nodes in lots of different

46:58: ways to create like, you know, terrains that kind of suit your needs. Like if you really wanted to,

47:04: for example, you could have, you know, you talked about like Minecraft Importer before. One of the

47:09: things I want, I would want to happen at that point, once we have the terrain system is where

47:13: instead of just importing the pre-generated geometry for the Minecraft data,

47:18: we just import the Minecraft data, you know, into the data set, set up a node that's like,

47:23: you know, that's able to process it and generate the same terrain as the Minecraft. So that way

47:28: you could actually still modify it, you know, play with it and so on because all the data is still

47:31: going to be there. And when I was like, I don't have like some design notes, you know, on this

47:36: and a lot of kind of design thoughts. When I was working on the Minecraft Importer, I actually got

47:41: a lot of inspiration based on that because I was poking around Minecraft substrate format

47:49: and it's kind of structured in a really interesting way where like if you in Minecraft,

47:54: you know, we have like chunks and the chunks are very vertical and they also kind of like,

47:58: you know, split into these vertical kind of segments. And what the substrate format does,

48:05: it encodes each one of these kind of, you know, separately, but it computes like a palette.

48:12: If you're here, there's mostly going to be bedrock and it's going to be some stone blocks.

48:17: So for this chunk, you know, maybe the palette is, you know, bedrock. And, you know,

48:24: well now it's kind of deep slates. I'm just going to go deep slate.

48:28: Deep slate. And maybe there's some, I should forget, are diamonds at this level in Minecraft?

48:34: I don't know. I mean, let's say a redstone, I don't know. Redstone. So it has like a palette,

48:42: and there's also obviously no air, like empty. So what it can do if there's only four types of

48:48: blocks in this particle chunk, it encodes this palette and it assigns each one a number.

48:54: And you only need two bits to represent this. So like this one's going to be, you know,

48:58: for example, 00, this one is going to be 01, 10, and 11. And then to encode all the data in the

49:06: chunk, each block in the chunk is just two bits. And if there's more of them, it's gonna, you know,

49:13: maybe it needs to use three bits or four bits or more. But what's really cool about it is

49:18: the way they structured it. All of the names, like they also have like, you know, prefix. For example,

49:24: this one will have like Minecraft, Minecraft Air, Minecraft This. And it makes the format

49:32: possible. So like when you use mods, the mods can add their own custom blocks and just, you know,

49:39: like, for example, they can be aether, you know, I was mentioning that earlier. They can be aether

49:44: and has like, you know, its own block. And they can add extra blocks easily without meshing with

49:49: the others, which didn't used to be true for, for the older, like, formats, you know, before

50:00: I'm messing it up, it substrates the library, the format's called Anvil.

50:06: But they used to like store where each of the block, it actually just had like an ID,

50:10: which means if a mod wanted to add another block, like eventually, like an official Minecraft would

50:17: add a block with the same ID. And then now this would collide. And now, you know, your

50:21: mob is kind of confused, but it kind of came up with this system where it's both more efficient

50:26: and also a little more extensible. So when I was like poking around it, I got like, you know,

50:30: lots of ideas for, you know, how our system is going to work. And it's kind of like, you know,

50:35: part of the reason I came up with the whole like data layer, where you define how your data's,

50:39: you know, done. And then you feed that into nodes that generate, you know, stuff like geometry from

50:45: it, you know, and other things. So there's a lot of stuff with this. I think I remember the

50:51: Turing system in Particle quite a bit, but overall, I think this is going to be really

50:56: powerful and a really fun system, you know, just to kind of play with and mess around and so on. So

51:03: that's one of those things I'm really looking forward to implementing. And it's going to be

51:06: built around, you know, Photon, not PhotonDust, Protoflux. I was probably going to have some

51:15: PhotonDust integrations too, but the, you know, you'll be able to like use a lot of the same kind

51:21: to the level where we can also say, you know, how individual, you know, how are individual

51:26: vertices of the terrain like modified. There's lots of other things too. So like probably the

51:35: last one, I don't want this ramble to go for much longer because I've been going for a bit.

51:41: One of the other big things that I think is going to be a really big for Resonite is with some of

51:49: the data model updates where we introduce something called the Domain System.

51:54: So right now in the Resonite, you know, we are in a single world.

51:58: And you know, this world is like, it's like its own self-contained thing. It's like, you know,

52:02: it's own session. What it makes harder is if you want to build really big worlds, you know,

52:08: worlds where you can travel between them, like, you know, physically. So what is going to happen

52:16: is that each world is going to become something called a Domain. And the Domain, you know,

52:22: it can be just the world. It can be, you know, just like it is right now. But we're going to

52:27: add a mechanism where you can have multiple domains, essentially multiple kind of sessions

52:32: loaded with mechanisms for them to like interact with each other. So for example, say like, you

52:39: know, we are, you know, in this session, and this is, you know, there's a session, you know,

52:45: there's like, there's like stuff, you know, there's like people, they have like objects, and so on.

52:51: And this is all session as it is now, you know, like, that's me, that's Cyro,

52:55: because I'm taller. There's like, you know, the cubes we have created.

53:04: What you'll be able to do is, you know, say there's, say this is like, you know, session A,

53:10: you know, session A, you'll be able to like make another session, you know, that's not normally

53:17: would be completely separate, you know, and there's like some other people here, and they have all

53:21: their own stuff, they have spheres, and this is session one. You know, this is session one.

53:28: You'll be like, if these two sessions communicate, you'll be able to say,

53:31: these sessions are actually physically next to each other.

53:36: And I'm just gonna redraw, and there's more people, and they have, they have the spheres,

53:41: and maybe a triangle. So these are physically next to each other. So if you are in the session,

53:46: we can, you know, we can see this one, and if you just, we just, you know, go and walk.

53:52: Oh, this is all too good. No, let's say there's a third person, and the person just, you know,

54:00: it's gonna seamlessly transition into the other session. Same way, like, you know,

54:02: people in this session, they can see this session. So we're talking, you know, kind of put them,

54:06: like, kind of next to each other, and you can, you know, put another one here. You could,

54:09: you could make, you know, a grid system if you want to. But, you know, kind of similar, like,

54:15: you know, to Second Life. We can kind of travel between multiple grids. But the whole idea is,

54:20: like, you'll be able to make sessions, you can make them relate to each other in any way you

54:29: like, to be in a grid. There's going to be, like, you know, a system to kind of do it.

54:34: So what we could do instead is, instead of the session being right next to this one,

54:43: you know, maybe, maybe say, like, you know, there's, like, a little table in this one.

54:49: Oh, this is all together. Say there's, like, a little, little desk, and there's, you know,

54:57: we can scale down, and if you scale down and go here, this little house on this desk

55:03: is actually a whole other session, you know, and this is a session, let's say, session house.

55:14: So you can actually travel into the session, which has, you know, its own stuff, you know,

55:18: there's, like, furniture, you know, and there's stuff, and there's people, you know, and there's,

55:24: other things. This is all contained within this house, and this session is actually just

55:28: shrunk down, like, you know, within this. So there's an entire world in this house that

55:32: you can enter by shrinking down and going in there. And you essentially just say, you know,

55:38: this session, which is designed to be, you know, part of the house, is, like, you know,

55:44: is, like, this big, and this, like, you know, and positioned, like, to this object in this other

55:48: session. And this isn't going to handle the transitions for you. And this works, I know,

55:53: the other way. Say, you know, here, we build, like, you know, some kind of mechanism like

55:59: a spaceship, you know, we build, like, a kind of, like, nice spaceship real quick. We build,

56:06: like, you know, this little, like, thing, and we fly out. This kind of looks like a weird fish.

56:11: We fly out. This session is actually part of, like, a much bigger session, which, you know,

56:19: fly around. And, you know, this thing is its own session, which has, you know, lots of little

56:25: sessions in there that you can kind of go into. So you can, like, you know, you can travel kind

56:29: of between scales and kind of achieve, you know, almost like infinite, infinite universe.

56:37: And, you know, and maybe, like, this goes even further, maybe, like, you know, the whole galaxy,

56:41: you know, there's a whole galaxy where some bits, you know, there are, like, the solar systems are

56:48: gonna, you know, travel that way. And this session, you know, just, it has some kind of

56:54: galaxy visual and some things that, like, tied into its own, like, substations, which then have

56:58: their own substations and can, like, go as deep, you know, as you want and construct, like, really

57:05: physically big and complex kind of worlds. And that's gonna be, you know, like, the whole kind

57:12: of domain system. And I think that's kind of, like, allowed to build, like, you know, way,

57:18: do right now. There's also another thing, because one mechanism I want to have for this is for

57:25: sessions to also travel into other sessions, or shouldn't be saying sessions, but domains.

57:32: So, say, this spaceship that we built, that's actually its own,

57:37: that is, own, you know, session or its own domain. This session, like, you know, Rocket.

57:44: So, we actually, we enter this one, and then we travel, and we actually leave this session,

57:49: and, you know, it travels into another one. We, we arrive into some other session,

57:55: you know, there's, like, some people here, and we arrive here,

58:01: you know, in the, I'm drawing this, we arrive here in the session, and we step out,

58:07: we actually have, you know, are now also in this session. So, you can have, like,

58:12: a vehicle, the inside of the vehicle can be its own session, that can then travel to another one,

58:17: you can step out, and we are within that other session. There's another mechanism that's going

58:23: to be part of this, and part of the domain, domain system, is where each domain, it has,

58:30: you know, can have, like, multiple sort of sections to it. And there's, like, you know,

58:34: section that's the inside of it, you know, that has all the furniture, it has all of the details,

58:39: you know, every little bit, but then also it has its own sort of external representation,

58:46: you know, like, for example, the spaceship. So, the session has, like, you know, external

58:49: representation, which is just the spaceship hull. So, when this session enters another one,

58:59: it doesn't, like, everyone in this session doesn't actually need to load inside of this.

59:03: They only see its external representation to other users, which is not much simplified,

59:10: so it doesn't take too much performance. And it's only, you know, if they stepped inside,

59:14: they would actually load it. So, this kind of system, it's sort of like LOD for the entire,

59:20: like, you know, kind of regions. And this will work, you know, regardless of whether, you know,

59:24: it's a session that kind of moves from each other, or if it's, like, you know, a trunk-based system,

59:28: or grid-based system. Because, like, if you have a grid, like, you can load grid chunks that are,

59:35: like, you know, really far away, and they, instead of, like, you know, loading the whole thing,

59:39: they have, like, their own kind of LOD representation that you see, if you see them

59:44: from distance, and it loads the more detailed one once you kind of get close. So, this, I believe,

59:53: like, is going to be, like, kind of one of the game changer mechanisms for Resonite, once we're

59:58: able to kind of work on this one. Because it's going to turn, like, you know, the platform from

01:00:03: being able to build just, you know, individual worlds, which you'll still be able to do. If you

01:00:08: really want to just individual worlds, nothing forces you into the system. You know, you can

01:00:14: have just isolated session, isolated domain, don't allow any others in. But it's going to provide a

01:00:19: tool to build things that are, like, you know, much bigger, where you can, like, you know,

01:00:25: travel to other problems, you can travel, you know, to microscopic levels, you can, you can

01:00:29: have multiple people go, you know, into a terrace or spaceship and fly somewhere else, you know,

01:00:34: and then, like, arrive at some other session and, like, you know, step out and talk with people

01:00:38: there. It's gonna open up, like, a lot more possibilities on how people interact on Resonite

01:00:45: and how they interact on this platform, and it's gonna open up more possibilities for the kinds of

01:00:50: experiences you can build in here and make them kind of more connected. Like, even if you take,

01:00:54: you know, this place, I'm gonna switch the camera, you know, if you take this place,

01:01:03: let me actually go some POV, you see, we're kind of, like, in the sky, and there's, like,

01:01:08: an island over there, and right now that is fake. Like, if I actually go into it,

01:01:14: if I go noclip and I fly through this, you see this is fake. It's just a billboard.

01:01:23: And this is, like, very typical for small worlds, but, like, if you, if you actually go, you know,

01:01:30: into things, like, it just kind of breaks the immersion. It's okay if I look at it from

01:01:34: distance, but, like, once I fly over there and see it's fake, it kind of breaks it.

01:01:39: With this system, that island over there, it can actually be in session, and if I fly over it,

01:01:45: it's going to load it and I can talk with the people that are there. With the system that's

01:01:49: handling, you know, the external representation, some of the stuff that's actually happening on

01:01:54: the island can be, you know, maybe, maybe it's going to, like, you know, render,

01:02:00: somebody spawned something big, you know, on the island. It ends up in the preview and I can see

01:02:06: it from distance. I probably want to be, like, to see it, like, you know, moving forward in real time,

01:02:10: but I'll get some idea what's going on the island. With mechanisms to also communicate between the

01:02:16: domains, you know, there can be stuff, like, for example, the, you know, the time of the day that

01:02:21: we have right here. This can sort of be like a meta domain that kind of covers multiple domains.

01:02:27: It's sort of like a layer that's around all of them and that doesn't, like, really contain much

01:02:33: on itself, but it kind of has, you know, some shared information for all of these. So, like,

01:02:39: no matter which one you are in, there's some basic stuff, like, maybe there's, you know,

01:02:43: I mean, it wouldn't make sense for time of the day since there's, like, a galaxy, but, like, say

01:02:47: there's, you know, some kind of global announcement thing, so this is, you know,

01:02:52: part of the meta domain and this can communicate with every single one of these.

01:02:59: So, like, any of these can, you know, send a signal to this and it's going to go to all of these,

01:03:03: so no matter where you are, you know, that can trigger things to happen. I would like,

01:03:08: you know, we kind of want to skip them. So, I think this is probably a good point to kind of

01:03:14: stop this big ramble because, like, I can go kind of deep, but I did want to cover this one. This

01:03:19: is, like, one of the ideas I'm, like, really excited for. It actually also ties, you know,

01:03:24: into the things I was talking earlier with the terrain system because terrain system,

01:03:28: you know, it might not even be contained in an individual session that can be, you know,

01:03:32: part of the sort of meta session where if you're walking multiple chunks, the terrain system is

01:03:37: actually being handled by the meta session where, you know, like, where the terrain system itself

01:03:43: has its own, like, chunk system and it's kind of handling that. Or maybe there actually is

01:03:49: terrain system in each individual chunk, but there's gonna be mechanisms for, you know,

01:03:56: for them to communicate. Because you need it for other things too, like, you know, some cubes at

01:04:00: physics and you want them to transfer from one to the other, they need a mechanism to kind of

01:04:04: communicate between the domains. So there's a lot of kind of long possibilities, a lot of things are

01:04:11: gonna be also figured out, but this is the general gist of the, like, you know, the big plan of,

01:04:16: like, where we want to take ours right in the future and to be able to build worlds, like, you

01:04:20: know, way bigger than you can do anywhere else. So thank you very much, Ciro, for the question.

01:04:26: I think I rambled for a good amount, like, we should probably start getting some other questions,

01:04:31: but at least, you know, I got my ramble, you know, for this episode of Resonite out of the way,

01:04:37: which means the one I was planning, I might leave for another time. So thank you very much for

01:04:43: checking the folks out there, and thank you very much for listening. I'll probably split this one

01:04:47: into multiple videos and each of the sections, just so it's not too long. But I hope that answers

01:04:54: the question, that answers the question, you know, to the full list. Let's see, gonna move the camera

01:05:05: back here. Oh, we need to bring the chat back. I hope, like, the next question isn't on the

01:05:14: really rambled one, because, like, I'm gonna sit down and be like, oh, I need to get back up.

01:05:18: But I glanced at it, and I don't think it's gonna be that, so. I think we're good to

01:05:24: I think we're good to sit down for a bit.

01:05:31: That's kind of weird. There we go. Oh, that's the good view.

01:05:53: It actually does the opposite. Usually, when we build our own in-house system,

01:06:00: it happens, because, like, I feel like we get, like, reputation a little bit, like, you know,

01:06:05: we like to do, like, our own in-house systems, but usually my first instinct is to do the opposite,

01:06:10: and want to look for a library or something that we can use that's gonna save us a lot of work.

01:06:17: A lot of the things that we do at Resonite, like, we end up, like, reaching a point where

01:06:24: using a third-party solution doesn't quite fit our needs. It's,

01:06:31: like, it essentially reaches a point, like, where, like, it's, like, we kind of have to more deal

01:06:37: with the issues of the library, just the kind of progress, and that's what ends up, you know,

01:06:42: ends up slowing the updates, because it kind of puts the roadblocks. And making our own

01:06:47: system lets us design one that, like, that is, like, a perfect fit for what we're trying to do.

01:06:53: And because with Resonite, we're trying to do, you know, things that a lot of other platforms are

01:06:58: not, it ends up, like, requiring a lot of kind of, like, in-house solutions, because we need, like,

01:07:05: you know, sort of unprecedented level of control over those systems, so we can achieve our goals

01:07:09: and make it fit with the rest of our architecture. But yeah, like, it kind of depends. But all of the

01:07:19: systems, you know, that we have kind of in-house solution for, there's a justification for that,

01:07:25: like, there's been something that made it necessary to have that system. Because given

01:07:33: a choice, I will, like, you know, like, for example, with Bepu. Bepu, that's a physics engine,

01:07:37: is excellent, it's a big project, we wouldn't want to do it on our own. And the way Bepu physics is

01:07:43: written, it's very, it's very kind of low-level kind of physics engines, which means, like,

01:07:50: you kind of get to, like, adapt and integrate it in a way that suits your project. And I really

01:07:55: appreciate, like, you know, that kind of thing. And it's one of those things where I, like,

01:08:02: I don't see us ever, like, making it on our own, at least, like, not in the foreseeable future,

01:08:08: and we'll very likely, you know, continue utilizing that one. There are actual cases,

01:08:12: even with that one, where it makes things harder to update, because right now what Bepu has done,

01:08:19: a while back they actually moved to, initially, .NET 5, I forget which version it's on right now,

01:08:25: but it essentially requires, you know, the .NET runtime, because they wanted to use some of the

01:08:30: high-performance, you know, features of it, and because of that, we can't use the, you know,

01:08:36: upstream versions anymore, and we have our own modifications, our own fork, and I actually had

01:08:40: to spend time backporting some of the updates they did, you know, back to, like, something that works

01:08:46: with .NET Framework, so it actually made, like, there's an idea harder to update because of that,

01:08:52: and it's one of the reasons we want to move, you know, to .NET 9, so we can actually sync up with

01:08:56: the latest version and make it easier to update, but oftentimes there's going to be something like

01:09:01: that. The library does something, doesn't fit well with what we're doing, and it has additional work.

01:09:08: We have a system, you know, that is built specifically for our purpose that usually makes

01:09:12: things smoother, so the main thing is, you know, how much effort is making that custom system

01:09:17: and maintaining it, and usually when the maintenance burden of, like, you know, like,

01:09:26: in our solution, that's when we, you know, decide, like, we're gonna make the switch,

01:09:29: we're gonna make our own in-house. We've got some questions.

01:09:38: Rinalodge86, improvements to ProtoFlux. Yes, there's a number of them. Actually, the talk,

01:09:42: there's another standalone video on our YouTube channel which talks about, you know, future

01:09:48: improvements to ProtoFlux. Just in short, there's going to be stuff like nested nodes, so you can

01:09:53: define your own functions, you can define interfaces, so it, like, interacts better

01:09:56: with lots of other systems as well. There's also going to be DSP, so, like, you can, you know,

01:10:03: process audio, meshes, textures, you know, do stuff, like, procedurally, do, like, various

01:10:07: kind of, like, processing like that. So there's a lot of improvements to ProtoFlux that we want

01:10:11: to do as well. I do recommend watching the video on our YouTube channel. It's, it's, it's called

01:10:16: something like Future of Scripting, you know, with ProtoFlux or something like that, so give

01:10:19: want to watch if you want to know more. Next one, Bitkirk IGN. Are there any neat, cool

01:10:27: features you want to add to PhotonDust after testing, after performance update? Yes, yes,

01:10:32: there's a number of them. So one of the features we want to introduce is sub-emitters. So you can,

01:10:40: like, you know, when particles, like, you know, the particles can actually spawn, you know,

01:10:44: more particles. And it could be, you know, during their lifetime, it can be when they die, it can

01:10:50: be, like, when particles have trails, the trails can be emitters themselves, you know, so you can

01:10:54: do all kinds of cool effects. The other feature is also going to be, like, effectors, force fields,

01:11:02: where you can define, you know, for example, a sphere in the world, and you say the sphere

01:11:07: applies, you know, turbulence, you know, to the particles. So you can create, like, winds, you

01:11:11: know, you can create force fields, like, you can shoot particles, you know, and then, like,

01:11:15: bolt, you know, like, do all kinds of things with them. And that's, overall, I think it's going to

01:11:22: be a very powerful system as well. There's, like, one that I kind of, like, want to do at some point

01:11:26: is, like, add... one of the things I made with PhotonDust is that it supports... it's very modular,

01:11:34: and it supports different renderers. So the particle system, it does its own, like, simulation,

01:11:39: it computes, you know, new points, new colors, new rotations, and so on, and that goes into a

01:11:44: renderer, and the renderer decides, you know, how are these points going to be represented visually.

01:11:48: So you can have, like, you know, the... you can have, like, you know, billboards, or you can have,

01:11:51: like, you know, meshes, you know, the particles represent meshes. One thing I want to add is

01:11:55: something that's going to use... what's it called... Martian cubes algorithm, and sort of make a mesh

01:12:04: so you can sort of do, like, you know, like liquids with it, and I think that's going to be cool for

01:12:07: lots of, like, you know, lots of, like, equal effects. Always, like, think of the... think of,

01:12:13: like, liquids in a portal, like, you know, like, when you have the gels, and you'll be able to do

01:12:17: stuff like that with it. But I don't know when I'll be able to add that one, because there's a

01:12:22: little bit more involved, but... I'll have to see on that one. But, yeah, just a bunch of them.

01:12:31: Next question, relaunch86. What would I use brushes for when building a world?

01:12:37: Could you give me some examples when you have time in answering? Yes, so there's lots of ways to use

01:12:43: a very powerful system. So, you can pretty much use it for any part, you know, from prototyping

01:12:51: to actually building a world. So, if you start building some environment, you know, like I can

01:12:57: kind of want to get up for this one again, but I just sat down. With the brushes, let me actually...

01:13:04: I'm gonna stand up, and... There we go, I'm gonna move over there.

01:13:09: Now we still have this stuff over here.

01:13:17: So, I'm gonna clear this one out. To say, actually I'm not even gonna use this one, I think I'll use

01:13:23: Smooth POV. So, say like you're building a world, one of the things that even our own team oftentimes

01:13:28: does is like, when they, you know, block out the environment, they'll be like, you know, or maybe

01:13:32: like, we want to add a thing over here, so like, you know, you just quickly draw it, and you're like,

01:13:36: okay, like, maybe a disc over here, you know, and just draw it like this, and get, you know, a very

01:13:43: quick idea, and maybe this is gonna have like, you know, a thing over here,

01:13:48: you know, and it's sort of... Oh, is it too fine? Oh, I think it might be a bug. It looks good.

01:14:00: So, yeah, you essentially, you know, you kind of sketch out, like, what you want to do,

01:14:04: and because, like, you can draw in 3D space, you get, like, you know, a good idea, you know,

01:14:12: you get a good idea, you know, spatially, like, you're like, okay, like, this is how the space,

01:14:16: you know, feels like, you know, I have, like, stuff here, maybe, like, you know, put some stuff here,

01:14:20: so the brushes, they're a really good tool, you know, for initial kind of blocking out and prototyping,

01:14:26: and of course, like, you know, once you're kind of done, you know, all this goes away,

01:14:30: so you can use it to quickly sketch a place. You can do the same thing if you know, if you scale,

01:14:34: so if I go to scaling mode, I go to noclip, I can scale myself up, so the whole thing is, you know,

01:14:42: and you could do, you can do this kind of stuff, you know, on bigger level, so it'll be, for example,

01:14:47: I'm going to add a door here, there's going to be stuff here, you know, maybe I want to add platform

01:14:53: here, and it's going to be like this, you know, and this goes here, you know, and it's going to

01:14:59: be like a, maybe I want to add like a tower here, you know, it's going to be like a thing,

01:15:03: and it's going to go down here, and the CSR is already going through there, which is also another

01:15:08: cool thing, you know, we can do this kind of stuff collaboratively, and maybe, you know, I want to

01:15:13: add like, you know, I want to add like, you know, some kind of art over here, you know, that like

01:15:19: has things, you know, or maybe I want like, you know, I want more, I want another island over here,

01:15:25: so there's going to be island, you know, there's going to be tree, and you kind of sketch it out,

01:15:30: when you scale it up, and, you know, you scale down,

01:15:35: and then you kind of like, you know, get a feeling for like, you know, this is what it's going to

01:15:37: feel like, this is how big it's going to be, you know, and I've literally just kind of sketched

01:15:42: this, and, you know, there's going to be a thing over there, you get much better idea of like what

01:15:45: you want to build before you build it, and literally took me less than a minute to sketch

01:15:49: this. So that's one of the, that's one of the like, you know, kind of benefits for the brush system.

01:15:56: But there's even more, so let me go back inside, say you actually want to build more environments,

01:16:03: say like you have like stuff like this with plants, so what I'll do, and let me enable

01:16:09: Private UI, so I'm in the Resonate Essentials Tools brushes, there's a bunch of them,

01:16:16: there's some cool ones, if I go Plan Brushes, because the brushes, they're like, you know, fully

01:16:23: scriptable and fully configurable, you know, you can pretty much make them do whatever you want,

01:16:30: and we've made a bunch of them for you, you know, for a lot of kind of common tasks, so say like I

01:16:35: actually want to add, you know, some grass over here, I can literally just go and be like, you know,

01:16:41: a little bit grass over here, you know, maybe I want some over here, and we just draw it,

01:16:47: you know, add a little here, so you can use them as actually, you know, part of the environment,

01:16:55: you can like build something. I think actually these things, like ages, we made like a tool that

01:17:00: usually like draws these, so like a lot of the plants, a lot of the stuff you see in Resonate

01:17:05: Cloud Home that was built with these same tools. So, you know, there's another one, so

01:17:14: this for example, you know, billboard brush, but we also have rock brushes, so say like, you know,

01:17:19: you want to add some rocks around, I can literally just be like, you know, and there's a little rock

01:17:25: here, and maybe, you know, I want like one that's kind of covering these plants, so I'm just gonna

01:17:31: draw one here, I'm gonna cover this plant, which there we go, and I'll add like, you know,

01:17:35: smaller one here, another one here, you can like, if you want, you can build entire worlds out of

01:17:41: this one. I can do the same thing, you know, if I go back outside, and I will scale myself up.

01:17:50: Actually Cyro, can I have a, can you grab the tool for making things collidable, like player

01:17:57: collidable? What I'll do, I'll draw, you know, some rocks, and say like, I want, I want, you know,

01:18:04: something to kind of bridge this thing, so I'll go here, and I'll just, you know, draw like a little

01:18:11: rock here, and can you make it collidable? There we go, and you see Cyro immediately is able to hop

01:18:19: another one for him here, and makes it collidable, and falls.

01:18:27: Well, I'll give, I'll give you another one. You also probably want to make this so they're not

01:18:31: grabbable anymore. Oh yeah, something else will get that one. Okay, I need to do that one, and

01:18:37: I'll give you another one here, another one here. This one's actually kind of bad, it's kind of,

01:18:46: I'll do this.

01:18:53: Okay, and you see he's like, little like, small, and I can like, watch him, you know,

01:18:57: go through the terrain I just made, and you see now it's easier, easy to get here,

01:19:01: and I'll literally just do this, you know, with the brush, and I can do the same thing. I can scale

01:19:05: down, and go into third person,

01:19:14: you know, and, and we actually also collaborated, because like, you know, Cyro used this, oh this is

01:19:19: actually smaller than I thought it would be, you know, we have collaborated because Cyro, you know,

01:19:24: I was able to draw these, and Cyro then made them so like, we cannot grab them by accident, and I

01:19:28: can just kind of hop, and hop. So there's like, lots of possibilities like this, there's one more

01:19:34: brush I want to show you that's kind of fun, then there's, let's see, geometry, brush snapping tools,

01:19:43: card brushes, I forgot where we put this one, I think it's this one, yes this one, this one,

01:19:49: geometry line brush. So you see, this one, it sort of draws like this kind of tube, and Cyro,

01:19:56: I'll ask you to do the same thing again in a sec. I'm just gonna scale myself up.

01:20:04: And I'll add like, I'll draw like a tube, actually even bigger, I'll draw like a tube here,

01:20:11: that goes like this, and my tracking is freaking out, hold on, let me do that again.

01:20:19: Oh yeah, I was facing the wrong way, so let me do it again. I'm gonna, I messed that one up.

01:20:26: There we go, and it goes here, and then it goes here, and then maybe opens up

01:20:35: here, there we go. Cyro, can you make it collidable and also non-grabbable?

01:20:43: Okay, all right, that should be it. So now we got like, you know, this tube.

01:20:50: Oh, did you make it, no, it's still grabable.

01:20:54: Oh, is it still grabable? Oh, I might have not hit it, hang on.

01:20:57: I think I hit the wrong one. I'm also gonna un-modify the material for a bit.

01:21:03: It's a little bit faint. Actually, do you have the material tool at hand?

01:21:07: The mesh might need to be dual-sided, hang on.

01:21:10: Okay, can you fix it up? Give us a...

01:21:16: And then change the solidness when the mesh collides.

01:21:20: Yeah, that's good, it's character collider.

01:21:23: And, oh yeah, let's open the material too. So hit the material, I just want it to be less transparent.

01:21:31: Oh, that's very strong. Just go to 0.5.

01:21:36: There we go, that's visible enough, I think.

01:21:39: Okay, and now we should be able to just, you know, go through this tube that we have made.

01:21:45: And you can see the core over there. I think I made it too non-transparent.

01:21:50: And we go over here, and Cyros over here came in.

01:21:57: Oh, and I threw it apart. And then we exit here, and we just, you know,

01:22:02: flop out here, and that's it. So that's another cool thing you can do.

01:22:07: And actually, I lied, there's one more brush I want to show you.

01:22:11: There's also my, well, I keep saying which thing's my favorite.

01:22:17: I think it's in the Buildboard Brushes. There's Cloud Brushes, or Smoke Brushes.

01:22:22: So I can light smoke, I'm gonna light smoke. So this brush, you see the character,

01:22:28: it's like this smoke, and it's like, you know, volumetric.

01:22:31: So I do the same thing. I scale up.

01:22:35: And so I want to, like, you know, add little clouds.

01:22:38: You know, I'm gonna add a cloud here.

01:22:42: I'm gonna cover this area, you know, kind of in clouds.

01:22:47: Maybe some around here, you know, and just draw around.

01:22:52: And maybe some of them are leaking inside, you know, maybe there's a fire or something.

01:22:56: Actually, no, a fire's not good.

01:22:58: And then, you know, I'd like more here, cover this area up.

01:23:05: There we go.

01:23:08: And I scale myself back down.

01:23:10: I go here.

01:23:13: Anyway, now there's extra clouds.

01:23:16: And I go inside, you know, and the clouds are leaking inside for some reason.

01:23:22: Which I cannot figure out a good reason other than just demonstrating.

01:23:24: If I go here, you see this is all now cloudy and misty.

01:23:31: So brushes are really cool.

01:23:33: You can actually build entire environments of them,

01:23:36: or if you already have an environment, you can decorate it.

01:23:39: And all of these brushes, they were made in-game.

01:23:41: Which means, you know, whatever effect you need,

01:23:46: there's a good chance you can make it with a brush.

01:23:49: So they are a really good war-building tool.

01:23:52: I think a better war-building tool than most people realize.

01:23:58: So I hope this answers the question.

01:24:02: I've seen entire worlds built with the brushes and procedural materials,

01:24:06: and they're very powerful.

01:24:08: So if you're war-building, I strongly recommend

01:24:12: check out the Resonite Essentials tools brushes,

01:24:16: take them apart, make your own, try to build stuff with them.

01:24:19: It's a lot of fun.

01:24:21: I remember some sessions, we would just grab the tube one,

01:24:24: and just throw tubes around the world, and we just zoom around them.

01:24:27: And it was a lot of fun doing that.

01:24:31: So I'm going to disable the private UI.

01:24:35: There we go.

01:24:36: Thank you very much for your question.

01:24:38: We're going to go back, and hopefully the next question doesn't make me get up again.

01:24:42: There we go.

01:24:48: Actually, I'm happy.

01:24:49: Like, you could think a lot of, like, kind of the good material,

01:24:50: like, all cut out, like, into individual videos,

01:24:53: because the brush system is actually one of the things I really wanted to show sometime,

01:24:58: um, I feel it's, like, very powerful, and not, like, you know, not enough people, like, use it.

01:25:04: Yeah.

01:25:07: So, yes, uh, hope that answers the question, Erlang.

01:25:11: Uh, next one is, uh, we also have, like, uh, 35 minutes left,

01:25:15: so I'll see how many questions are there.

01:25:17: There's quite a bit piled up.

01:25:19: So we might start speeding through these a little bit more.

01:25:23: Um, I'll see how it goes.

01:25:24: I'll try to avoid any further deep rambles.

01:25:28: If I can help it.

01:25:31: Uh, so next one, let me switch to camera view.

01:25:34: Navigating of thanks menu with too many branches can be tedious.

01:25:36: Navigate, are any plans improving the four default tools?

01:25:39: I, I'll literally answer this question early in the stream.

01:25:43: Um, yes, there's, uh, the tools, they're essentially gonna get, like, you know,

01:25:46: passive, you can typically place, you know, on one of your hands,

01:25:48: or, like, anywhere, uh, in the world, like, you know, place it in your viewpoint,

01:25:52: and other places.

01:25:54: So, yes, that is planned to be significantly improved in the future.

01:25:59: The recording of this, uh, um, because I, I did, like, a little bit more in-depth.

01:26:06: Next question, one idea, what do you think of having UI elements,

01:26:09: like, for example, run into other windows,

01:26:11: while you still have, I literally talked about that one as well, yes,

01:26:15: like, just watch.

01:26:18: That was actually, that was asked before you started talking about it.

01:26:21: Oh, right, like, we're really behind on questions.

01:26:24: Um, yeah, I'm gonna skip around to these spinsters.

01:26:26: Uh, yeah, pin, like, I was asking, pin screen, cool,

01:26:31: full screen, yeah, it could be double to do full screen.

01:26:34: Uh, Bitcrack IGN, oh, the inspector thing reminded me,

01:26:38: I was working on a HUD for a game and found a scaling

01:26:40: that's pretty hard with dynamic FOV motion blur makes it unreadable.

01:26:44: What do we system feature that makes such stuff easier,

01:26:47: like general slot, uh, HUDs?

01:26:49: Yes, uh, one of the things, like, I do wanna do, like,

01:26:51: especially for desktop is, uh, you know, um,

01:26:54: so you can just define like a facet and see like,

01:26:56: this is the screen and it's just gonna project itself on the screen.

01:26:59: Like, you know, bypasses a lot of the stuff, like motion blur.

01:27:02: I know like the siren particular, like, uh, with the ROV and like,

01:27:05: other on the R stream, they've been, uh,

01:27:07: when they were making the tutorial, they were actually fighting that quite a bit.

01:27:11: Uh, they made a system that works, but it was, you know, a lot of pain.

01:27:15: Yeah, it was a little bit, uh, it was a little bit silly.

01:27:18: Uh, so Rolaj is asking, uh, spherical wars with gravity, yes.

01:27:24: Yeah, like, like, we can order the spherical gravity, like, that's already an option,

01:27:28: so this is just gonna make it so you can, you know, make it way bigger.

01:27:32: Uh, next question, Rolaj86.

01:27:33: I haven't seen entire star system that you can traverse with large distances,

01:27:36: large wars, I haven't seen it, could you give an example?

01:27:38: The rest can be in chat.

01:27:41: Rolaj86, uh, will 64-bit floating points be a thing?

01:27:45: I mean, the only thing, the code doubles.

01:27:48: But they're not used for most things, because, um,

01:27:51: there's actually a performance impact if you use them.

01:27:55: Uh, one day, on modern architectures, like, it actually didn't used to be this way.

01:28:00: It used to be that, like, doubles were as fast as floats.

01:28:04: But, and a lot of people still, like, you know, think that,

01:28:06: but it has changed significantly, you know, over past, like, 10 years or something,

01:28:10: I don't know, I don't know the exact timeline.

01:28:12: But right now, floats tend to be way faster, uh, for a number of reasons.

01:28:16: One, there's more kind of hardware dedicated to processing those.

01:28:20: Two, they take, literally, they take half of the memory,

01:28:24: which, and oftentimes applications can be constrained by memory bandwidth and also cache size.

01:28:30: So if you, you know, if you, if you generally, like, cache misses twice as often,

01:28:35: that's going to hurt your performance quite a bit.

01:28:37: And the other part is because now there's also, like, heavy use of vectorization,

01:28:42: auto vectorization, which means your CPU, like, if you, for example,

01:28:46: adding or multiplying lots of numbers, it can do a lot of them together.

01:28:49: So you can do something like, you know, you load eight floats, you know,

01:28:53: into special register and you multiply all of them at once in a single operation.

01:28:58: If you use doubles, like, you know, because they take twice as much space,

01:29:02: you can load only four of them instead of eight, which means you literally have

01:29:06: your performance, you know, for these operations on that, like, you know, alone.

01:29:12: We're very unlikely to switch to, you know, doubles for, like, you know,

01:29:15: representing everything because that has quite a big impact.

01:29:18: But with the domain system, what you usually do is, like, you know,

01:29:21: the coordinate system within the domain keeps things in a relatively small region,

01:29:25: and there's an additional coordinate system that determines the coordinates

01:29:29: of the domains relative to each other. And with that, like, you know,

01:29:33: you can make it as structured as you want because you're not dealing with it for

01:29:36: every single individual object, which means, like, you know, like,

01:29:40: you can have, like, an arbitrary procedure you want.

01:29:44: Like, you just have a system that's kind of coordinating how they're positioned

01:29:46: with each other. So this, I feel, is the best kind of approach to solving,

01:29:52: you know, the limitations of the floating points.

01:29:56: I think they were kind of into it. What they were also probably referencing is,

01:30:05: like, oh, why don't GPUs just use doubles? And, well, the really high-end GPUs,

01:30:13: like, quadros and stuff, those do have double support, but that's more so meant

01:30:17: for, like, you know, data center and, like, you know, simulating, like, protein

01:30:22: folding and stuff like that. It's like when you're modding it.

01:30:26: Yeah. For, like, modern GPUs, they're optimized for floats, and that's why you

01:30:31: see, like, floating point really far out, and that's why you have to use

01:30:34: strategies like what Froox said to kind of make the worlds, you know, a bit, like,

01:30:38: feel a bit bigger. I mean, you can use doubles even, like, on, like, modern GPUs

01:30:42: that, like, consumer, it's just they're way slower, and I think it's the same with

01:30:46: quadra. Like, with quadra, like, they have better performance, but it's still, if you use

01:30:49: floats, like, it's still more performance, because, like, ultimately, you know,

01:30:54: they're half the size, you know, half memory bandwidth, and oftentimes quicker to

01:30:59: compute. Yeah. Sonuki Koon is asking question,

01:31:04: the new paradigm for how components are put together for a new particle system

01:31:06: is interesting, seems how extensible. Can we expect that more for systems like

01:31:10: materials will be moved over to this sort of plug-in parts one at a time

01:31:13: system? So, it's not really a new system, it's

01:31:18: like, like, it's pretty much like using, you know, like, the individual kind of

01:31:22: module for the particle system is some component,

01:31:25: and then you're just telling the particle style which ones to use, and

01:31:29: it's because they can be shared. You can have, you know, the same module

01:31:33: used in multiple particle styles. So, it's something that's specific, you

01:31:38: know, to PhotonDust, of how it's kind of structured.

01:31:42: I don't think it would really work for materials, you know, because

01:31:44: like the material is just its thing, so it doesn't really make much sense there.

01:31:50: It's definitely not, like, you know, not a paradigm.

01:31:54: It seems like it's already like that, because, you know, you already have, you

01:31:57: know, your materials and you kind of plug them into a mesh render,

01:32:00: kind of like how you do with, like, PhotonDust with the different modules,

01:32:03: it's just... Oh yeah, yeah, that's a really good

01:32:05: example, like, you know, we have multiple materials and then you can have mesh

01:32:08: render which just references those materials, so it kind of is doing that,

01:32:12: you know, and the material is sort of like

01:32:14: atomic unit, you know, of something that's kind of referenced.

01:32:18: Bitcrank, IGN, assume chunking and domain systems will be separate.

01:32:22: And it's kind of the same thing, like, the chunk, like,

01:32:27: define terminology for it, but, you know, we call it chunk, we call it domain,

01:32:30: we call it, like, you know, session. It's kind of the same thing, it's just

01:32:33: kind of, like, self-contained part of the world, like, you know, users can

01:32:37: exist in it and then you can have, like, multiple of them in parallel and, you

01:32:40: know, position next to each other, but it's the same thing, essentially.

01:32:46: Next one, we have Anuki-kun, so wait, how much of which are the

01:32:49: contentable sessions able to see? This can be defined, like, you'll be able

01:32:52: to, you know, like, whenever you're making a word like that, you'll be able to say,

01:33:01: very highly customizable. So, like, you know, it's kind of pretty

01:33:07: much up to you how much you want others to see.

01:33:10: Relash86, Tarset isn't possible in the Resonite.

01:33:13: Maybe, maybe, maybe eventually, maybe, maybe they'll switch engine again to us.

01:33:17: Uh, yeah, all right.

01:33:22: Really? Really? Probably not, but we can, we can, we can dream slash joke

01:33:28: about it. Relash86, what about loading lag when

01:33:32: switching from session to session within domain?

01:33:35: Uh, there's something that's gonna be, you know, kind of overall improved.

01:33:38: Um, uh, even like, you know, before the systems comes in, like, we want to make it

01:33:42: as smooth as possible. Some of it's gonna be helped, like, you

01:33:45: know, with upcoming performance updates, uh, the other stuff, like, you know, we

01:33:47: want to smooth out the general kind of, like, loading of stuff.

01:33:50: Uh, but essentially there's, like, you know, a separate problem that we want to

01:33:53: solve, you know, just make all the loading

01:33:55: processes way smoother. Once we do switch to customer engineering

01:33:58: engine, I think it's going to fix up a lot of that,

01:34:00: uh, because we'll have a lot more control, you know, how is stuff uploaded to the

01:34:04: GPU, because right now, for example, when meshes load, they'll

01:34:07: have to load in one go. For textures, we have a time slicing

01:34:11: algorithm, so it's, you know, like, if you're uploading a big texture,

01:34:15: it's only going to upload a little bit, like, every frame, but for meshes,

01:34:18: we don't have that, because the APIs in Unity are a little more limited for

01:34:27: so, it's a little bit trickier there.

01:34:31: Next one, like the same question, okay, uh, I'll just read all three of them, so

01:34:36: Nuki-kun asking, follow up to that, is there a plan to

01:34:39: give us a way within, within a session to limit updates, uh,

01:34:43: like, limit the speed that thing will update to save bandwidth in case this

01:34:46: character is being far apart, or is it a sub-session

01:34:50: thing solution for it? Yes, there's actually going to be, um, we

01:34:57: have a lot of computing, you know, when the IK updates, when,

01:35:00: you know, everything in the world updates, and one of the things we want to

01:35:03: introduce is something called variable rate update.

01:35:07: What that will do is say that certain components, instead of

01:35:11: updating every single frame, they're going to update, you know,

01:35:15: every second frame, or every third, or every fourth,

01:35:19: and essentially limit how fast it updates. So for example, you know, like if

01:35:22: you're in a session, you know, and Cyro is right next to me,

01:35:24: both our IK systems will update, you know, at a full rate, so like, you know, we see

01:35:28: each other smooth, but if somebody's, you know, way over

01:35:31: there, we can see that, like, barely see them,

01:35:33: or maybe we don't see them at all, like, if we don't see them at all, maybe they

01:35:36: update, you know, every 30 frames, you know, because it doesn't

01:35:40: matter as much. We can still see them, but in this sense,

01:35:43: maybe they update every 10th frame, or every 8th,

01:35:47: and that's going to save a lot of performance, and there's going to be,

01:35:50: like, you know, systems to kind of control that, so you can say,

01:35:52: these things are important, this thing is to update, you know, like, you know, at

01:35:55: least this fast, or things not important, you know, the

01:35:58: system can, like, you know, limit how fast it updates, and save

01:36:01: performance that way. So there is going to be a system for that.

01:36:06: I'm just gonna yield these three questions.

01:36:12: Actually, I can't read that.

01:36:18: It's like, I'm gonna pull it out, just so you can see.

01:36:22: Somebody called the arm. Thank you for the raid.

01:36:25: It made it gray, gray fond on a gray background, so I was not able to read that,

01:36:29: but thank you very much for the raid. They probably read it as a while back,

01:36:33: and we just noticed, because we had a pile of questions, and we got

01:36:36: 25 minutes left, so we're actually pretty good on time now.

01:36:41: Okay, because that means more rhombus.

01:36:45: ModernBalloon is asking, a question I have,

01:36:48: I'm curious with multiprocess and eventual eating of Unity,

01:36:51: will there be any issues with FinalIK when you get process on .NET 9?

01:36:55: No, it's a purely C-sharp like code, like there's,

01:36:59: it just does the same. Like, if you think about it, the headless is actually

01:37:02: running, you know, the IOK, and there's no process there, like the

01:37:06: headless doesn't use Unity at all. We actually don't use FinalIK

01:37:11: specifically, like directly.

01:37:14: What we use is a port of it, so it's kind of like,

01:37:18: it's pretty much been like ported to FrooxEngine, which is also one of the

01:37:21: reasons we want to replace it, because it doesn't quite fit

01:37:24: in the engine architecture. So it's eventually going to be replaced,

01:37:29: but we're going to replace it, you know, because we want our custom system

01:37:32: that we have full control over, but it has nothing to do with the switch

01:37:37: .NET 9, it already runs with .NET 9.

01:37:42: Nuki-kun, why can you stream audio directly over Resonite, but not video?

01:37:48: Is it a stream thing? Direct video? Streaming ever planned?

01:37:51: So, I'm pretty much the reason is like, it has not been implemented.

01:37:56: Implementing, you know, streaming video, it takes time.

01:37:59: It's something we want to add at some point. I feel like it's going to be like

01:38:02: also like a really good building block, because

01:38:04: you can do stuff, you know, like stream your desktop, you know, to show other

01:38:07: people like what you're doing, but you could also have like, you know, a

01:38:11: camera, and like you could even make things where

01:38:13: the streaming camera, instead of like using OBS, you can just kind of compose

01:38:16: everything and just, you know, stream it directly, you know, from here, make it kind

01:38:20: of like the process simpler, and let, you know, script parts of it,

01:38:24: you know, with ProtoFlux. No, no, I'm missing things.

01:38:32: With ProtoFlux. But yeah, like we'd want to add it at some point, the reason

01:38:37: it's not there is just it hasn't been implemented yet, so.

01:38:42: It's actually something I've been like looking into as well, because like

01:38:45: there's like multiple solutions, ideally we would want to have,

01:38:48: you know, GPU accelerated encoding, especially like if you do like higher

01:38:51: resolutions, but also like the GPU acceleration

01:38:54: ones, they tend to be specific, like, you know, to NVIDIA, so like,

01:38:57: but we also want users, you know, have AMD to be able to do it, so it's kind of...

01:39:03: It's a fair bit of work.

01:39:06: Next question, JackTheFoxOutThere.

01:39:08: Should I feel bad for my questions taking much of my screen time every week?

01:39:11: No, I don't like the rambles, and like that literally gave me like

01:39:14: much zero for several videos that I can split,

01:39:16: and you know, it failed a little bit of time.

01:39:18: I was actually like at the beginning, like, we didn't even have too many

01:39:21: questions, I was like, is it just gonna be kind of rambles about stuff?

01:39:24: And it's just gonna give an excuse to ramble.

01:39:27: And I like doing duels, you know, where I can actually showcase, you know,

01:39:33: something, like I can draw because it makes it more visually interesting.

01:39:38: And those videos, like I've done one for performance,

01:39:41: one for like, you know, the future of ProkoFlux,

01:39:46: they've been doing pretty well, people seem to be liking them,

01:39:49: and I think I got all these like four or five just out of the stream alone,

01:39:53: so like thank you for those questions.

01:39:57: Next question, Lexo is asking, now I'm thinking that the variable

01:40:02: rate updates could dynamically react similar to how PhotonDust works,

01:40:06: where if a specific system is using up a lot of performance,

01:40:08: it could dynamically change the update rate of that system,

01:40:10: could that be possible? Yes, this is actually related,

01:40:13: because I've been wanting to do the variable rate update system for a long while,

01:40:21: and actually I've been like, you know, kind of placing bits of it,

01:40:24: you know, into the systems that are being reworked.

01:40:26: So for example, like ProtoFlux, that's, you know, it has mechanisms in it for like, you know,

01:40:34: updates like tracking, that lets it kind of fit into this kind of system,

01:40:39: same with like, you know, PhotonDust, a lot of the procedural, you know, asset system,

01:40:43: they use the same mechanism, they essentially trigger an update, let the update, you know,

01:40:48: around, you know, let it update around, you know, at whatever, you know, back out like it won't,

01:40:57: once it's there, it's going to get integrated and that frees up another update to happen.

01:41:01: If something, you know, if something,

01:41:07: you know, changed the meatball, if something, nothing changed and it's, you know, just done.

01:41:12: So this kind of pattern that Resonite, like, you know, what's basically FrooxEngine has been using,

01:41:18: works much better with VR because like it doesn't constrain your whole FPS, you know,

01:41:24: your FPS doesn't drop, like only the FPS, you know, for like where things are getting updated.

01:41:29: With the variable rate updates, that's essentially going to make this kind of pattern applicable to a

01:41:33: lot more things. And I feel that's a lot better way, you know, to control frame rate because you

01:41:37: can say, I want to hit, you know, 90 frames per second and the system is going to look and it's

01:41:48: I want my movements to be smooth and depending, you know, how much CPU time you have, it's going

01:41:54: to be like, okay, like I can, I can afford to keep running, you know, Cyro at full rate,

01:41:59: but like those things in the distance, I'm going to lower them down enough, you know, so like you

01:42:03: keep hitting 90 frames per second because you can also like cascade them. So like, you know, say

01:42:07: like there's, say there's 10 people over there in the distance and the system decides I'm going to

01:42:13: update them every 10th frame. So on the first frame, it updates first person, second frame

01:42:18: updates second person, third frame updates third person, you know, and kind of spreads out the

01:42:23: impact of those over 10 frames. So all those 10 people, they're taking, they're essentially

01:42:29: taking as much performance as a single person, just, you know, for updates. So that kind of

01:42:37: system is going to make it much easier for the system to sort of like self-regulate, to hit

01:42:41: whatever target frame rate you want. Maybe like, you know, like if you're on a potato system, it's

01:42:46: going to be okay, I'm going to update my own IK at full rate and Cyro gets, you know, every second

01:42:52: frame on every third frame. So he's going to be choppier for me, but like overall everything's

01:42:56: still going to be smoother. So I believe a system like that gives like way better control on that.

01:43:04: And yes, like Alexei was also asking, it wouldn't affect the full rendering

01:43:07: update time and not lose FPS. Yes. That's very much like the goal is like the system can see,

01:43:12: you know, how fast you're running and decide like, you know, to give things less time or more time,

01:43:17: you know, depending, you know, how you handle, like how your system's able to handle things

01:43:21: and how much is there. So I see another question, I'm like, oh no. GrandiouK,

01:43:26: what is your favorite pizza to eat? No, no, you may not say the USA pizza.

01:43:31: Um, this makes the question hard for me. I mean, I usually, I usually like kind of simple pizzas,

01:43:40: like, like pepperoni one. Those are pretty good. Um, I don't have, uh,

01:43:46: yeah, I don't like mushrooms on pizza. Like, uh, I don't like mushrooms. Uh, I wonder,

01:43:54: oh yeah, this one. Uh, so this is another theory scan. Um, so usually pizza's like that. This one

01:44:01: only on it. Uh, it has, you know, some peppers too. I like those. I like when there's mushrooms.

01:44:05: This one doesn't have mushrooms. I'm hungry. I'm hungry. There's like onions in it. Onions are good.

01:44:13: Um, I don't like where there's too much on pizza. There's, there's another pizza I had like while

01:44:20: back, like, uh, uh, and I wouldn't, I wouldn't say this one's my favorite one, but there's like,

01:44:27: there's a story related to it. Um, it's the deep dish. And I literally, I literally had a slice of

01:44:39: it. I had one slice. And after eating that, I didn't want to even think about the concept of

01:44:47: food for the rest of the day. I was like, food doesn't exist. I don't want us to think about it.

01:44:53: Thinking about food makes me sick. And then what's even funnier is like, um, um, we went like,

01:45:01: like, I think it was like a week or two later, um, me and Glitch, we went to a Navy Pier,

01:45:08: you know, to just kind of like go around and, you know, see the place and so on.

01:45:12: And we were like, you know, getting to the parking lot. Um, and I was like, Glitch,

01:45:17: you're kind of hungry, you know, do you think we could like go somewhere, like, you know,

01:45:20: some food and Glitch is like, oh, we could go to Giordano's again, you know, get another deep dish.

01:45:25: I literally stopped being hungry once he said that. Just thinking about how filling this pizza is

01:45:32: made me stop being hungry. It's so filling you don't even need to eat it to fill you up.

01:45:42: I mean, it kind of doesn't, it's kind of going on the tangent on this question, because it's more

01:45:46: like, this is not my favorite pizza to eat. I don't even say it's my favorite pizza to think

01:45:52: about eating. This is my favorite pizza to not eat. To not eat. Yeah, you get, you get, you get,

01:46:01: um, you get extra with this one. But I did answer like, pepperoni, mushrooms, and it's good.

01:46:09: Um, do I have any cursed pizzas? I think like, maybe like the most like, quote unquote,

01:46:21: curse, but I don't think it's really cursed, because I like it, is like macaroni and cheese

01:46:25: pizza. Our alfredo pizza, alfredo pizza is pretty good. Chicken alfredo pizza. I'm hungry, I haven't

01:46:32: eaten anything. Those are just pizzas that are like other meals. I also have another cursed one.

01:46:38: This one actually kind of was kind of blessed. So like, this is from two years ago, like at

01:46:42: Forkation. It was just like a cheap like, like pizza. And it was kind of, it was kind of a

01:46:48: testing kind of blend. And when we were at Forkation, Guinz, he made this sauce that he

01:46:55: calls the scotch sauce. It's really good, especially like, you know, with chicken. I was

01:46:59: like, I wonder what it tastes like on pizza. So I tried to put a little bit and it just kind of

01:47:03: did a lot. And it was extremely salty. So I had to like take the other slices and kind of dip

01:47:08: it into it. But I was like, I need some flavor in this. This is very bland tasting, super cheap

01:47:14: pizza. So you get another cursed pizza, you know, with like, whatever that is. Well, it's scotch

01:47:25: looks cursed. And Grant is going down with Froox.

01:47:33: Oh man. Griffin and Phyllis, so next question, let's also check on time. We've got 13 minutes,

01:47:39: so we've still got time for some questions. But if suddenly lots of questions pop in at this point,

01:47:44: we might not be able to get through all of them. So like, if you want, if you have a question,

01:47:48: you know, make sure to get it out, like, asked as soon as you can. So next question,

01:47:52: Griffin and Phyllis, what sort of functionality is planned for the contacts tagging system

01:47:56: when we eventually get to that update? List filtering and surfing, session wide listing

01:48:01: for tags and tag groups, contacts nodes. It's pretty much like, I would say like all of these.

01:48:06: The whole contacts UI that's just gonna, it's one of those pieces of UI, like we're just like,

01:48:10: we're gonna make new one from scratch, way better. Add extra functionality, make it much more

01:48:15: extensible, you know, make it just overall much nicer. And take the old one and just throw it

01:48:20: into Fire. Like it's, it's very convoluted and like, you know, more or less again, it's kind of

01:48:27: bland thing to work with, but yes. We also have like, you know, better kind of searching options.

01:48:33: We want to add abilities so you can actually tag, you know, people like, you know, so you can,

01:48:38: for example, be like, you know, you give somebody a tag, like, you know, like a, like a teammate,

01:48:42: you know, or maybe close friend or maybe acquaintance, or maybe this group, or maybe

01:48:46: this group, you know, so you can assign people tags and it can be like, okay, like I want

01:48:51: to filter people, you know, by this tag. And same way, you know, just going to integrate it into

01:48:56: other parts. Like for example, session hosting, and you're going to say, I want to open a session.

01:49:01: I want it to be open only to contacts, you know, with close friend. So like, if you're like,

01:49:05: you know, feeling that like, you kind of want to like, you know, you don't want big group of

01:49:09: people. You can, you know, have session that like only your close friends can see, or maybe you want

01:49:13: to work on something. So you make session open only, you know, the people like you work with

01:49:18: on particle project, and just give you lots of flexibility that way. We definitely want to add,

01:49:23: you know, contacts notes, you can add a piece of information. That's going to also integrate into

01:49:27: other parts. Like one of the things we have right now is very limited, but it's there, you know,

01:49:33: is ability to ban people or block people specifically, I should say, more ban as well.

01:49:37: We can ban them from your session. So having more options for those. So you can, for example, say,

01:49:41: I want to like, you know, I want to block that person, you know, avatar, or maybe I want to just

01:49:46: block their voice, or maybe I just want to block their visual, but keep the voice, and maybe I just

01:49:49: want them not to see them at all. Or maybe I want to, you know, block them for, like, you know,

01:49:54: they're annoying me right now, but like, I don't care about blocking them forever, so I'm just

01:49:57: going to block them, you know, for a day, and it's going to automatically unblock. Maybe you're like,

01:50:00: you know, leave a note, why did you even block this person, so remember, so things like that.

01:50:06: Another of the things, I just hit it, like, on the tip of my thumb, and I forgot about it.

01:50:18: Yeah, I just kind of forgot about it.

01:50:22: Oh, and one of the things, like, the whole UI is also going to be, you know, reworking to facets.

01:50:26: So you could, for example, you know, the chat UI, that's going to be inside facet,

01:50:32: it's also going to use data feeds, and it will be, for example, pull it out and, you know,

01:50:36: put it on your hand if you want to, so you can kind of see, you know, you can kind of see,

01:50:41: like, messages, like, you know, for example, with a few important people, you have, like,

01:50:45: very quick access, you know, to their messages, or maybe, like, you have multiple tabs, you know,

01:50:49: give them kind of lots of flexibility, you know, in that regard.

01:50:54: I still can't remember the other thing. There was, like, one thing I really wanted to mention,

01:50:58: and I kind of forgot about it. Oh, I remember, I remember. One of the things, you know,

01:51:03: that also comes together with tagging is ability to set your state. Now, set your online status.

01:51:09: So, for example, you can set yourself to be invisible, and only visible as online,

01:51:14: or maybe even sociable, to your close friends. So, stuff like that, you know, like,

01:51:21: like, where you don't want, like, you know, everybody cannot see that you're online,

01:51:23: but, like, you want your close friends to see. So, there's a lot of kind of cool functionality

01:51:28: that you know, that you can build around it. It's also going to kind of integrate, like,

01:51:33: you know, once we can have profile systems, we can also, like, you know, see.

01:51:37: One of the things I kind of wanted to do is, like, unify the contacts, you know, with the session

01:51:41: list. Because I know, like, they cannot doing similar-ish things, like, they're showing,

01:51:46: like, this list of people. So, we could, like, make it, like, you know, where you actually see

01:51:50: these are the people you're in the session with, and, you know, not all of them actually have to

01:51:54: be your contacts, but you still see their profiles, and you can, you know, do stuff like

01:51:58: add, you know, even if you don't add them as a contact, you can add notes, you know, you can add,

01:52:02: like, you know, you can block them from there. Because right now, right now, if you want to,

01:52:07: you know, block somebody, and you don't have as a contact, you have to go and search them,

01:52:10: or you have to click on their name, if you just see it in a single place, I feel that it makes

01:52:15: things much, much simpler. You could also, you know, for example, override things, like, for

01:52:18: example, say, this sometimes happens, some people don't use voice normalization, and, like, they

01:52:24: quiet and have to mess with their audio, have it kind of be persistent, and maybe have, like,

01:52:28: an override that says, like, you know, I'm gonna force normalization on my end for this person,

01:52:32: because I have, you know, trouble hearing them. So lots of, lots of, you know, things like that,

01:52:37: like, have things a fair bit more unified. The whole messaging system that's gonna be,

01:52:43: like, improved, like, there's gonna be, like, a new data feed, which is gonna make it easier to,

01:52:47: like, you know, add multiple types of messages as well. We want to add, like, stuff like

01:52:51: even editing messages, deleting them, you know, stuff like that. It's kind of just,

01:52:57: you know, going from the top of my head on these things.

01:53:02: So hopefully this answers the question pretty well.

01:53:07: Um, still got, uh, seven minutes. We got one question, so we got more questions, you know.

01:53:14: Um, oh, there's, like, one that just popped in. Uh, well, one after the other one, there was still,

01:53:21: it's asking, yeah, but how much control will we have available in every system? Will I be able to

01:53:26: tell that the next room over should be at low rate? Um, the details are going to kind of depend

01:53:31: like what's going to work on the system right now. Like, you know, um, it's not fully designed yet,

01:53:37: so I can't really tell you, you know, how exactly it's going to look, but there's going to be some

01:53:42: mechanism which is going to, you know, which will tell you stuff, you know, in this area, like, or

01:53:47: this part of hierarchy or, you know, or with these conditions should use this update rate.

01:53:54: Um, so there's gonna be some controls, but like, you know, details are going to be,

01:53:58: uh, sketched out, like, you know, once we actually work on this part specifically.

01:54:03: So check the fox out, there are rich embeds. Yes. I don't want to add like more types of messages,

01:54:07: uh, so you can like, you know, kind of like do more kind of cool things with those stickers.

01:54:13: Yeah, stickers. I want to add stickers because you just, you know, upload like stuff and you

01:54:19: thinking, I don't know if it's going to be too annoying. You might be like, you know,

01:54:22: I'd like some controls for a bath so you can actually send something and it's going to trigger

01:54:27: a part of the custom, you know, that just pops out, out of your dash. So like somebody sends

01:54:32: you and it goes, and it's just, you know, confetti or something. Um, I think it could be like fun.

01:54:39: Uh, I think people probably, you know, some people probably don't want it. So we probably have like

01:54:43: mechanisms that like disables it. So you have to kind of click it first or something. Um,

01:54:48: we might also need like, you know, something that like limits the complexity, but like

01:54:52: stuff like that. Uh, ratio impacts are going to be cool. Like one of the things also,

01:54:58: um, and this is kind of part of our philosophy, uh, is sort of, you know, combining like, like

01:55:04: you're using the same piece of UI or code for multiple things. One of the things I also want

01:55:09: to rework is the VORUS UI. So like the VORUS is actually going to use a data feed and each element

01:55:15: in the word browser that's going to be like, you know, a template. Um, then when you get an invite

01:55:20: in your contacts, that message is going to use the same template, you know, to preview the world.

01:55:25: So which helps in multiple ways. It helps because we don't have to build two separate pieces of UI,

01:55:30: you know, for doing what is essentially the same thing, but also it improves familiarity for users

01:55:36: because if you, if you see a way to open a world in your words menu and you see the same thing,

01:55:41: you know, in your contacts, I feel that makes it like easier because now, like, you know,

01:55:46: especially for new users, because you're going to recognize, you know, that visual element,

01:55:50: you know, from the other place. Um, and right now it's a little bit difficult, like, you know,

01:55:56: to build the messages because like it's all built from code and it's just painful, painful to like,

01:56:02: you know, write. And every time like we want to add a new type of message, it's like,

01:56:06: it, it takes a lot of like effort and like messing around and it just doesn't render right. But when

01:56:12: we can actually make the template in game, have like the content team handle it, that makes it so

01:56:17: much easier. Um, uh, next question, group chats. Uh, yes, like one of the group chat,

01:56:26: like it will be another thing that's, it's not really part of the contacts UI. So that probably

01:56:31: won't come as part of it. It's something we'll probably consider and make sure the UI is

01:56:36: for, uh, but it kind of needs, you know, mechanism to actually handle a group contact and

01:56:41: a group chat. I mean, uh, which means, you know, kind of controlling like, you know, their lifetime,

01:56:45: you know, like life cycle, like when do they get created, when do they, you know, get deleted,

01:56:49: making sure it's going to be abused for things. Um, but it's something we would like to have as

01:56:54: well. Uh, that one's probably separate from the contacts UI. So I don't think that's going to come

01:56:58: as part of it. Uh, we'll kind of see, you know, what state we are in when we get to actually

01:57:03: working on it. Uh, so just checking three minutes left. So this might be the last question.

01:57:09: Um, uh, Flashinesso is asking, is there any way to show main dash to other people,

01:57:15: mostly for helping guide new people around? Uh, so not officially, like you can do it on the stream,

01:57:20: like I did like earlier, if, um, if I, uh, render private UI, so like, you know, I just checked

01:57:29: option like render private UI, so you can see, and if I open my dash, you know, like you can see,

01:57:36: uh, the other way is there's a setting, if I go, I'm just gonna show you, uh, camera,

01:57:44: uh, there's, uh, where is it? Uh, is it camera or was it, uh, user interface?

01:57:52: No, that's the wrong one. Was it user interface? I actually forget where it is. Oop, I didn't

01:58:03: wait. Camera. Do you know where that one was? Where what was? Uh, option to like render,

01:58:13: when you take, oh there we go, quick photo capture. Uh, there's capture private UI,

01:58:16: so if you check that on, you can, you know, enable that, and then if you take screenshot in-game,

01:58:23: close the dash. If you take a screenshot, uh, you know, it captures that, so you can do that,

01:58:29: and you know, show people this, this, this, you know, this over here. Um, that's one way to do

01:58:35: it. I actually have like a shortcut for it too, so I have like, you know, capture private UI here.

01:58:41: Um, so that is one way. I know some people, they have like, you know, ripped the dash,

01:58:46: and they have like a version for it, so like it's, you cannot really fully interact with it,

01:58:50: because like we, for security reasons, we make it so the components, you know, don't work in

01:58:55: world space, but there's versions of that that you can find, so maybe that can help.

01:59:00: Um, otherwise, you know, like you can use like the screenshots or render it on the camera like that.

01:59:07: So, we have like one minute left, so I think this is a good time to kind of stop it.

01:59:12: Um, uh, actually there's one question. Grand UK, in the future, when you see a friend in contacts

01:59:18: list in the session, will it be possible to jump to that world in worst tab? And maybe even in

01:59:21: worst, I know it's possible to jump to the contacts list from the nameplate, but what about this usage?

01:59:27: Um, I don't fully understand the question, unfortunately.

01:59:31: So, so like when you see a person in your contacts list in a world and you click on them,

01:59:36: you could be like, oh, I want to view this world in the world's list instead that they're in,

01:59:41: the world that they're in, in the world's list.

01:59:43: I don't understand.

01:59:46: Uh, we'll have to like ask Alison the next one.

01:59:48: Like, I think I need like a little bit more context and I'm also just kind of like

01:59:53: ending it now.

01:59:53: So, um, thank you very much, you know, for all the questions, you know,

01:59:57: thank you for the rambling questions.

01:59:58: I hope like you enjoy, you know, kind of the explanations.

02:00:01: Um, uh, you know, thank you, Cyro, for like, you know, helping me kind of like answer like

02:00:05: things and, you know, helping me demonstrate some of this stuff because I feel it's like

02:00:08: really cool when it's, you know, multiple people kind of collaborating, which is one

02:00:12: of the really big strengths of Resonite.

02:00:17: And, you know, like everyone who's like, you know, using Resonite, who's like supporting

02:00:21: us, you know, on Patreon, we're making like, you know, content on this platform and just

02:00:26: using it every day.

02:00:27: It helps the platform grow.

02:00:29: It helps us, you know, to kind of keep going and improving it.

02:00:31: So thank you very much and we'll see you with the next stream.

02:00:38: Next week, because I'll be traveling to the US.

02:00:42: We might still maybe do one, but like DVD on that one.

02:00:46: So we'll see how it kind of shakes up.

02:00:49: How would you know?

02:00:51: So thank you very much.

02:00:52: Thank you for watching and we'll see you, if we don't see you, like, you know, have

02:00:57: like really happy holidays.

02:00:58: So like, you know, happy, like happy Christmas and New Year and whatnot.

02:01:02: It's probably gonna be some streams like, you know, from us, but not sure if it's gonna

02:01:05: be like, you know, on The Resonance, but I'll try to make one if I can, depending on how

02:01:10: things go, because I'm visiting some friends.

02:01:13: So thank you very much and see you, you know, see you whenever the next one is.

02:01:17: Bye.

02:01:19: Ah, wait, you burned my, that's my dish.