OfficeHours:ProbablePrime:2022-03-29

From Neos Wiki
Jump to navigation Jump to search

<< Previous Next >>

Audio

Description

In this Office Hours, Probable Prime talks about:

  • Maths
  • Learning
  • Linux a bit!

Transcription

(Please note that the transcriptions will not be 100% accurate)


Okay. So it's 4 p.m. That means it's time for office hours with prime. So drop your

questions in the office hours text chat and we will get them answered in turn. Reminder

for this week, we are recording this and it will be uploaded to sounder which will then

transcribe it. Still working with how that will work. I had feedback last week to the

developers of the application. Their transcription editor is a bit weird, but they are working

on it. Once that's fixed, I should be able to download that transcription as a VST file

which is a lot easier to format than the current presentation on sounder. But hey, we're working

on it. The idea is just to automate as much as possible because automation is cool. I've

noticed that it gets me when I mispronounce stuff, it gets them completely wrong. So I

have to concentrate on pronouncing stuff appropriately. So I don't see any questions in the office

hours text chat. So please drop them in if you have questions. I'm just going to sit

here and make funny noises occasionally. Of particular note this week, it was a small

change to my modern plugin policy. The only change there was just a small clarification

on the GitHub reporting. It's not a requirement, it's just a request. If you would like, you

can drop your GitHub drop your links on GitHub to the mods that solve a problem. We do encourage

it though. If we don't know that your mod is solving a problem, then we can't fix it.

Ideally if your mod is solving a problem which lots of users face, I would love to actually

include it in Neo's actuality. A good example there being the inspector alignment fix. So

I think it was RT that made that one originally as a mod. I then implemented it into Neo's

So Monik is speaking about the controller mod that disables tank controls. That is a

perfect example of something that will go into the new settings panel. For those unaware,

on our roadmap is the settings panel. We'll be reworking the settings panel such that

we can fit unlimited settings. You know the unlimited power gif, just imagine it with

Frux's face. If someone would actually edit this, I will love you forever. I want Frux's

face on, what's his face, Darth, I've forgotten his name, Palpatine, Emperor Palpatine. Yeah,

Frux's face on Emperor Palpatine, change the lighting to yellow and then unlimited settings,

that would be the new settings panel. And the new settings panel will allow just unlimited

settings and at that point he'll basically be like, what do you want a setting for? Cool,

it's implemented. Now it won't be fast depending on what it is, we still have to write code

for that setting, but the idea is that we can make settings for that. There are a couple

of things which the modding community know are just booleans and they're like, why can't

you just put a checkbox on the settings screen? If you look at the settings screen, we're

out of room. We're just out of room. We can shoehorn new settings in, but we're just taking

the starts, hey, let's redo the settings thing, because remember, all work takes time and

we don't want to do work that we can undo or have to undo. And the settings panel is

something we have to undo. Tap dancing, I guess. I see no other questions, so I'm going

to sit here and look at all the emails that are coming in for me, because I'm having a

busy week this week.

We have a question. I'm so happy we have a question. Keep them coming. Specs asks, speaking

of mods, I currently use a mod that makes my inspector match my user color. Very handy

for organizing when there's a bunch of people building together any thoughts on places where

user color may be useful in general. I'd like to see it. As many places as it makes sense.

We could use it on other panels, like logic panels. We could use it on just sort of all

sorts of things. For those who aren't aware, the user color is a facet, which is available

in the essentials, which changes a cloud variable, which is sort of like your selected color.

I wouldn't say favorite color, but lots of people do make it their favorite color. The

new default headset and hands avatar will use that color for the color of the headset

and hands, so you can customize it. And you can tie into it. It's a cloud variable that

anyone can read, so anyone can take a look at that and be like, cool, I want my inspector

to be that color. The important thing with colors, being that I'm slightly colorblind,

is that you don't use it as the single descriptor of who something is. If inspectors have the

concept of being owned, then maybe put their username in the title bar or something like

that. We don't want to just say, like, cool, stop prime, that's a red inspector, that belongs

to the specs, you can't touch that inspector. Maybe I don't know it's red. It should be

clear. It's good for organization. It also lets me sort of identify that one person who

has an inspector two feet to the left for the exact same object but opens up another

one anyway, because, you know, they like that one better. I do that all the time. Don't

worry. Everyone does. They're like, cool. I know there's one over here, but I need one

over here. Yeah. It's fun. There are some times where I have to, like,

stop when I'm building and I close all my inspectors down and then I become really descriptive

about them. I'm like, okay, I need one for this, I need one for that. Because always

I'm just juggling them around and it's just it gets chaotic. When I was doing the MMC

coding system again this year, I just sufficiently needed three different locations but kept

using the location one for location three and swapping it around. So I just had to stop,

close all the inspectors and say, okay, this is the location one inspector, this is the

location two inspector, this is the location three inspector. I could make copies of those

by grabbing the top of the inspector, the slot, and then primary triggering, and that

would make a copy of it. Fantastic. But important thing being that those three always existed

so I could quickly refer to them. I guess that's maybe a sort of signaler that

inspector-based shortcuts for a session might be a good feature. Hey, roadmap, new inspectors,

I need one for this, I need one for that, I need one for that, I need one for that.

This is a great question. I haven't had a lot of good geospaced guides related to transforms

vectors, Cartesian coordinates, 3D space, et cetera. Is there a good starting point

you could recommend for those of us who have forgotten what we learned in trig or don't

do game development as our game job? I don't know, but I'd actually recommend you look

at the problem from a game development point of view. Here's one I came across in making

a game many years ago, I needed a 2D missile shot from a spaceship to angle itself towards

the player spaceship and crash into it. There's actually a lot of maths in that, and instead

of learning trigonometry from the sort of, you know, oh, let's do 50 exercises based

on it, I just Googled that exact problem and got the mathematics for it, and I learnt the

mathematics for it in a sort of reverse point of view. I learnt the solution using the problem,

and then by learning the solution, I learnt the generic math concept there. You're looking

for 8 and 2, if you want to do that. Something to do with the rotation compared to the, like,

blah, blah, blah. I also really want to learn trigonometry using tau, which is 2 times pi,

rather than pi, because pi is kind of silly. If you learn it using tau, it's a lot easier.

I also want to learn trigonometry using radians rather than degrees, because I hear it's a

lot easier to work with radians for those sort of, I'm going to say fixed in your ways,

I don't mean it negatively, I just mean this is how education teaches you it, so it's understandable.

Doing rotational maths using degrees is actually harder than it needs to be. Doing it in radians

is apparently easier, and the reason behind that is that radians are a float-based sort

of arithmetic system, whereas degrees are like, well, 360 is, got to go back to zero.

Radians you can just keep going, stuff like that. So it makes some of the maths easier,

but it is sort of like rip out your existing knowledge and put in new knowledge to learn

it. You can't, you have to just forget what you know, I guess, a little bit. In my public

folder, in utilities or tools, I don't remember which, there is a three-dimensional cone,

not cone, a cylinder, which maps the colour values of RGB onto a cylinder. Not RGB, yeah,

RGB. No, no, huge saturation of value, yeah. Because I was trying to explain the concept

of how colour was a three-dimensional number, and someone didn't understand that so I made

it into a cone, but I couldn't get the maths right, and I was using degrees, and earth

mark came in, and he just converted all the maths to using radians, and it was like half

the nodes. I don't know why. Every time I look at it, I'm like, that makes sense, and

then I pack it and I forget instantly. There's a number of things in life that are exactly

like that. Someone will explain it to me and then I'll just instantly forget it. The one

that comes to mind is the difference between, in military, between an enlisted officer and

a commissioned officer. I still don't quite understand that, and don't explain it to me,

I'll forget instantly. It's just a plague of my life. Every time it becomes important

for a conversation, I'll relook it up. Another one being voltage. I don't understand what

voltage is in a circuit, and again, don't explain it to me, I'll forget. I would have

had a lot better time learning electronics if I just accepted that voltage was a thing

and I didn't question what it was. Same goes with languages as well. I had a lot of struggle

learning languages because I'm like, why does French, German, et cetera, why does each word

need a gender? Why does it have a gender? Who decides what the gender of it is? If I

just accepted it, it did. Sometimes in education there is a warranted part of just accepting

that you are given this knowledge because you need to learn it. Not in maths though,

screw maths. I learnt maths so much easier in 3D. I've actually considered doing this.

I know that Tom Fox is trying to do it and looking at tools to help them do it. Teach

and tutor using Neos to describe mathematical constructs and stuff. But I was wondering

if I could branch out my Neos tutorials to just like pure mathematics tutorials. Lesson

1, Pythagoras theorem with prime. It would be in Neos and look like a Neos tutorial but

it would actually be learning core math and therefore someone who might not be interested

in Neos itself would still learn core math from that tutorial.

Like as an example, I was never given this picture when Pythagoras was explained to me.

So I didn't understand what squaring a number meant. But here it's quite easy to see. When

you square that number, you get the area of that square. So the area of square A plus

the area of square B is the area of square C. And you're just like, oh, that makes a

lot more sense. And you can actually do that with squares if you've got a unit square.

Sometimes the angles get funky but you can fill it up. At a museum there's a demonstration

of Pythagoras which uses water. So you have a triangle one way up which is the A and B

side and it's got two chambers full of water and they fill up to show the area of chamber

A and chamber B of water. And then you spin the triangle sort of upside down and it drains

the water from chamber A and chamber B into chamber C and it fills up to the fill line

in chamber C. And again that was like, oh, that's like that's how Pythagoras works? Cool.

And you could totally animate that in VR. Because that's not even mathematics at that

point. That's just like if you had the containers, you could get like a cup and explain Pythagoras

using a cup of water and a box. Yeah, here it is. It's not the same rig as in the museum.

It looks like a homemade one but it's like identical. Specs says I've heard that sometimes

you just have to learn something in the simple but slightly wrong way before you have the

knowledge and understanding to actually learn it in the right and fully defined way. Which

can be annoying but you can be annoying when you want to say teach someone how to do something

in Neos the best way but it might be too difficult to understand without having soaked in Neos

long enough. That's a good description of the problem I continually see which is when

someone in this Discord asks about a question and they're trying to do it in logics, like

they're trying to change a Boolean using logics and someone goes, just use button toggle!

Just use button toggle! Button toggle! They're trying to learn logics here so can we please

Boolean latch just for now and then maybe suggest, hey, if you'd like to learn a way

to do this without logics, button toggle! Starting with just like, you know, stop what

you're doing, throw it all out, it's wrong, use button toggle, not a good way to learn.

Grinch says would be great to have text description of each item in logics browser and some sort

of hint. That is on the roadmap for our UI rework. You can check out our roadmaps on

the GitHub. Much, much, much more in-game documentation is planned on that roadmap.

That's actually meant to be what I'm doing, but I do a lot of other stuff.

There's a lot of actual mathematics that can be explained using geometry and I really do

like that. I don't remember what video it was. Actually, I do. It was a theorem or something

and they were explaining quadratic equations using squares and again, I'm just like, maths

was never explained to me visually like this. When I see A squared, I'm just like, huh?

Retro Zvok asks I see some FPGA named DLL in Neos files, are you seriously using real

FPGA stuff inside Neos? That's an example plug in. I think the source is available somewhere.

It's very ancient. I don't know if it still works. But it's an example plug in which was

written by Outsider. For those who are like, Outsider does nothing. They wrote that DLL.

They also wrote a lot of the pass through outputs from the many No's, such as write.

You know the on fail that comes out of write when it fails to write? That's Outsider. You

know the delay that has like two impulses, one which is when the impulse started and

one which is when the delay completes? That's Outsider. Anyway, the point being, that is

an old extension to Neos as a plug in. It provides FPGA simulation via logics. I don't

know how it works or what it looks like. I've never used it. But we're not doing real FPGA

stuff. It's a simulated FPGA. For those who don't know, that's a fully programmable gate

array and it's like cool. But it's really subjective for its use. Particularly in Neos.

You can do a lot of field programmable. I'm now on the Wikipedia page. Haha. It's basically

for like, you know, when you need control over the actual silicone, that's what's doing

the sort of, you know, flow of your program. You can use FPGA. You shouldn't need to use

one in Neos. But there are a lot of cases where Neo stuff exists to teach other subjects

so much point, it's like, sure, go for it. Player Cody has a question. Player Cody asks,

I was looking through a tutorial about making an image indicate someone is looking at their

belt menu inventory. I was looking to see if a GIF was possible, but the other video

regarding making a GIF in Neos was classified as outdated. I was not sure if making a GIF

is possible. So the GIF tutorial I have is like really a joke that I don't suggest doing.

I just don't suggest using GIFs. I understand that GIFs are prolific in sort of Discord

and stuff like that. But like most places don't even use GIFs these days. Here it's

a, I've just posted a GIF in the chat. It's a ferret that runs and falls over. Let's take

a look at it. It's usually an MP4 or like, you know, it's often not a GIF. And the reason

is GIF is a really old format. It has kind of bad compression and stuff like that. There's

much more better fragments and things to use. And so Neos itself doesn't have GIF support.

It's not because of that, but it's one of the reasons why we haven't prioritized it

is because there are other better formats available. So you can't really use a GIF.

Retro just said APNG. Yeah, APNG might be a better thing. Animated WebPs. You can even

do animated JPEGs. I've learned MP4s is like, yeah. Zeko says 30 megabytes for a GIF where

the MP4 is cut in half by 90. Yeah. GIFs are just like, there's a cultural problem about

them, right? Where, you know, when you want a funny image, you use a GIF. But the format

itself is usually not suitable. I do think eventually we'll have GIF support, but right

now we don't. Going on to speaking about ways of doing it, you can follow the outdated tutorial.

You'll just have to sort of adapt to knowing it's not good. The two ways of doing it are

to stack the GIF frames on top of each other and go through them with a Boolean switcher.

You don't do that. That's terrible. The other thing you can do is turn that GIF into a sprite

sheet. That happens a lot for badges. If you want to use an animated badge, using a sprite

sheet is a really good way of doing that. You turn the GIF frames into a sort of grid

of sprite sheets and then you iterate through them using UV Atlas animator. I have a tutorial

on both of those. If you're on my channel, just search for UV Atlas animator. But GIFs

are kind of, like, bad. But hopefully we'll get them one day.

Shadow also asks about MPNG. Yep. All the formats that aren't GIF are probably going

to overtake GIF completely at some point. Neos doesn't support APNG either. Just do

the sprite sheet method, do the Boolean switcher method or use a video.

And this comes up a lot in the material world. Create mathematics or some sort of animation

that matches what you want. Like, I have some people that wanted I actually have them at

a lot, which is why there's a rainbow shader tutorial on my channel, which is named rainbow

shader because someone kept coming in and they were like, I want a rainbow shader. I

want my shoes to be rainbow shader. And I said, well, if you change what you're asking,

we can get you a rainbow shader. No, I need a rainbow shader. That's why I put it into

the search terms for that video, rainbow shader. It's a material where we animate the color

property and it turns rainbow. There's also that one, I believe it's in the

essential materials now, which does exactly what all the rainbow shaders for VRChat do,

using an image that scrolls. Oh, I missed a question. I'm terribly sorry.

I'll jump up to that. Richard asks, speaking of DLLs, since DLLs are Windows only, how

will there be extensions on other platforms? We'll use wine. And then Specs has answered

it, which is here. Dot net and things like that can run it. Additionally, on other platforms

such as Linux, we use Mono. If you run Neos using the correct, like, flags, you can load

in the DLLs and it doesn't matter. Like, Neos will take care of loading the DLL. It doesn't

need Windows. Linux support is something we want to improve.

We actually want Neos to be on any platform that's possible. Mac included. Basically,

we want Neos running on whatever we can. Phones, yes. Whatever, basically. Whatever we can,

whenever we can. Check the roadmap. Retro, that's a question that is better served

for Microsoft folks. Of which I am one. But it's better served for Microsoft folks that

aren't in this Discord. They're asking about dot net and running telemetry data to Microsoft.

I don't know. Ask Microsoft. We have another question here from Crusher

who asks are there plans to have a Neos format of sorts so items and avatars can be exported

with the functionality? Yes, check the roadmap. The tentative name of that is dot Neos package.

But we are looking at the ways of doing that so we don't confuse the world. Like, I would

hate to do that and then people suddenly realize, like, oh, Neos has Unity package support.

No, no, no. The complete opposite of that. It's just the tentative name, Mr. Electronus.

We have tentative names for, like, a lot of things. You'll see sometimes references to

Gen X. I'm like, is this like DNA editing in Neos? What's going on? That's generation

X and it's for generation code. So it's things like, you know, more procedural meshes, more

terrain, stuff like that. A lot of Gen X got merged into procedural mesh framework. But

it would probably include terrain information, et cetera.

There's also business X, which was meant to have sort of more of the, like, business logic

stuff in. But again, that kind of went into, like, pro and stuff like that. There are,

like, a lot of holdovers from just workflow not being updated for a bit that we need to

work on. Such as, like, old projects don't exist or don't get copied over. They don't

do anything wrong. They just don't need to exist. So shrug.

The naming convention for Neos stuff is basically just, like, who, like, you know, the name

of the DLL is just needed for, like, one second. Doesn't really matter. So it's just, like,

that's why you've got an X on the end. There's a question here, which is from Zeko.

Is Neos planning on phasing out Unity in the future? Yeah. We're looking to go to our own

approach, probably using some sort of third-party rendering solution. But something that we're

in more control of. Forge and a bunch of other weird names are being looked at. Check the

thread, which is linked for more information. So we have another question here from

retro, who says I'm working on desktop functionalities with my VR chat avatar. Will these things

be in Neosend? And will that be de-Googled on Android phones, Linux, and BSD? I appreciate

the commitment to your privacy. All of those things exist and work regardless of desktop.

So we have systems that allow for head pats. They can count the number of head pats that

you have. Laying down, we have a pose system. I believe that can be used by desktop players.

Play space height is controlled by various factors, but you don't usually need to edit

that. Please don't edit. Like, there are settings inside VR which I wish people wouldn't fiddle

with. As an example, Neosend settings panel has the height. It wants your height. I don't

care if you think you're six foot tall and you're actually five foot two. Put in five

foot two. That's what you're meant to put in there. If you want to be bigger in the

world or smaller in the world, use other mechanisms, please. There's things like default user scale,

the scaling tools themselves, scaling things by parenting, all sorts of stuff like that.

Compare what you're meant to use. As for third person camera, as Froppy points out, yep,

F5 for third person camera. If you want a feature in your desktop mode, ask if we have

it. We usually do. If we don't, it can go on the roadmap or in most cases can actually

be built by the community. As for our plans for phones and Linux and other platforms in

the area, I don't foresee them requiring any Google stuff. We're just going to launch on

whatever platform we can whenever we can.

Yeah. That's the one that we get a lot. It even happens on VRChat. People complain that

tracking is wrong or full body tracking doesn't make sense. I ask this in VRChat. What height

did you enter in the height setting? I entered eight foot, so I'm really big. Especially

for full body tracking, it needs to know how tall you are so it knows how tall you are

so it can do the mathematics about where your leg is, not where your avatar's leg is. It's

like a formula. It's like you plus your tracking points plus avatar settings equals good full

body tracking. People are just like, okay, that means I'll edit what I am. No, you can't

edit your height. That's not how it works.

I see we're at time. So Fuzzy, if you have questions, go for it. Otherwise, no more questions.

Like when I call people out when they're typing and then they immediately stop typing. Yeah,

I'll just ignore your question. Wearing shoes in full body tracking is always weird. Shouldn't

affect things that much, particularly because the trackers, if you are wearing shoes, it

goes on top of your like the arch of your foot, which means that like the heel step

usually doesn't get included.

All right, that's all we've got. If you have other questions, please feel free to ask in

the Discord, ping me, read the Wiki, read the roadmap, et cetera. Let me know what I

can help you with. Spam me in DMs and I'll speak to you again next week. This will be

up on sounder shortly and I'll take a look at the transcript which will probably be terrible

but who knows, we're experimenting with stuff. Jazz hands!