All right, We can get going now, But I've got everything, uh, scrolled away.
Um, there are no questions in, uh, the questions right, though.
So get those those resonate questions coming in. Actually, there's a couple now.
I didn't scroll down, so I'll go through those in order.
Uh, so we've got what the dog's doing so you can see what the dog's doing.
Um, he's chilling.
Yeah.
So there you go. Dog camp.
Um, recording check. Yeah, we're recording.
Uh, and then DRACONIS says, What's the thoughts on this mod?
It seems to actually work. Oh, yeah, that's thunder.
Gunn, Um Thunder Gunn is the perfect pivotal example of,
um Why we can't just implement mods.
Um, so
there is,
like,
a lot
of, um, hacky stuff that occurs in that mo. Uh,
just, you know,
speaking for sort of preemptively from people that that that think like this.
That doesn't mean it's bad.
That just means that it's hacky that there's there's a difference.
Um,
OK,
so they just decided that they don't want to be part of this then,
So, uh, yeah,
um, it's good, but like, it's hacky like the code and the way that it's done. We can't
like we can't do
FDA, come back here. Come on.
Otherwise we get, like comments about why is the couch C?
Come on. Alright, now get back on the couch
or I have to turn the camera off, OK? No, no, no, no, no. I know that.
You wanna go outside, We'll go outside after this. OK, Doc?
Yeah, OK, Alright, let's go through the additional questions that we have here.
F.
Uh, like, what are you doing?
Right. Done.
Um, they got tangled in some wires. They do it all the time.
Uh OK, so, red ar is there any unlit that's rendered behind all other objects?
I'm not sure,
but you can probably edit the render cue of a bunch of the unlit shader to, uh,
have that effect moving forwards to Colin.
Um, Colin says, what's the progress on updating the
cop on time for the client? Uh, we haven't even started that yet.
Uh, we're unable to start that until a lot more stuff has happened.
Um, so
it it's
Oh, my God. Let's just Let's just draw this right.
We're just gonna draw this, and we're probably gonna,
um, What's the word
draw.
Um, and we're probably gonna record it.
And we're gonna stick it on my YouTube channel because,
uh, I need a new I'll
just scroll to a new area. This diagram. Oh, you got tangled in my cables again.
Basically, he'll jump up and say like, hi on the left side of me.
And when he does that, he, um,
gets tangled in my headphone cord cos I'm kind of in wired headphones
and when he jumps up on the left, it means he wants something.
When he jumps up on the right, it means that he wants a cuddle.
You're gonna have to wait,
OK? I'm just yelling at him and you just see elbow Cam.
Oh, look at that. Like HD elbow. Well, it's not HD. It's AC
922.
So
or is it the scene on 20? I don't remember. Whatever. Um
where are we? How am I doing this?
Alright, let's turn off non-existent dog cam for a moment.
Uh, and let's head on over to a new window.
Um and we're gonna share our screen, and we're gonna go to
we gotta wait for that to load cos it takes forever for some reason. Alright, so
then we're gonna open up O BS.
Um, I'm gonna be copying this drawing from, um, Fri's
podcast. Um, fris
gave it, like a really good way of doing it.
So the sort of theme of that drawing is gonna be copied from there.
All right, I hope we're all watching,
uh, let me take a look. Uh, start recording. Alright. So
right now, as I'm sure you're aware, we've got,
um, resin I right, And you you just play resonate.
And you might not understand how it works or anything like that.
That's perfectly fine.
But like inside Resonate, there's actually two components.
Um, so we're gonna make unity, Apparently not red. There we go. Now it's red.
We're gonna make unity red, and we're gonna make fruits and G
blue. I don't know,
right and
unity. And with both of these parts working,
you get resonate that you know and love.
Let me just get chat onto the other screen so I can see how I'm doing.
Cos sometimes I explain stuff. Well, sometimes I explain it incredibly poorly.
Um, what's happening right now is that we've got a bunch of stuff that,
um is closely tied together to unity.
So a good example of something that's tied in unity is the particle system.
Uh, another one would be the, uh, audio system.
Looks like I've made the text read. I don't really know how, but whatever.
Um,
these are both in unity right now.
And because they're in unity,
it means that they're They're blocked, right? They can only exist,
right? They can only exist inside unity.
So what we're doing currently is we're taking all these parts,
and there might be others.
Right? Um,
we'd have to double check and take a look at it. So there might be other systems.
We're taking these systems, and we're rewriting them such that they are, um,
over here in freaks engine.
Let's make this wider.
There we go.
So we're rewriting it, right?
So, photon dust, the new particle system is gonna become blue one day.
Um, the audio system here is like half blue cos CYA is working on it, but, uh,
fruits needs to finish it off, but like,
it's also sort of in the process of moving across here
once it's over here. And we have no more red components on the left here.
We can actually start
enacting a lot of change over here, right? We can
we can We can make a lot more changes here.
Um, it also means that when we replace unity
with source,
um, that's
Yeah, I think that's how it's spelled. Whatever.
It doesn't matter when we replace unity with source,
we don't then have to rewrite all these systems again.
We don't have to rewrite all all of them, cos they're over in freak engine.
So the way the particle system actually works is it just sends,
like it just sends buffers
over to unity.
And when we go over to source, it's just gonna send buffers over to source.
And, um, both of those engines are being instructed like, Hey,
we're giving you like a a raw buffer,
just like shove it on the screen as fast as you can,
like, literally as fast as you can. Just shove this on the screen.
Um, and that's what they're doing.
So that's what's going on right now,
And that's why it looks like we're not working on performance, but we actually are.
We're like doing like performance prerequisites.
So if you think of us like building a building. Um, that's,
you know, a big sort of, you know, apartment building.
We gotta, like, do the foundations first.
We gotta, like, you know, pour concrete, make the sure the sewer lines are good.
The electricity lines are good, right? And then we build the building.
Um, and that's what's going on.
Once this is by itself, um,
like, all done. So once these are all across over onto the right,
Um,
the big performance upgrade that we're gonna get is multiprocessor now,
multiprocessor essentially takes fruits engine,
and it runs different processes for different parts of fruits. Engine. So, um,
I'm not entirely sure like what exactly will be in its own process,
but it's highly likely that a session might So then
each session runs on its own process.
Um,
let's say you're in three sessions, right?
What? You'll actually
is three resonant EXES. It might be a different EXE name. It doesn't really matter.
It's just an EXE. Right? And so let's say that like this session crashes,
that process will crash. But fri,
engine itself won't crash
when these are separate. We can also, um, make these.net nine.
So these can be nine.
not that bit. The bottom bit. Here.
These can be nine because they're separate processes. Right?
Um, and this because it's still
in
unity,
that still has to be 472. Once we have sauce, we can make this part also.net nine.
But we have to wait till source is ready. Like unity can't go to.net nine.
I hope that made sense. If it didn't make sense, there's really nothing I can do.
Maybe I'll try again later. Whatever.
All right. Moving on to additional questions. I'll leave the exc
drawer open, just in case it helps me explain other stuff. Um,
so that's Colin's question on to, uh, emergency temporal shifts. Question?
Who says, uh, what is the best particle? Um,
I don't know what you mean.
Like, do you mean like, a particle system or like a elementary particle?
And then when you
like talking about elementary particles,
do you mean actually elementary So quarks, or do you mean like, um,
the second level of elementary, like proton neutron electron,
like like here you go. Here's the actual elementary particles, right? And, um,
like
you'll see like proton
isn't on there,
and neither is neutron, and that's because they're not elementary,
like we've looked lower.
The interesting part, though, is that electrons are elementary,
which is is very interesting.
Um, I don't know,
Um, I don't know if, like, I'm unique in this sort of mentality,
but I find it distressing that we don't understand how reality works.
And like so sometimes a common thing that will happen is like if I
if I'm having a bad night's sleep sometimes I'll look at my hand and I'm like, Yeah,
I know it's a hand.
I know that I can move it and that, like, it'll work as a hand.
But I have got no idea,
like why it exists
and and yeah, you can be like, yeah, family.
You know, when Mummy and Daddy blah, blah, blah,
blah but you you can do all that right?
But that still doesn't explain,
like the fact that it's there
and it like it weirds me out.
Um, if we had the USB cable debate at some point
because like, yeah,
like you as a person, you're just like riding
like an organic MEC suit,
right? That's literally what's happening.
Um, if you look it up I won't paste it here.
I'll put it up here because it is technically body horror.
But like, you know, scientists, um
extracted the entire nervous system from a human body and laid it out on a table as,
like, a sort of piece of anatomical art.
That is what you are. You are nothing else.
Everything else is just completely disconnected from you.
The only way that you know that anything's going on is via those nerve connections.
And I call them USB Cables.
And so, like, humans were just weird USB cables that are, like, tangled through, uh,
like
organic Mac.
And so while I own my hands and I'm never going to give them to someone else,
I still don't understand them,
if that makes sense.
Anyway, uh, that's enough about, like, existential Cresses and stuff.
If you want to be, um,
if you wanna be, like, really give.
If you wanna have more confusion,
look into, like, what exactly these are and how they work.
Uh, cos what you'll start seeing is the, uh, quarks.
I don't remember if leptons or or bosons
have them, but,
um,
quarks certainly do. They have, uh, another property about them
that we can't really model. It's a bit like a quaternion
or rotation thing. We we we or like, an imaginary number.
We can't really model it, but we we can if we just give it a name and play with it. Right?
And so we call it like, uh, colour.
And it's not literally colour like,
because when you're at this level of of smallness, uh, light doesn't work.
Um, but like, it's
a good way of like, figuring it out. And it's like called quantum
chronograph or something.
Yeah. Here you go.
Uh,
colour charge is a property of cars and gowns that is related
to the particle's strong interaction in the theory of quantum chromodynamics.
And like, if you go to that Wikipedia page,
just let me know when your eyes close over cos
it's like the first couple of sentences for me.
Um
um
what's up, dog?
Uh, anyway, let's move on to actual quick Fetter
enough. OK,
shut the hell up. Come over here. Get on my lap. Come on.
OK, Questions. Um,
Colin says, Is there a system for upgrading proto
fox nodes when they're changed? Yes.
Um, lots of, like, upgrade stuff uh, exists.
She just me in a second. Um
well, I've got the code open. So, like I provided, I double check.
I'm not gonna leak anything. I can. I can show you some upgrade code.
Uh, just trying to think of something that's got upgrade. Uh, find child by name.
Usually has some upgrades.
Oh, it had some upgrades in logic. It doesn't currently have upgrades.
Uh,
anyone here that knows of a component that's upgraded
a lot.
Uh,
I always forget of one.
load control. Find all references to load control. That will get you an upgrade.
Yeah.
Oh, yeah. Lots of materials had upgrades. Uh oh. VRIK. Yeah. Yeah,
that's not too easy to understand.
Uh,
yeah, actually, this one will do. Uh, actually, perfectly
all right, uh, let me make this bigger as well. Right. So this is, uh, VRAK Avatar.
That's the one that, like, is always meme.
Um, and this is our upgrade system. Footwear. Right.
So when um, when we see unloading here,
this is basically like when you spawn in the item where the avatar, uh,
visit the world, et cetera.
At some point, it has to load, and it ends up here,
Um, and when it's saved into the the database or cloud whatever,
like terminology you you you you are accepting.
Um, the, uh, control status of it also gets a version number.
And
depending on that version number, we know, uh, this is a saved copy of a VRIK thingy.
That is version two.
And, uh, that value here will be two.
And then we know that if, um, two is less than three. We need to run this upgrade.
If two is less than four, we need to run this upgrade.
If two is less than five, we run this upgrade, right? And so you can see how.
Here we're building an upgrade. So there's there's lots of upgrades here.
Um
17.
0, here's the
Vigen scan, by the way, I forgot that was there, uh, 22 upgrades, 23 upgrades,
25 upgrades.
Right. There's a lot of stuff that's going on here.
So here, this upgrade here is when we had, uh, facet anchors.
Um, and then these two here are upgrades for the locomotion animation system.
Um, you can see that we you know, as we move on and keep doing this,
we start getting better at writing update code.
So these last sort of four or five versions here, we just, like,
run a function that that does it all.
But like for here,
we had it in line or whatever it really
just does depend on how complicated the upgrade is.
Uh,
but this upgrade system works for
basically any component that exists throughout resonate
and, um allows us to upgrade them quite easily.
This is a common area that gets a lot of upgrades, as is the whole dash system,
because, uh, there's bits of the dash that aren't ideal,
that we need to keep upgrading by changing this version number.
Uh, so there we go.
Alright, let's move through additional questions. Um,
let me close O BS as well cos it's like blurring out your names.
It's like, Oh, you're in streaming mood. Let me make your name B dot dot, dot dot
Uh, OK, so jumping around.
Uh,
red says any idea why render a trans mode voice
sometimes crashes the game and on skin mesh renderers.
Uh, you're gonna have to go to get up about that.
Um,
the reason why you're gonna have to go to get
up about that one is because I'll get it wrong.
Basically, Like I'm not up to date on the crash. I know. It's It's like
it should be less common than it was historically.
And so people who were, like, avoid that component because it causes crashes.
They're like, they're not up to date. Right? So that's why I say go to the go.
Because like, you'll have the the most up to date data there,
Um, that will allow you to make a decision.
Uh, OK, uh, down to
draconis.
Who says What is something the average user can do
to boost performance on their end without having to leave?
Edit a session and nothing requiring money?
Uh, bake your bl shapes? Uh, separate your head and body mesh.
Two separate skinned meshes.
Um,
limit pro
flux and logics on your avatar. Don't limit
slot count limit functions, right? So
I I've seen an avatar that has
10 slots but has, like, you know, humongous complicated
mess on it. Right? And it it's still Aggies to do that.
Um,
check the settings as well. Like something that's really good.
I wanna get it on the wiki. I don't have it on the wiki yet.
Um, but raid's OK if it going there is raid make a like guide for, like,
how to tweak the stream deck to have the best
F BS possible on resonate on the stream deck.
But that guide,
like you could also apply it to your computer,
and I'm I'm certain that you would get an effect as well.
Um, so we can take that information and sort of transform it into a general sort of,
uh, settings for performance when you just want performance. Right?
Speaking of this code here,
there's an optimisation that we can do here just in terms of code style,
which is we can remove this and we can remove this
and then, like,
yay!
It looks like all the others where it's just run synchronously and then, uh,
semicolon.
But there we go.
Uh, let me move down to other questions. All that got questioned.
Uh,
niki says, have you seen the new pedestals in the avatar station?
I have not,
uh, moving on.
Um, which dark matter particle do you believe will be more successful?
I, I I'm not up to date on dark matter right now.
Um, and that's another thing that really annoys me, right? Like
our mathematics for the universe doesn't work,
the only way for it to work is that there is, like, an enormous, like,
unimaginable amount of matter and energy out there that we can't see.
Um, and again, that makes me uncomfortable.
It's like, Oh, yeah, let me just eat my like, uh,
my ham and cheese sandwich and, like, have an existential crisis.
How anyone like doesn't manage to like how anyone manages to not have
these crisises when they learn the truths about reality is just beyond me.
It's like, Hey, guys, we don't actually know how the world works,
like at all cool, like right now, like touch the desk or sitting at or whatever right.
The fact that you're feeling it is so complicated,
it's like it's it's mind blowingly complicated,
and everyone's just like, Yeah, I'm fine with that.
No, not at all. It's It's hilariously complicated.
Yeah, the freak says, Why is stuff? It's It's exactly that, right?
So, like, you literally aren't touching the desk right?
If you touch a desk right now, you're literally not touching it
like the particles of your fingers are basically vibrating
in a way that means that the the desk is reacting to that.
And then
the way that the particles react involves a nerve firing.
And then that nerve travels those USB cables up to your brain and goes,
you're touching a desk.
You're not literally touching a desk. And, um, that
that, like force field that that that fru
is talking about that repels you,
right? It is so detailed that that's how you feel texture.
So if you touch something smooth,
uh, a different configuration of particles are repelling your fingers,
which is why it feels smooth to if you
touch something rough and everyone's just OK with this,
it's boggles my brain.
I'm just like I'm not OK with it. Please, Like why?
And then everyone will be like, Oh, do you mean like, grand a purpose?
And I'm like, Oh, mate,
like maybe maybe someone made it like I don't
think they're a deity that deserves reverence about it,
but like some thing happened that caused all this stuff to happen,
Uh,
let's try and stay and resonate before I just make you all sort
of crawl into your bed and and and rock backwards and forwards.
Um,
Lucas,
is there any way we can get help setting up new tutorials in
the advert station before the showcase influx hits contact them to team?
Um, secondarily, they ask,
Is there any information you'll think should be added or changed to the
A station before the influx? I personally haven't seen it, so contact the team.
Uh, OK, grand has a question.
Um, I found that on Linux Proton,
when in VR mode resonate seems to eat up more memory than is reasonable.
Eventually eating all my ra M, um, and my swap page files,
though I feel this is a memory the core garbage collector problem.
Are you aware of it?
Uh, if there is a GI up issue, I am aware of it. If there is not, I am not.
My brain is now contained in
github.
I'll have to put like a couple of cheese issues that
are just like it's cheese screamed over and over again,
just like cheese in all caps, enter cheese in all caps.
Enter.
Uh so nookie says I am on the mental team. I'm asking for actual stuff.
Yeah, that isn't how you, um like, get help from us.
Um, like II. I understand. And I empathise with what you're doing.
But like, particularly me, I am, like, insanely busy.
I like, I'm I Here's what he's like.
I'm gonna give you the next, like I'm gonna give you the rest of my day. All right?
After I'm done here with office hours, I'm gonna take the dog
out for a walk, and on the way back, I'm gonna stop by a Walgreens, and I'm gonna pick up
like soda.
Like I'm gonna get as much soda as I can carry
and bring it back and put it in the fridge.
And then when it's cold, I'm just gonna, like, chug it for the rest of the day.
But whilst I'm waiting for that soda to cool down and once that soda's cooled down,
I'm gonna be sat exactly where I am working on cursor stuff, right?
And that's all I'm gonna do today
until until it's done right. And that's because it needs to be done.
And that's my day.
So, I, I don't have time.
Unfortunately to to visit the Avatar station and provide feedback,
I really wish I could, and it isn't like a,
um, a problem that that that you know, it's not you. It's not your project.
It's not like
anything like that. It is simply the fact of like, I have to type code today
as fast as I can.
So if you want help, the mental team is the best place.
Um, beyond that, um, the rest of the team in the area for the influx and that event,
Um
and, uh, yeah. Oh,
and at some point, because it's
is it Tuesday there any, like,
there might be some firefighter drama?
TV shows out that I watch, Um, so I might watch those as well.
There'll be multiple dog walks throughout the day,
but it's basically gonna be like, if I'm not playing with the dog eating,
I'm here typing cursor code.
Hey, guys, do you want, like, a
Do you want a sneak preview of the cursor code?
I'll I'll, I'll start up resonate with the the current like state of of curses,
uh, builds
windows.
All right. I don't see any other questions.
Um, so I'm just gonna launch,
resonate and and and take a look at the the current state of curses.
Uh, Curtis,
the button on go at resonate.com does not function yet.
Um, uh, it, uh, you you'll see it in the update notes.
Once the update nodes hit, it will function.
Um, so just wait for the update notes.
But we are. We are very close to that one. That took a lot of work, right?
That was just like it was one of those systems we hadn't touched in a while.
And so, like, I needed to, like, get in there, get my hands dirty and fix it all.
Same thing's happening with cursors right now as well.
Uh, Carl, the cat says, What do you think about resonant getting a mascot?
We kind of already do have a mascot, which is gloopy, um,
stroke Yellow Dog Man themselves,
um, and all the other like critters, et cetera that are on our team.
So, like, I don't think we need, like, a an official one.
I have seen a couple of, like, fan arts of like, a a gloopy
themed avatar, and I don't mean like, you know,
they've stuck gloopy in an avatar creator, and it's a head and hands avatar.
There was someone who had integrated
the theme of Resonate the theme of gloopy into like
a a humanoid figure and it was really good.
Um, Gran said, uh, can the root of God at Reut
com
have a world browser? Yeah, I. I actually made an issue for that.
On the repository for that go at Resonate, com is entirely open source.
I don't know if it'll stay the way that it currently is written, Um, because as a an,
uh, a team, we aren't
that well versed in JavaScript,
and we do have a large piece of infrastructure that runs JavaScript.
But it runs that because it needs to Not because we want it to,
uh, which is some of our cloud first stuff.
Sometimes like Resonate, loading is scary. Cos you're like, What is that?
Like? It looks like a figure. I think you'll even be able to see that on your screen.
But it, like,
looks like there's a humanoid figure at the bottom half of that picture,
and it's really, like, scary.
It was like I'm being haunted or something. It's crazy.
Uh, all right, let me just double check that I'm once again not gonna
show anything problematic.
Great. I mean,
uh, let's go ahead and take a look.
I actually do need feedback on this, so, uh, it would be great.
Um, keep keep the questions coming, but I'm gonna show you some cursive stuff.
All right, So we're in just local home.
I spend most of my time in local home because I just need to, like,
grab a box and restart resume four times.
So, like, uh, you can see here the even on this branch, right?
The cursors are the same size going between, um, grab and not grab.
These are still a little bit small here, so we can go ahead and we can do two, which is,
I think, the default for the base cursor size.
Uh, so here's two,
and you can see that's like that's a lot better than it currently is.
You don't see a stream I'm streaming.
Um,
so that's good. But oh, I added yesterday, uh,
was multipliers for these. And this is the like feedback I want. Right.
So we've got a base size, and then we've got multipliers, and I'm like,
is it better to have a base size and then multipliers, or is it better just to have, uh,
sizes.
So instead of it being a multiplier here, I could just do, like, grab size,
and you'd be able to type a size.
Um, but like here, you can basically say like, hey,
I want the grab cursor to be huge compared to the regular cursor.
So everything's, like, relative.
So you might say, like, Hey, I only want, like, a small,
um, regular cursor. But when something's being grabbed, I struggle to see it.
So I want the the cursor when you're grabbing to
be five times bigger and and there you go,
Uh, let's see. What other ones? Yeah, buttons. Um, they have their own cursor.
So this is like this. I need to I need to change the the sizing on,
um,
But once again, I hear I could go five and then this is like,
huge,
um, for buttons. Uh uh.
That's not gonna do it, is it? I'll have to spawn out some, like actual U.
I at some point, um, to to test that one.
what other curses are there in settings? Text slider. Oh, yeah.
Sliders, uh, sort of thing.
I can I guess I can do the old 10, that doesn't do the text one, either.
Maybe that's a bug. Who knows?
It's me. Who knows?
Uh, let's try. Uh,
we got, like, a slider.
Yeah, we got a slider that should have the slide thing, but it's old. So So maybe not.
I'm I'm literally seeing no feedback based on my question.
It's like, Would you rather, like,
set the pixel size of each cursor or have this multiplier system?
That's what I'm trying to figure out.
This hair means, um, the base cursor is five.
And then when you grab stuff, we multiply it by five,
so it'll be 25 times larger when you There we go.
Uh, you can also go, Uh, not negative, but you can go less than one on these.
So this would make the grab cursor 10% of the size of the non
grab cursor.
Uh, and, uh, this, uh, ignore the desktop one as well. Like it's it's It's weird,
like it's the only one that's actually live right now as well, which is like,
it's really fun.
But there we go. Anyway. Let's go for some more questions.
Uh, Nki says, I just got to connect 360.
Advice for making that work on bus C body tracking
Is that the connect for the Xbox 360?
If so, good luck, cos I don't think those are supported on Windows anymore.
If it's the Xbox one connect, though, um, then you might have some luck.
Uh, you'll know which one it is by if it's square or not. If it's rounded, it's the 361.
If it's square, then it's the It's the Xbox one.
you can make it work. I got it working.
And if I spent five minutes trying to find it,
I would find the video for you when I got it working.
Um, which is where my entire body turned inside out.
That was VR chat, though, and it was, like, five days ago.
Not like five days ago, five years ago or something like that,
uh, moving forwards to, uh, rents. Question.
Uh,
any idea what the game freezes when grabbing the free form dash for the first time?
Each launch? Yes. Uh, that is, uh, caused by
the
pre, uh,
that's caused by warming colliders. So we don't Prew warm.
I don't actually know why we don't warm colliders ahead of time. Um, but we don't Prew
warm colliders.
So the moment you interact with a collider in the physics system,
we have to do a little bit of work.
Um, I, I don't remember the, like, the specifics,
but we have to do a little bit of work when you first initially grab something.
Yeah, when I said we have to do some work, I don't know the details. That's why Frigg
is here.
Um so frigs is like, it's the jit compiler that's doing the work, right?
So, yeah, it's basically like when you, uh when you join first time item you grab,
it'll be a bit jittery.
Also, the first item that you walk into might be a bit jittery, like, say,
this had a collider on it, that would be a bit jittery.
Um,
that will probably be addressed at some point during the performance update,
Actually,
at some point.
Ah, interesting.
Yeah. So.net nine might just solve that problem.
Uh, let me
a question from
Nia says is the colour type used for anything? I only ever see colour X.
Um, in some cases, we need to replace the colour use with colour X.
Um, and then in a couple of places we need to use colour without colour. X.
It's like it's it's it's gonna be there for, like, probably for a long time.
But like,
it doesn't matter. Basically,
um, it's a technical thing for us to look at,
so you'll sometimes see that we don't have, like,
a colour X version of a node or a colour X version of a component.
And that's something that we need to fix, of course.
Um, but, like those are sort of few and far between. I haven't seen one in a while.
Um, we did have a bunch of updates to sort of colour nodes a while ago,
and I know that was fun, right?
Because we made a a
colour version of it and a colour X version of it, just in case, Um,
and those will probably be around for quite a while.
Um, basically, colour colour X has a profile, and colour does not colour X.
Um, profile is like how we do colour management
and what we mean profile.
It's like, uh, the colour profile that the colour is recorded in,
Um, because, like,
just look up colour stuff. It's so complicated.
I'm also, like, slightly colour blind.
So when it comes to colours, I just sort of like peace out. Um,
like, obviously, if if people need help, I'll try.
But like, there are much better people for colours, right? We've got keys.
The graphics programmer,
Um, and
other than that, like you know, the rest of the team can see colours better. Like
it's fine, but like, it just leads to arguments like, uh,
in some lighting conditions.
This green box, um, gizmo,
uh, would appear yellow to me, and there's just nothing I can do about it. So
I'm not useful.
Uh,
red ar. Any idea when, um, a better pro
flux crash handling will occur currently,
it just screws up the game and dumps the structures to the log.
Depends what type of crash that you're dealing with.
Um, if there's a world crash, there's there's nothing we can do, right?
The world, like doesn't,
um,
doesn't know what to do, right.
We we try and catch as many exceptions or problems as we can,
but occasionally stuff just bubbles up too high and we can't do anything about it,
and we have to crash the world.
Um, so it depends on what type you're talking about.
One of the interesting things to think about, though,
is the proto flux as a language is still quite new.
And that means that, like,
one of the areas that we need to improve on is tooling for that language.
So that's things like comments, uh, profiling performance, uh,
collections or the DS P stuff that you can see on the
github et cetera.
Uh, but yeah, that might also include better error handling.
Uh, that's not something that we have.
Um, a good example here might be the right nodes, right.
They originally did not have on failure pulses right
or on failure. Outputs, whatever you wanna call them.
So it was not possible to do anything when a right failed, but those were added.
That's actually one of the more notable changes the outsider added a long time ago.
If you remember outsider, they added a bunch of sort of like on fail, um,
impulse outputs to the logic nodes at the time.
Uh, let's head to Collin's question, which I did miss.
Uh, I also missed Erin's question, but like,
that's not re I missed a bunch of questions anyway.
Um, OK, let me see. Uh, Red's question done.
Erin's question. Do you have any clever white elephant Christmas ideas? Um, yes.
Um, you have to get something that's a little bit like Naughty.
Go to one of those like shops that sells, like, I don't know, like a
apron with, like, a Penis draw on it or something.
Um, those always,
those always go well at white Christmases, white leopards,
whatever the fuck they're called.
We did one of those, uh, couple of Christmases ago,
and it was just like it was just a pain in the butt.
I was just like, Hey, can can I Can I just go drink more booze? Thanks.
Um, col the cat says, is it possible to upload custom like,
is it possible to
custom localization assets for creations? Um, it is planned to make that possible.
At some point, we do occasionally run into issues that are occurring.
With that, there's a couple of the components that sort of,
um,
have hidden properties that aren't available in the inspector
that set them up in the localization area.
I think there were changes to them to sort of change that behaviour recently,
but I don't remember the details, but, uh, yes, it is EE.
Eventually, we want to do it that way.
Uh, the reason behind that is because, um,
our localization components can do like lots of the lifting for you,
provided you can get
the, um, string database to them, like the Jason file or whatever.
And so if we have a way for you to basically say, like, here's my creation,
here's my string database file. Then it would be really useful.
But right now, you can only use our string database file, which is the global one.
All right, so that one's done Reds one about proto
flux. Crash handling is also done
OK on two grand.
Uh,
sometimes they have issues with loading new assets for
worlds and can either see through unloaded assets Yep,
or falling through because the colours aren't loaded yet.
Is it possible to write a certain area of the world to load a fast?
Uh, you need to watch my first tutorial ever. I've redone it.
Um, but, uh, someone can please link it if that helps. Uh, it's the,
uh, stop yourself from falling through the floor while the world's loading
tutorial
I'm only temporary Shift says all my white
leant are at church, I promise you, like
it still will work.
I mean, you'd have to be, like, probably limit it a little bit, but like,
it would still be funny.
Um, Aaron says that they weren't expecting the answer.
Yeah, like every single time I've done one of those,
the most popular gift had been like, I don't know,
an apron with a Penis drawn on it, or something of equivalent of that nature.
And it's because it caused a laugh, right?
You're a white elephant not to exchange gifts you're there to, like, get a laugh,
right?
And especially imagine, like, I don't know,
the poor, unfortunate soul that has to unwrap your apron, right?
They've got a laugh about it, and they're like the laugh of the room. And it's fun.
So, like, there you go. Like, why? Why?
Elephants are for an experience, not for a gift.
Uh, thank you. Um,
quite know how to pronounce that. But,
Jin, for the resonator tutorial, stop users fall through the floor.
That will sort you out there. Uh,
if it's someone else's world that they
haven't configured correctly with those settings.
Um, politely. And I mean this truthfully, like politely explain to them how to do
stuff from that video.
Um, as for like more loading control, we do have a,
um a hub on that one that I'll need to wait for,
uh, Red's updated with the
github issue for the the problem that occurred at Creative Jam.
I'll have to take a look at what? Actually, the crash was here.
Um, it's just I don't wanna download a log file and read for it.
I did do that once.
Like, in a voice call,
though I downloaded a log file and I I talked to the people that were
on the voice call through how I read it and the information that I,
um, got from that log file
and how that was useful and and people really enjoyed that.
So hey, maybe we'll do that at some point.
Anyway. We were kinda at time.
Um, we got distracted a lot by me, drawing scribbles in X gally draw for a bit,
but but hope that was useful.
Um,
if there are additional questions,
I will take the three from the people that are typing.
So I then bought around a meatball and grand. If you've got a question, go ahead.
Type it. Otherwise I'll close off. Um, I only need to get the dog outside.
Um, they haven't been outside, like, all morning.
I used to, like, wake up in a panic and then I would like, immediately, like,
walk the dog to make sure they didn't, like,
wake up and pee cos like what's the first thing you do when you wake up as a human?
Usually pee,
Um,
but
they know how to ask to go out.
And so I was just waiting and seeing if they did that.
And, uh, that was cool
because they asked, like, five seconds into office hours. They asked,
So I don't want to, like, you know, ignore their ask because that's rude.
Like, I trained my dog to have, uh, autonomy.
And when they go outside and now I'm ignoring that autonomy. That's rude.
Uh, vanport says what would cause crashes when it tries to the world to, uh, fail?
I'll I'll just have to look at the crash log.
Um,
in languages that have exceptions,
exceptions can just like happen from any part of the code that you're calling,
and sometimes they're like, really confusing and really silly.
Uh, so we had a a crash log from some someone in discussion yesterday,
and it seemed like
because they're into it
was interrupted during the process of connecting
one of the like keys that, like is required for a joint to work,
just wasn't correct in memory or whatever.
And then,
like a weird error appeared that we'd never seen
before because we didn't think that that could happen.
Um, so in a lot of cases, due to the nature of an exception based sort of language,
you need to basically look at the log and it will say like
exception. Um, potato exception. You didn't handle the potato exception. Great.
We do a code update that handles the potato exception.
And in some cases, handling the potato exception is just a better log message.
So instead of it being
hey, um, this unexpected error happens, it's Hey, this potato exception happened,
and we can tell you a little bit more about what might happen there.
So in that particular example, I meant about Internet connectivity.
Maybe we can detect it somehow and be like
your Internet's unstable. Let's retry it a bit or something like that.
There's no, unfortunately, there's like,
no real option of of avoiding that because, like any, um,
anything that you call
can basically throw whatever it wants, and then you have to kind of deal with it.
Uh,
JD
talks about how, um,
they see errors that are triggered with have come near them,
saying this will never happen.
Yeah, we have that, too.
Um, it's like this will never happen. And it does happen.
That's actually something I really like about the newer versions of the
C# language and the newer versions of.net as well and dot net's,
uh, foundation.
They're moving towards like nulls everywhere. And like, null
like data types
all throughout a code base is the quickest
way to avoid null pointer exception being thrown.
Um, so that's good,
but like you're still gonna have, Like, uh,
you're still gonna have random exceptions that that throw.
And if you don't catch them, they'll just be logged into the log file. As
this happened, we don't know what it is.
I don't know what happened.
What should we do when like potato exceptions. Throwed,
uh, nki says, how do I check a dynamic variable, Uh, from a value equality drive?
Uh, I don't remember what value equality drive looks like.
Let's add a value equality drive to this cube
using my giant cursor. Fix this. Just give me a second.
Uh,
there we go.
Um, OK, box,
uh, transform. Let's do float.
That's the ball, right? Yeah.
The ones that
I've used, this particular one,
but yeah, that's the the ball. And it's like, Hey, is this the same as this?
Yeah, OK, well, you just use, uh um
uh, where are we? Value the
variable,
Like
right. So here's how you get the variable. Like we could do, like world, uh, potato.
And then you put that into there, and then you say, Hey, five.
And now when world potato is five,
that will turn to true.
So if we were to go over here and make a new empty object and we go attach component,
uh, data value, uh, dynamic, dynamic value, variable float. Uh,
all right. So when that becomes five here,
it updates to five here, which triggers the value of quality driver,
which checks that
Aaron says that they would like to have the, um,
silence on the, uh uh, equality driver. Go ahead and give up that.
That's a really good feature, actually.
Uh, ven pa
Um, as much as I I understand and empathise with the problem pasting, Um,
pasting like stack traces into office hours is it's not gonna be productive.
Just just make sure that I've got the gab issue.
Um, and I'll I'll take a look at it when I can.
Unfortunately, that when it can might be like next year,
Easter or something because of how busy we are right now.
But like we honestly are trying our best, right? There's just, like so much going on.
All right, let's check through these questions. Uh,
Grant's talking about, like world structuring grids and loading.
There is a get up issue for that. Um, it's it's a feature.
It's just it's a matter of prioritisation. Yeah,
um, moving forward Valley called toile
driver. We did that. It's like on the screen right now. Cheat. Now it is,
um
do
do do, do
you,
uh I don't think you can use a dynamic field,
but the B broadwick dynamic field is that you need a You need a field, right?
So you would you would you would have to have another place to put it, like,
another value that you can put it in.
Uh,
all right, so that'll work,
and that'll work. But,
uh, because it's the reference values of Yeah,
but then you wouldn't be able to equality it, right?
You You wanna check that? A dynamic variable is a certain value
in components
there.
Right. Let's hate it,
strictly speaking with dynamic field as well.
Um, when you're using dynamic field, the field that you specify here
is like or should be at least viewed as, like, the authority of the field.
Um, and that means that you shouldn't,
um,
shouldn't really have more than one dynamic field.
Uh, Anyway, it sounds like we have, uh, like,
specific implementation details that make a dynamic field, uh,
more suitable for that particular occurrence. So we're good.
Let me just scroll through and make sure we haven't got any, Uh uh.
Standing questions. Du dun, dun
dun dun dun dun dun dun dun dun Dun
du. Uh, yeah, we're done. Um, I'm gonna go ahead and leave off here.
Take this dog out for a walk. Um, grab that soda as I as I mentioned.
And, uh, then type some curse code,
uh, to fix this
problem.
Um, for for context this cursor image here,
um, I think it's not square, so I need to double check cos if it's not square,
it messes everything up.
And that's why it looks weird,
right? You see how that looks weird.
I don't think it's square, so I'll have to check that.
Anyway, I want to speak to you guys later.