In game physics, vehicle weight directly affects acceleration and inertia, meaning heavier vehicles require more time to reach maximum speed due to increased mass resistance. The developer implements this relationship using an inverse proportion formula where acceleration decreases as weight increases, creating realistic vehicle handling differences. This demonstrates how game physics systems can simulate real-world mechanics like inertia, where mass affects how quickly objects can change their velocity, and how developers can use mathematical relationships to create believable gameplay mechanics.
Deep Dive
Prerequisite Knowledge
- No data available.
Where to go next
- No data available.
Deep Dive
Working 9-5 (not) : Vertical : !helpAdded:
Okay, YouTube says I'm live, therefore I aren't live.
Hello VOD watchers.
I'll be talking to you real quick. I mean, I have nothing really special to say except hi, welcome to the VOD. And today we're going to be doing some game Devon as per usual.
uh today or last night I made this whole poll on what to work on today.
Um I already had an idea of what I was going to work on, but you know it's it's nice to gauge people's opinions now and then, right?
And uh as you can see here, what's up motivational life? The options were uh either work on the ASI game engine and C with 31%.
Write a new website in JavaScript with 10%. Thank thank goodness I did not want to do JavaScript.
And then uh finish the game cozy with 37% and play spiral on company time. So uh it seems there's a lot of demand for both the ASKI game and uh finish the the game cozy though. surprising amount of people want to see some Spyro, too. But, uh, today we're just going to clock in.
We're going to we're going to try to get this game done, dude.
I think a lot's already done. So, honestly, it might be just a bunch of grinding assets and getting some ideas for new chip in abilities.
I think it's not your usual timing of the live stream. Yeah, it's not. Well, like I mentioned, uh I have today off from work, and I was planning to do a 9 to5 stream, like actually start at 9:00 a.m. and then end at 5:00 p.m., but I got up late and I want I had to do some yard work and I had to do some chores outside.
So, we're starting at 11:00, but you know, I can still get a lot of work done.
And hey, it's not it's not too dissimilar from my day job.
Oh man. But yeah, we're going to get some we're going to be doing some game deving. We're going to be outside. Uh the stream, as you can see, we're outside. And I think I want to do some uh streams outside in my physical yard.
Right now, we're using the green screen to pretend like we're touching grass.
But one of these days, we're going to do an actual uh we're going to do an actual uh dev stream outside with the bonfire and fire pit. It's going to be good. I just need to set it up. I'm also waiting for permits from the city. So, once I get the permits and once uh we're good on everything, we're going to do some outside streams. Is it usually a vertical aspect ratio stream? Yeah, there's there's uh there's two. There's a regular one. There's two streams that are going on right now. There's one that's horizontal and then this is the one that's vertical.
Yeah. Plato's playbook.
Usually the vertical is the more more prevalent one.
And I think today we're going to write uh updates and then do um give an actual dev update for the people in the Discord. you work on software company like may I know which company is that? No, I'd rather not make that public.
I do work for a software company and I get to use a lot of the same skills I I have here which is pretty cool. Um yeah, so I've done quite a few things off stream. I think the most prevalent thing has been um this new level, the asteroid level, and the fact that this is not randomly generated, but instead we actually have a designed level here.
So, uh there's that. I've also revised the uh the way lurping happens for input.
Before it was actually two orders of magnitude too small.
Um, and I don't believe it was or it was delta timed, but I just was using the wrong values while sampling. So, I corrected it, which means things stop really fast. So, after we rework the engines uh for this, but um yeah, this is I'm pretty happy with this so far, though. I mean, we have this new assets, too, like the rock tiles and stuff, which I need to update a little bit. And I need to revisit some other levels, fix them up.
So, we're going to have a combination of levels that are like this that are preset where they're the same level every single time you go into it. Maybe with some slight variations like the where the asteroids are placed.
And then there's going to be levels that are randomly generated with the random paths.
Um, like this one.
So, there's that. Uh there's also I need to have the different means of input. We have this relative joystick thing going on, but I also want to add the on-creen buttons as a mechanism for input. Um I think I already have it implemented. I just need to do the actual uh toggle and the um the toggle and the uh actual buttons for on screen stuff. So that's something I'm going to have to look at. There's also a weird bug where like the time stop doesn't physically show up. Like the post-process effect doesn't activate for some reason. So, I'm going have to investigate that. And uh I'm going to revisit some of the environments to make them look better pretty cuz we did some changes to the shaders and now the background's all messed up. So, we got to go through to this level and fix some stuff there.
But, I think should be mostly fine.
We're going to be sprucing up the pause menu as well. And then maybe uh I have to implement the high score stuff here.
And there's also the idea of upgrades, upgrading a chip. So we have a chip here. I want to have a button or something that indicates you can upgrade it. So one button is going to be for like selecting it and then another one's going to be for actually um choosing to upgrade it. So I need to figure out how that's going to look.
Uh what's going on with Draco?
I'm just going to set your screen on my second monitor because it's vertical and I'm going to code on my monitor. It's horizontal. All good, man. Uh I for C and Unity, I use Ryder Reps.
It's a rare day stream. I know it's crazy. Usually I'm working on uh on my day job right now, but this is the rare occasion where um I got the day free and I can I can use my 9 to5 hours for game Devon.
So, one thing I want to do, um you might not notice it. Let's try it again. But if you look at the asteroids, you're going to notice that uh they fly into the walls, which is fine, but you see Z fighting. So like there, you can see Z fighting. Um if I go a little bit lower, maybe you'll see it.
You have to do something here. I can't allow Yeah, I need to do something.
Let's see if I can find example of Z fighting.
Okay, here.
See that? So, I think we're either going to move the uh asteroid slightly in front of or slightly behind uh the normal tiles, which should shouldn't be too crazy to do. I think that'll be our first lowhanging fruit, I don't know, bug to fix for today.
Hey, what's going on, Crisis King? Happy to see you, man. How's everything going?
Everything's going good, man.
had a good Sunday yesterday.
Uh just church and then chilled outside and did a lot of yard yard work and getting ready ready for the summer. I had a great day on Saturday with my dad.
We just hang hanged out and watched movies all day, which is kind of rare for me.
And uh yeah, just relaxing today. just getting some going try to get a bunch of dev work today and then just get this game already done because I'm really I already started another project, but I really want to just dive in and focus on that project. So, we're just going to do that. This going to be simple. It's going to be plus equals that.
And then what are we going to do for the Z position? I don't want to increment this every single frame.
I wonder actually I want to make it a vector extension.
No.
Can I do for example override? I know I have a I have a overwrite overload, but can I do one that uses a ref instead?
Is that a different signature?
It is. Can I do ref this?
I can't. And it's distinct.
Oh my goodness.
Oh, that's actually kind of exciting because I could do something like this.
How would I even call this ref this?
Or maybe I'd have to call this uh actually I'm I'm not even sure how that'll work. We'll figure it out.
So, we're just setting value and that's it, right?
So, that's all there is to it.
I guess it has a different signature.
How you guys doing today though? It was going so high. What is your advice to new game developers like so uh advice to new in development like software interest in gamede dev? You just got to start man. Don't think you're too dumb and just try working at a project and you're going to learn from it, man.
Finally burned a disc, but sadly PS5 disc player cannot read raw MP4 files unless it's from a pluggedin USB. That sucks.
Still cool to actually do though. Yeah, burning is fun. I love burning uh my CDs. I'm not an arsonist.
That's awesome. So cool to actually do.
Do you play instruments in church? I play a trombone actually. Christ's king.
I used to be a big like I used to do bass for a bunch of uh for different churches.
I remember I I remember the best the fun the most fun I had playing bass though was like at um at this southern like uh it was like the southern kind of old school like all black church and they used to have like these specific cuz they they play different music than like you know the churches up north, right?
So, you have a lot more um like you have shout tracks and stuff like that where the baseline is just going and going and going and it's super fun. I love it, dude. I absolutely loved playing there. I need to visit when I go back uh to Florida and say uh say hi to them.
But yeah, way different music. I've been to like cuz I I went from there and then I went to like a like a like a a predominately Korean church and then the type of music they play there is very different and then I went from there to where I am right now and they have orchestral music so they have like a a full orchestra and I'm I'm playing trombone there and it's like a a very different experience as well compared to those other places I've been.
But that's the beauty, right? like different cultures, different, you know, different styles of of of worship and all that, but you know, we're all kind of united, which is kind of very beautiful.
Okay, we're going to try using this uh transform. Nope.
Position overwrite and it uses ref.
Is this the one that's using ref?
Cuz it's ambiguous.
Okay, let's find out.
So, I can do like 0 one.
Yeah. I don't know what's the deal here.
How would I call this ref this?
Or if I just have to literally use the utility then what's the point of having this then?
What's the What's the transform position?
I guess I can't use this operator.
That's weird.
After three.
Oh, this is a property.
Okay. I can't. So, I I the ref thing is a real thing. I just can't use it for this.
Well, that's not uh fun. I'd have to make a utility specifically built around using transform instead of a vector 3.
What's your PC spec? Here it is. I got a command just for such occasions. Hey Kieran, what's going on dude? Big day ahead. What's going on? What's the big day ahead you got going on? What's going on Ron?
Georgius, what's going on, man? How you doing?
Surprise to America. Surprise to America.
Let's go. And I don't have the VOB files for the thing I want to burn to my DVD.
So I can't make a video DVD that would work on a DVD player. And converters seem to be non-existent for the most part. I've let 15 years a piss. That's weird, dude. What's the occasion? The occasion is I have the day off, so I have the the luxury and the privilege of doing some development in the daylight.
It's shocker, I know.
I even might even try doing a separate stream outside sometime soon.
It'll be really cool if I can like get um if I can use the fire pit cuz then we can have actual an actual real fire sound instead of uh one from a video on all light.
Okay, so vector utilities is not going to work for us or at least this overload is not going to work for us.
Bummer. But it is what it is, right? So in this case, I just have to do direct assignment.
You know what? I already have this tightly coupled, right?
So what if we just do Oh, we have to be make it contextual position. Oh, I can't just do overwrite Y, transform, write a function, overwrite Y, have it take in a transform, and then do stuff on it cuz it's ambiguous as to whether or not I want to modify position or translation. And I would have to specify overwrite Y position. And at that point, I may as well just do the regular syntax and just do transform.position position.
You know what I'm saying?
Like at a certain point, might as well just do this.
The only thing I don't know is what exactly is what Z position I should be using. I'm assuming just slightly uh forge be fine, but I actually don't know. So, let's just find out. Oh, someone's not happy. Why are you not happy?
Overwrite.
Oh, cuz it's ambiguous cuz I have this overload. Yeah, you're gone.
You're gone.
Or I remove this operator. and we're all going to be happy.
Wait, wait, wait, wait, wait. Why do I have a Wait a second. Why do I have a vector 3?
Why do I have a function called overwrite y that takes in a vector but also takes in a vector?
Oh, I guess. Okay, for the sake of laziness, never mind. I'm not going to question myself. Let's just run it.
Happy day off. Thank you, Tamura.
Oh, it's not about your big day. 9 to5.
Yeah, I mean, it's not I started late.
We're actually starting at 11:00 and we're going to see how far we go. Maybe guys, I should just make this a stream where we finish the game all in one shot today.
Maybe that's just what we do. And I don't know where the asteroids are, so that's not good.
Uh, I'm doing a direct assignment.
Oh, why? Now I need to use Z. What am I thinking?
You have to put the MP3 files on a USB and they do play when plugged into the PS5 3 USB and they can get extremely hot. Uh, yeah, I have a PS uh, it's for your PS5. That's a different story.
I'm using USB for my PS3.
I'm not seeing any of the uh asteroids.
I don't know where they've gone, and that's kind of terrifying me.
Not really terrifying, but it means I probably have some value drastically wrong.
It's okay. We'll figure it out. So, what's going on here, Mr. Asteroids?
I'm assuming that's you down there.
But that only makes sense if there is like a Y offset. Did it not recompile?
Did you not recompile?
I'm using KT Strawberries. Georgius or Gorgeous?
No, I see Gio.
Yeah, I hope you're doing good, Kieran.
Hopefully all is well and you're uh well, last time we talked, you're going through a whole Odin Odin programming arc.
Okay, here there they are. I want to see if they have the actual uh is there a Zfight situation now?
Come on. Okay, here we go. Let's see. Z fight.
No Z fighting. Perfect.
Perfect. That's exactly what I wanted.
So, the flying is very direct now because I've changed how we interpolate.
Um, I think that probably affects how we display the engine stats in the garage.
So, if I go to here, yeah, you see like a huge blip there.
Um, yeah, cuz the engine is much more way more um, so here's the thing, right? I can keep it that way or I can add another thing where we have uh you have the ability to customize your the visual of your ship like the hull and it's just a cosmetic thing. But what if we had that gave them weight and that affects that affected um yeah we we have a thing here for weight. So, what if we use this weight and allow it to affect the dampening on the player?
So, let me look up. Let me let me uh Oh, nice. They sound super good. And yeah, it's Gio. Kind of similar to George, but instead of it, it's Georgie.
Okay. See, my frame of reference was uh Goro Giovana from this uh little historical documentary about the mafia called um entitled Jojo's Bizarre Adventure.
Enums are good for impossible states being on prison.
Wait, what's going on? Enums. Oh, it's you, Tamura. Turmeric, you and Draco have the same color for your uh user profile. Also, I'm like I get confused.
I'm like, "Wait, what? What are you talking about? Draa, I thought you're talking about your USB." Enums are good for impossible states being unrepresentable. Also, it helps with memory usage if lots of states are usually coupled.
Uh, okay. I mean I like using enums for representing states and you can get uh depending on how many orthogonal things areffect affecting state actually not orthogonal orthagonal is like a different depending on different things substates affecting global state you can represent everything with uh the combinotaurics of multiple enums for different state elements I haven't done too much state machine stuff though.
I've used things like stateless before to to manage state and transitions and what's permitted and what's not permitted. But so we have machine and we have acceleration. This is the formula for acceleration where we have like the uh we sample. In fact, we should probably make this more readable.
I do this because really Yeah, we're making this relative to because we used delta time and now that changes it to like percentage. per second. So I multiply by 100 since the normal values from 0 to one. So that's fine.
And I think we're going to have a couple another component to this which is going to be weight.
And I need to figure out how we're going to have weight factor into So we have a current configuration if I'm not mistaken.
Yeah, we have vehicle, we have the hole, and then we can grab weight from it.
And we're going to have what's the relationship we want to have here for acceleration um and weight or I guess dampening which is really what's affecting things. Um no what what is this? What is this?
No a sprite.
Okay.
So, as as weight goes up, they're going to be inversely proportional. I want the speed of the lurp to target speed to go down.
I think that's a safe fit.
So we can do a simple thing and make this be like a instead of just weight make it a weight coefficient and have it be an inversely proportional thing where it's like one divided by whole weight so that as weight gets closer to zero this approaches just one.
No actually no what but Am I think about this correctly?
So the bigger it is, the smaller it's going to be.
Yeah, that's correct with a caveat that this does not becomes less than one.
U I'm pretty sure that should be correct.
So then we have to start thinking about how much weight all the stuff has and we're have to communicate that as well in our um for the engine or for the hole as well.
Enums do not help with memory at all.
Where did you hear that?
Um I mean it depends on the context of what you're talking about. Also, what's going on? Syndicate midday cozy. What madness? I know it's crazy. That's what Memorial Day does to you. Let's see. You know, today C# Syndicate, we're actually So, as we talked at the top of the stream, only the VOD people probably heard this. We had a poll about what I was going to do today on my 9 to5 work 9 to5 work day. And then even though the ASI engine came in very close in second, the people want me to finish the dang game.
Where's the game, Cozy?
So, we're going to be finishing the game today. Or at least not finishing it, but probably getting as close as possible to finishing it as we can.
Yeah. for state information. I like enums. I mean, they're very small. Like, they're very small, discreet things for representing stuff.
Like there's people who use objects to represent or encapsulate it within a separate object and you end up having like a bunch of stuff get packed in there, which is kind of annoying to deal with.
I mean, there's trade there's trade-offs for certain things. It depend I guess it kind of depends on how much down the abstraction rabbit you want to go to and what abstraction you're going to be subscribing to, but it's a whole thing.
When I'm doing my uh application logic though and and dealing with transitions and everything, I just use discrete enums for both state and substates and all that.
Uh, okay. So, we have our weight coefficient. We have this going on.
Beautiful.
No, you're good, Syndicate. Honestly, Sundu, we might actually do some C today, too. But first, let's let's see what we get where we get with this.
Target velocity.
Is there anything else I need to do?
I don't think so. I think we're good.
So, I think I need a Oh, you know what?
I also want to if I'm going to do this, let me go to hull. We have a thing for description.
Yeah, we have this.
There's a reason I'm doing this. It's a dumb reason, but it's a reason nonetheless.
Actually, no, it's not. It's actually kind of terrible.
I probably should uh refactor my um text rendering to actually support new line characters.
We'll see.
Come on.
Hope you guys are having a good Memorial Day.
Oh my goodness.
Oh, wait. I should probably update. Um, we're probably having some We're not. That's weird. We should be having some errors.
So, while this loads, I'm going to go check out our engines.
And then we have the Raptor.
Do you have your weight specified here?
No, that's engine. And I'm looking for hole.
Gotcha. Okay.
So, your weight is zero. We're going to change that. You're going to be like 300 lb, I think. Uh honestly cuz the numerator for our for here is going to dictate where uh kind of where like the the bounds for stuff. I'm in the wrong place. I'm going to player I don't know why I'm struggling to visualize this in my mind. It this is usually super easy, but okay. So, It's going to be one.
Okay. I I can see it now.
So, I'm probably going to want to change this to be like some kind of because the point where weight doesn't affect doesn't or where weight results in like uh in fact I should do like a clamp or maybe a max function.
No.
Also, is this going to be for integers?
I might have to do math f or actually no maybe I want to do a math max in the numerator. Here.
H use obscure me units of measurements for lulls.
Dude, why why even use obscure units of measurements? Just make our own. Dude, this vehicle roughly weighs six goubbles.
Yeah, dude. Yeah, man. My engine my my vehicle runs at six threles per borp.
Oh, you don't know about throbbles per borp?
Actually, it's kind of fun like when you look at the like what the derivative of like position is velocity and then derivative of velocity is acceleration. And you can just keep going through that and you eventually get to stuff like jerk and whatnot.
I forgot there's like a whole bunch of uh there's like levels to this.
There's like a whole displacement velocity acceleration jerk.
There's beyond There's things beyond jerk though. That's a thing.
Is it called a jostle? Maybe.
Yeah. Velocity. Okay. Position, velocity, acceleration, jerk, snap, a j.
Guys, let's talk about the vehicle's j. And a crackle and a pop.
That's pretty fun.
Do you know that a bite is not always eight bits? Yeah, it's like it's terrible. Well, it depends on where what you're talking about, right? Like as far as like language specifications and even like address space or certain OSs, it wasn't standardized cuz things used to be different back in the day.
Nowadays, things have kind of like settled down, but it's still it's like part of the reason why the integer a size for an integer isn't specified for uh isn't like a part of the hard specifications for like C compilation or C++ by extension.
Yeah, it's pretty wild though.
That's why I just use explicit types or at least I prefer using it.
I don't know. I guess there's some places where it's just you just don't care. Oh, here. Here you go.
should probably have a gear thing. But yeah, there's commands for specific stuff.
I'm trying to think through this though.
uh where x is uh the weight the possibility of weight then this is going to go down as it goes up that's exactly what I want the numerator though is what I'm thinking out cuz I'm thinking like if I have an average let's say like set this to 100, right?
Um as it goes up beyond that.
You know what? We're just gonna I'm not gonna try to visualize it mentally.
We're just going to open up Desmos and play around with uh the different possibilities we have here. So, we're going to have like n equals like 100 and then we're going to do n / I don't know x y = n / x and then it goes down like how I mentioned and then stop.
What is What are you Where did this come from? I didn't ask for this.
Every time middle click it does that. I remember this. I don't know why this is a thing. All right. Anyways, and adjusting this is going to change how tight it is and where the point of like where does things equal one.
It f it moves further where this reaches one.
Yeah. Further up. So as we move this down the position where acceleration reaches one gets further back.
I think I want this to be something that's further up.
So I think yeah using 100 is fine. I might make a con of this like target weight or wait or something.
Okay, I think this works. I think this is going to do what I want it to do.
And we can go back here and I'm going to start assigning values for this stuff.
So maybe like the truck one actually be like 400 lb or something. And then maybe the default one is going to be like maybe 100's too big. Maybe I'll make it lower. Anyways though, um this one's going to be like I think probably 200. And then maybe we'll have some other ones that are super lean and light that are like nano fiber or something.
You can use you can use pragmas to control compiler types and type depths.
Yep.
Actually, the types are defined by what's called the ABI application binary interface. It un it's undesirable to use un32 etc. You should use the natural bit width of the processor.
Yeah.
Yeah.
Yeah. I don't know why the postprocessing is not working here.
Yeah. And now acceleration feels less super jerky because uh now we have another component affecting our acceleration profile which is the weight.
And did I imagine? Let's go back here.
If we go, no, not go back to game play.
We go here. Go to the garage. Go to the or not engine. We're going to go to the hall.
We select this one.
Go here.
Yeah, I think it's going to take a while to Yeah, you see it takes a while.
There's a lot of inertia now.
We need to update this so that the the visual gets updated correctly. But yeah, you can feel the weight. But by extension, like it also has a higher amount of health, so it's more durable.
And maybe we'll have like an ultra expensive um vehicle who like uh has low weight, high durability, and it just costs like the GDP of a small country to purchase.
I also want to have some vehicles that maybe have a really like they take a long time to reach peak acceleration, but they're also super duper fast. Like they have a super high top speed.
So, it takes a while for you to get to max speed, but then once you get there, you can just kind of cruise and hold it um for the entirety of the time. in.
But then if you mess up, then you have to go through the process of like building back up your momentum.
Okay, I'm so far I'm kind of happy with this. Maybe I might move our targets center weight like our This is honestly like the lowest weight.
Maybe have a lowest weight of like 50.
That'll be the ultra high-end top model that only takes up about 50 pounds or something.
I bet incrementing int 8 is not much slower than incrementing 32.
Yeah, no idea to be honest.
I think I think you guys are working at uh we're discussing a level beyond what I'm usually beyond what I'm working normally.
Oh yeah, this is taking a while to speed up.
You can feel the weight.
I'm going to probably redo the engine or the the ignition back there, too.
I want the speed at which it updates to be much more uh Oh my goodness, dude.
This is like unwieldly once it gets going. All right, let me deal with the side border, though, cuz I don't like the way it looks. So, I'm going to do a sprite for that.
It's going to be a 32x32 sprite, I believe. And nothing too fancy. Just something that communicates idea. Hey, don't touch this wall. It is not meant for you.
It's going to be blocked. That's whole purpose is just to dissuade people from touching it. It does not like being touched.
Okay. Okay. And then we're going to do symmetry options.
Do that bad boy.
Maybe for maximum contrast, we'll do this as well.
Maybe I should do like a do not enter sign.
No, this is fine. Okay, we're not working on the ASI engine today. We're going to be working on here within props.
Why is it Oh, that's player, not props.
I don't know what to call like do not enter or just wall or something. I don't know.
So for this area over here, where are you? I can see you somewhere.
Here we go.
So we're going to do T- wall or T.
There we go. Drag and drop you on there.
Drag and drop you on there. We're going to use our trip planer mapping thing.
It could be unlit as well. I don't need a Do I have a unlit trip planer mapping thing?
If not, I might have to invent one, which would be quite tragic.
And then per pixel light. I guess we can make it emissive.
Texture top texture texture offset.
Oh, I'm seeing it here. It's just affected by fog.
Okay. Is do I not have a toggle for fog to disable that?
I really should.
I have nothing for missive here either.
Okay.
Let's edit this then.
Uh how are we going to do this? Oh, perfect. We have a No, that's a fragment.
Nothing for fog there.
We're applying this.
So, we have this thing going on here.
Honestly, it might be even easier just to have a uh a thing just to ignore this and just use the raw color.
Um maybe we'll add an emissive thing to this. I think we'll just do that.
Yeah, we'll just do that.
I'm not sure that's how you spell it.
We're going to find out now.
You know what?
If I'm going to add this as a feature.
Yeah, that's not how we spell it.
Um, instead of having a float that indicates the use of emissive, maybe I'll use a color and then use the alpha channel to indicate that.
I don't know. I have no idea, actually.
cuz then we can do like a whole color combination thing.
Uh okay.
No, I think Yeah, I think we'll just use this for now.
I think it's it'll be better just to have an authoritative thing that says, "Hey, we're going to be using this feature.
It's a float.
What's the issue here?
Color base is a float three.
I guess it's expecting a float four. And this is ambiguous.
That should fix that. Okay, perfect. And okay, so that solves that problem.
And I want to make this a boolean.
I forgot how you do that though.
Oh, I guess you just do toggle.
And that's it.
I guess that's all there is to it.
So, I can use Bam. And yeah, we're good.
We're good.
Very nice. And let's make this not blurry.
That's simple to do.
Perfect.
I don't almost want to make this semi-transparent, but that's fine for now.
Spicy wall. Yeah, big spicy wall.
Uh, the trip planer doesn't map up perfectly, so maybe I can't use the trip planer.
Maybe I don't want to. Maybe I shouldn't have something that requires tiling.
Maybe I can make this feel like some kind of uh hologram or something.
Or give it a scrolling effect so that you don't care that it's not t it's not lined correctly because it's a scrolling effect.
Uh, I think that'll require making a new shader, though. I can't use my surface shader.
I'd have to make a a whole new thing for that.
I mean, it's not the end of the world. I can make a variant of this.
I can just yink a lot of the same code for this specific shader.
I'm sorry. What? Okay, there you go.
Oh, maybe this does tile fine.
I still want to do uh a change to this because I'm not I'm not liking the wall.
Okay, so now it's actually correct at this res, but I don't like it.
Like this must be kind of like a like a staging area where it's like all right, you're starting here. This is the area before you go into the next level.
I don't know though.
I'm not too convinced. Let's do both axes.
What can we do?
Maybe I can do like a interlace type thing.
H I also do like a transparent shader so it doesn't seem as abrupt. But again, that'll require a new uh shader for that. I'm sorry. I thought I made a a brush out of this.
Oh, cuz we have the uh the the symmetry mode going on.
Yeah, now it should be fine.
How does Let's just start with this. See how that looks?
A little gearish, I must say.
A little garish.
Let's do maybe fake uh fake transparency.
And we're going to use and not lock off a copy alpha color.
I'm sorry.
Did I not select this?
We're experimenting right now.
Got to eat. Yeah, you go. You go eat, man. Enjoy your meal. Talk the no. No.
Bad touch wall. Bad touch. Bad touch.
Oh yeah, dude. You can see this crazy shimmering effect going on.
I'd have to like up this up a little bit more. Like twice the size.
Also again, is this like having some filtering going on? I don't know.
You know what? We're going to make a shader for this. I think that's just what we're going to do.
Yeah, I think or maybe we make like the level part of this staging area.
I don't know.
Jeez, dude. like a a feather.
Yeah. I don't know. Like what's uh a way you've seen hazards been depicted before? Like a warning hazard or something?
This seems this seems a little too extreme. But I'm not quite convinced with any of the options I've considered so far.
I think we're going to use orange more than the purple.
We can do like the warning things we had before and make it more physically based, but excuse me. I think we need to have more tiles to achieve that. This resolution I don't think works very good.
Oh, let's see. Actually, let's do both axes.
I guess it could work.
a little warning indicator like we've done elsewhere.
It's just the edges are not going to be nicely defined, which is kind of a kind of a bummer, dude.
One, two, three, four, five.
This is five wide.
How well does this You can get one stripe going, but I always know multiple is where things get wonky.
Five might not be the ideal.
One, two, three, four. Two, three, four.
If not, what I'm going to do is just use move this area to be part of the regular level and just have something generated for the intro area every time so that the uh the player consistently has uh enough runaway to um before entering the properly.
Yeah, this is all in an effort to like make it so the player doesn't just when they enter a new level at max speed that they don't enter and crash head on into something like the whole idea is to make this nice and enjoyable and make it feel like you have your momentum. you're able to keep your momentum and the game's not going to unfairly rip that away from you.
But, um, that means there's some weird considerations we have to take into account.
Whoa.
Yeah, my screen looks crazy.
Yeah, it's kind of assault. It feels like an assault on the eyes.
Okay. What if you make all this transparent?
Come on.
Not as crazy.
You know, I think I I would tolerate that.
I think I could tolerate that intro.
Let's get into another area.
Let's try to get to the end of the level first.
Oh, come on.
I think I might also move this indicator to be somewhere on the top cuz the buttons are going to be over here and your hands are going to be covering that for the most part. So, I'm going to move it to the horizontal either top or bottom of the screen.
It's not the most important thing, but it's nice to have that indicator visually.
You know, I think I'm fine with this.
I think I'm fine with this. I think at most maybe I'll try adding like a a dither pattern.
So something perhaps per chance like this and we do just do a fill pattern. Oh, that I guess that doesn't work as well on uh I guess it doesn't work as well on on stripes.
So new idea vertical stripes.
How does that look?
Early stream. Yeah, Kate. Super early stream today.
That pattern hurts to look at. Yep.
I think you're talking about the earlier one.
Yeah, this one isn't as drastic.
Okay, cool. We also need to add some like game field stuff like when you hit things.
I'm currently organizing my database with close to 1 billion data points.
Jeez, that is nuts, dude.
What do you mean organize? Are you processing it?
Massaging them into new schemas?
I go back here.
You know, I think we're going to do I think what I'm going to do cuz I don't want the if the player is going slow, there's no need to set them so back.
So, I think we have reset player. We have this negative 100.
I think what we're going to do is multiply by speed 01, which I think is just total speed divided by vehicle engine max speed. So, the faster you are, the further back you're going to go, but the slower you are, the less further back you're going to be. So, um, that way you're you're not always starting way back there in the beginning. If you're going slow, you can just go directly into the level as you are.
Thank you, Kate. I'm glad you like the main menu.
Yeah, that was kind of that was a a lot of pain to just get that going. And maybe not a lot of pain, but just a lot of extra work that goes against the tools that Unity has provided for us.
But I think it was worth it. And I think there's there's still much more work that needs to be done. But we're getting there little by little.
Like I need to add new data because I realized I was repeating some data I could just put into a new table. Ah, okay. Like I had sectors in every I had sectors in every stock data, but sectors never change. So right now I'm creating a separate table for just S&P 500.
Sectors should save. Oh, that's true.
That's true.
Kind of made my job harder, but what can you do? Yeah, but it's saving. You're saving space.
I mean that's the reason why uh SQL I'm assuming you're using SQL like some kind of structured data organization thing but that's why they have uh the whole idea of foreign keys and tables and all that stuff right uh I know audio is being weird I'm going to change the music, too. So much to do.
Okay.
Yep. I think this is going to work. This works exactly how I have in mind. So, I think we're good here.
Okay, cool.
So, I think this is good.
I think I'm also going to just create another cuz I don't want the player to be able to escape maps. So, I'm going to have like a thing.
The beauty of triplaner mapping. It can just make a huge separate object, but it's still going to tile seamlessly with uh the other object we have there.
Beautiful.
Now I can duplicate it and move it up.
Okay.
Oh.
That's fine.
Yep, that works. I might have to make this bigger, honestly.
But I need to figure out how big the level generations are.
This is okay, though.
I think you work with C#. Yeah, I do.
Um, Barnabas, Barnabas Solomon. Some biblical names you got going on there, man.
Quest DB. Okay, cool. Thought about that after. Just work with SQL a lot less.
Yeah, I haven't done too much SQL in a fat minute.
Yeah, it's definitely brighter, I guess, cuz we're working during the day as well and I have windows open and stuff.
That helps.
I think I'm going to add some more elements in the foreground cuz it feels it's just a static PNG in the background essentially.
So, I think I want to add more to this.
Like for chance a uh some world building stuff. Like maybe there's some asteroids or maybe like bigger asteroids floating around in the background or maybe something some station that's in space.
Yeah. When you're slow and you're building up inertia, it's like super hard, super difficult.
And then it gets so close. And yeah, bam.
Yep.
Perfect. Oh my goodness. I spawned with a rock already like on top of me.
That's not great. I need to address that.
I think I'm going to make a build and put it on the Discord today. Yeah, I did make that texture, Kate. I did that off stream. I wasn't planning to make it, but then little by little I started uh it started coming together.
Um, like I was just watching some videos and just doing some work on it and it just I wanted something that was like temporary but then it started getting better and better and it's not quite done but I think a lot of the ideas I want are there at least for the actual galaxy and then the elements are going to be in the foreground.
Yeah, all the sprite art in the game is I that's something I've done.
Also, we have to fix the tile resolution because for some reason the asteroid field tile is not it's not using the correct filters.
So, I think 128 by 120 should fix it.
Yeah, the 2D game looks so much better than the cylinder. Yeah, honestly, like I'm super happy I made that that decision cuz like I don't think I would have been able to achieve any of these visuals on the cylinder world one. Um, like maybe the tiles I could the tiles I could for sure have achieved that, but it would be a little bit more odd and inconsistent and wouldn't have made as much sense, but the backgrounds the backgrounds wouldn't have been visible at all like that. Okay, we have to do something.
Even if speed is like very low, you still can't start at zero. So, I guess we're going to do this and then do like a math min operation.
negative I don't know 10 maybe or max actually my bad no no no no no no max max that's when I need to use max so early the sun greetings to thee yeah I know good to see you man hopefully have a good Memorial Day today.
Uh, I'm sorry. Did this place me here?
That shouldn't have happened.
Yeah, look at that. I'm supposed to be further away.
Um, yeah.
Okay, maybe -10 is not enough. I have to do like 50 cosmic and groovy. Yeah, but I think we're going to make another level today and then I have the music for that. Or it's not working. It's not working.
Why are you not working?
We're using them. Oh, wait. Negative max value. It's going to I'm dumb.
It's not going to work there. I should use a min function cuz that's the direction we're actually going in.
10 should still be fine cuz zero is bigger than -00 or -10. We're looking for min function here. That's why things were going ary.
That's okay, though.
There we go.
Much better.
Much much better.
Yeah. Look at the Look at the lighting on the little asteroids, too.
I'm very happy about it.
Okay, cool.
So, we have that working.
We have We have a couple things. I think I'm going to work on the high score stuff too to understand like how far a run has gone and then store it and save it. Um, I think we had like a high score thing and if not I have to make that game board.
Where do we have this? It's a mean game, dude.
Nope. Nope. Nope. Nope. Nope. Nope.
Oh my goodness. Come on.
But in the morning, Chimera, it's good to see you, Chimera. Hope you're doing good today on Memorial Day.
Okay, this is what we're going to do.
I'm just going to use my keyboard because I trust that more than mouse gestures.
Okay, loading and saving will happen later.
All we're going to store in here, I think, is just going to be uh I guess a sorted list of what And it's going to have like what date time like a is there any other related information that should be stored in here?
cannot resolve symbol sorted list.
You are a liar, sir.
And then what does this only support primitives? It does.
I'm always doing good. That's good to hear, Chimera. Glad to have you here.
Glad that your Memorial Day is going well.
I need water.
Local thrift store is having a 50% off today for Memorial Day. That sounds like fun, dude. That sounds like a good time.
Oh, it's a T key value pair.
Uh, do I just save this as an unsorted thing and then sort it on runtime?
I mean, it's not a big deal.
It's not a big deal. I guess the question, do we save every single run you have or just save the ones that I think we're just going to save like the top 10 cuz sorting is super trivial for that number of uh entries.
If that's the case, this is going to be fun. I think We'll do a try ad cuz then like if the record is not in the top 10, we're not going to save it.
Um or maybe it could be an integer cuz then we can we can if we add the record successfully and it is in the top 10.
We can have different visual indicators like, hey, maybe you get a bronze icon if it's like number three alltime record or maybe it's like a trophy for gold for number one or you know just a regular thing if it's below that.
But yeah, I think this is going to return that and then negative one if it's not in the top 10.
Um, it kind of sucks though if it's not sorted.
Maybe I should make like a Maybe I should just make this a sorted list and just have this be um but it's kind of redundant cuz like imp placement is just it's just uh you know like it's well it's going to be the score I guess.
So, but it's just kind of redundant. Ah, whatever. We'll use score. It's fine.
It's fine.
I don't think I've actually ever used a sorted list before.
Is it indexable?
I hope this is this going to be the case of like Oh, there's a case where if it's like greater than all of it.
Can I actually I wonder what's the API for this cuz I wonder if you can have a fixed size sorted list and have it if it automatically like purchase additional data. Like I I might I might actually be implementing redundant functionality.
Like let's look at the constructors.
If there's a constructor for like a fixed size, then this might be all we need.
So you can make a new one. You add stuff to it.
It's be sorted based off string.
Capacity of a sorted object is the number of elements sorted list can hold as elements are added to the sort list.
Capities automatically increases. Oh, that's okay. That's a dealbreaker. It's automatically increase.
Well, actually I wonder the capacity can be increased by calling can be decreased or setting the capacity property.
Okay.
That's a maximum upper round.
Doesn't allow duplicate keys. Oh, that's kind of I don't know how I feel about that.
I don't trust this to behave the way I want it to.
Well, actually, cuz it it doesn't allow multiple keys of the same amount. So, I guess we have a design decision to make here. Do you want her scores to allow duplicates?
So, let's say you're really consistent.
Do you want your uh top 10s to just be all your your the scores, the runs that had the same score, or do you want to have it be like unique ones? So, like this is uh your top 10 unique runs.
Maybe I actually kind of prefer not having duplicates fill up the entire thing.
Oh, what's up, Rocker or Rook?
Can you change your name?
Yeah, I got the day off, though. Yeah, we're we're early today. Today's a nice early day.
You know what? I think we're going to do sorted.
I'm out for a bit. I'll be back though.
Of course, Indicate. I mean, it's Memorial Day. Enjoy it.
Oh, brother.
Yeah, I think we're going to do the dup no duplicates route then and have a set capacity of 10.
You know, let's actually test this out first.
So, let's do this cuz documentation is one thing.
Reality can be different, right?
Let's try testing it for 12. Right.
And then we're going to do I don't know. It doesn't really matter.
Maybe a string for all we care.
Um Whoops.
Super dumb. Okay.
And then if sort of count is greater than 10.
Come on.
Memorial Day is a US holiday. It's splendid. Oh, it is. Oh, yeah. Yeah.
Yeah. I forgot you're in Canada, Syndicate.
And probably most of the world, too.
Well, most of the world. Yes. Most of the world is not the US, but also uh Yeah, completely forgot about that.
Hey, man.
Every country's got troops, right? You got to remember them.
Operation bad. Uh, okay. So, yes, it's not hard enforced.
This is not hard.
Or actually, no. Yeah, it's only if it's greater than 10.
So, yeah, I can't rely on this.
I can't rely on sorted list.
So, we're going to do our own thing.
And I think what we're going to just do is uh have a fixed array.
Where is it?
Ah, here you are.
So, we're not going to do this. We're going to do fixedsized array.
What are you building? I'm making a um I'm making a game and right now I'm implementing the high score system so that um your runs can be logged and you can to tell if your run was like a top 10 run or something or a top three or whatever and do some different display on that and also have a UI that lets you lets you see how well you've done in the past and I guess compete against yourself.
So, I was thinking about using a sorted list for convenience, but sorted lists do not behave in the way I want them to.
The size can change and I don't want that. I want to have a hard enforced like, you know, top 10 list. So, we're just going to do our own thing here.
Though I'm realizing something which is the fact that you have to wait if we're going to do a fixed allocate. I don't know why we're going to worry too much about a fixed allocation thing but it's we just have to have a way of indicating like this is actual this is not dummy information.
We can just use comparison against default I guess and that'll be fine.
Oh, do you not have a do you have the implant comparison for you?
I think that's probably what's going on.
What?
Oh, is it static?
No, it's not overload. It's uh I always forget how you uh do this.
I'm matching. Yeah. Okay. I got it right.
Do a recursive call. No.
And then we can just do the most redundant thing ever which is going to be and then this should be fine. So now we can detect if this is default and if it's default then we can just return + one cuz it be like first place or second place or whatever, right? And we're going to assign the provided new record to um otherwise.
Okay. What's going on here? Why can't I Oh, my bad.
So, empty slot. The other case I need to deal with is if it's greater than so if record score is greater than or less than new record score.
Now why are we mad here?
It's private. Oh, dude. Working in Oh, cuz it automatically makes it private.
Understandable.
Oh, you know what?
We have to move things down, don't we?
We have to move things down.
So, it's not enough to be like, "Hey, dude. We found the score.
We have to actually um propagate changes downward.
Uh yeah, it's it's a rider with of emotions.
That's what's going on Sai. What keyboard are you using by the way? I've been looking for something new as I might be starting a new job in a couple months. Let's go. Yeah. So, this is what I'm using. Um, I'm using the Ergodox Python. No, we're using uh Ryder or Ctor storm. Also, what's going perfect day for a daytime stream. Yep. Exactly. Got to seize the day, right?
What's going Domino? How you doing today?
Open my calendar after checking my work shift. What happened?
The American experience. Yeah, I wish we had more. Uh, people need more time off.
What's going on, Andre?
Oh, one second.
Guys, is it okay to use uh to is it okay to use AI to find the sector for 503 stock so I don't have to manually type out and Google what is X stocks GIC sector then type it into insert stock statements.
I don't know man.
I guess it's your prerogative.
There is that temptation for like menial tasks and stuff like that.
I don't know. For me, I'm just have that hard rule that I just don't want to use it at all. But I'm not going to like enforce that on anyone else.
Like I mentioned before, I'm not going to say there's not utility in it. It's just all the other stuff that are bound up in it that bothers me.
So, propagate the changes, right? That's what we're doing. That's what we're doing.
In fact, I'm going to set this to be one.
Thanks.
What did I set equal to1?
What is going on here?
No, cuz it's going to be the first time around it's going to be negative one, but then it's assigned here.
No, my bad.
slot. We're not going to continue out there.
So that means that replacement happened.
And then we're going to set the current slot to the previous slot. So data I equ= I minus one and then continue on our way.
Uh, that should just work except in the event that like except in the event that um that we got a top score.
No, but then again like even at first index, it's not going to go to this path because it's going to be negative one. So, we're still just going to hit here. We found a higher score stat record score is less than new record score. And then we're going to set the placement index to this that.
Oh, wait a second. We have to save the uh assignment till after we've moved everything down.
Okay, I think we're good then.
And then I should probably document explicitly what's going on here.
I don't know how to phrase this.
But it seems like very ambiguous.
Yeah, I don't think this alone is good enough for describing what this does.
Crew pool.
So, I think we're good here. We'll deal with the writing later.
It's going to be the easy part.
Uh, let me catch up on chat.
Um, you've seen people use this keyboard before. Here's how it's different and how quickly you got used to it. Um, I guess it's less so about quick quickness, right? Um, it's more about posture and reducing strain on my hands for like um what's it? Uh, carpal tunnel.
So, in that regard, it's been very helpful having my hands positioned away and helping with posture and all that.
Um, quickness, it's kind of helped indirectly just in that I had to learn how to type properly and use home row and that's made me a faster typer just in general on all keyboards. But, um, I didn't this didn't Yeah, it did kind of force me to because like I used to type in a very deranged way.
Um, aside from that, I also like column uh columner uh aligned keys. So, it's also very convenient as well for that. I think it's more so about convenience and less so speed. I'm actually not using that much custom bindings. Like the keyboard is largely the same as a regular keyboard aside from like the thumb stuff and even then it's not that crazy. Um, so yeah, I think it's it's pretty pretty nice and it's not too crazy.
There's like probably a few buttons that might be a little bit odd, but that's about it.
Yeah, one day.
If you use VI, you don't really need a mouse, but honestly, most devs don't go this hard. Yeah, a lot of people like it's not the end of the world for them.
I just I really I like going fast and I hate every time I have to touch the mouse. So, I've gone out of my way to try to make it as as possible as I I can make it.
We have this assigned there.
And these references references get cached.
Oh, there's a whole thing I have to think about, don't I?
Yeah, I think I actually do want to have these things be centralized.
I'm going to change this to run records.
I think I'm going to this is a general utility. The save data though should not be saved in this fashion. It should be actually like explicitly passed in and received from like the back end.
Uh, I still got that old boomer two finger typing style. M Kirks got pointer fingers flash stepping across the board.
I only type like at 75 words per minutes even while touch typing. Yeah, I'm not really that fast. I think I go like around 80 at most or 90.
That's why I said like it's kind of cool cuz Vim lets you it gives you a lot of speed, but you don't actually have to type. Like you don't have to actually be a super fast typist like your professor who goes uh 200 words per minute.
Like uh it's nice that I can navigate and do stuff without having to without actually needing that crazy speed.
You see, like I suck, dude.
No.
Okay, we got faster today, but not triple digits.
Not triple digits, but um it helps. It helps though, but dude, I think like with Vim with Vim like it does a lot of the heavy lifting, dude, for for navigation, all that. Okay. So, we have this.
Don't need that.
We're going to Yeah.
That's int.
Okay, we got score.
Why are you mad at me?
Method delegator or event expected? What are you talking about? Oh, this is a property, not a function. Okay, perfect.
That's perfect.
And then we have to have a a constructor for dsterilization purposes as well, I'm assuming.
That's fine. We can just do stuff.
It's pretty good. Yep. You play piano?
Kind of, but not really. Um, I'm more of a guitar kind of guy. Andre, I can do some basic piano stuff, but nothing more than that. I do got my synthesizer over there.
I'll top out like 10 less. It's around 80.
Yeah, it's a it's uh that's the thing, right? Like even like with that pretty good score, like the ceiling for how fast people actually go is still way way higher.
And usually for someone who like types all day, you'd probably expect them to be much higher than where I am where I'm at. But but yeah, you don't you don't notice that, right? Cuz so much input isn't typing words. It's just navigating with VIN or i3.
Uh do we need this?
Yeah, we're not doing that.
We're not doing that. So, not doing this.
And you know what? We're going to just I'm thinking in terms of pounds.
Okay.
So, with this aside, with this aside, I think uh Oh, yeah. Did I get rid of the test stuff?
I think I did, right?
Yeah, we're good.
Yeah. Applications. Yeah. Yeah. Yeah.
Okay, cool. So, I guess now the next thing we need to do is go to the main menu and hook this up.
I also have this be set so when the player dies so that like for example, where does the um Where's the coin pickup?
or just pickups I think it's called.
Where's the thing for pickup? Go away.
There we go. Pickup.
We do this whole publish.
And then who's listening for this shop data?
We receive it.
Oh, that's kind of a bad idea. Is it where is um where is the run local stuff being stored?
There's game view UI which is also listening for this.
It increments the coin counts.
Yep. Okay, cool.
So what I need to listen for is when the player dies so that we can like register this to um to that system that save data.
Game over.
Pause disabled.
And then we're going to do our registering of the run there. So, we're going to do No.
collected coins.
You know what?
I'm going to do this.
Cool.
So, we generate this new coin count and we have replacement and then we'll do some different visuals based off of that. So, like we have a special thing be like, "Hey, congratulations. you got your score got you into the top three or you know it's a record one and then oh you didn't you didn't make it to the top 10 so you suck so GG's so we'll do like gold silver bronze bonds.
Um, for negative ones, we'll skip them explicitly and then everything else.
We'll um we'll do something for them.
Cool.
I'm making a t a top 10 um score system for the game right now so that on your runs you can see you can see how well you did compared to your alltime records and go based off of that.
So when you eventually die, you can have your score beyond there.
Something very simple, but still pretty cool.
So, by this point, when you go to the main menu, I'm going to have a thing, another button, so that you know, like the way the main menu works where you can go to different areas of your I want to have a button that zooms in on this whiteboard and the whiteboard is going to have your top 10 scores written down there.
That's the main idea.
I have to make a custom sprite uh font set for that, too. But that's fine.
What's good, dude? How you doing, YouTubius?
Glad to have you back here again. Hope you're doing well.
Remind fired Nightbot for dropping the ball again. You Yeah, Nightbot's been terrible. I think I'm just going to make a my own bot at some point.
Maybe it won't be that bad.
per chance perhaps.
Oh, you haven't seen it yet? Yeah, it's coming together, dude. It's come together pretty pretty freaking well.
I'm very happy with it. I'm glad you dig it as well.
Yeah, I need to figure out some more stuff, but I think I decided to go more with a space theme as opposed to uh a uh like you're in the city theme just to stick with the idea of we're galactic travelers.
Um, one second. Let me get some water, guys.
Be right back.
One second.
Hope you don't mind as well, but I got myself a little snack.
A little snackaroo.
All right.
Any reason why you use that and not something more high-end? Cuz I enjoy it.
It's nice. Spawn is different.
And I have highend monitors too, man.
This is fun to use it some music.
Put on my CD player.
The classic.
What do you got for me today?
Maybe I'll do some more active music today.
cuz it's very ambient which is cool.
But you know per chance sometimes you want to have some I love seeing the word per chance lately. Maybe cuz that meme. Is that a Walkman? No, it's it's just a CD player.
It's not a OG original vintage one, but it works.
Yeah, we have to do something here like display the score.
Yeah, before I even do the the display thing, I want to also have the game over look better.
Health guard position.
All these private vector There is um there has to be a place for this stuff though.
Has your appearance list indicators Maybe I'll hard code it. Actually, I don't know.
Uh, Next.
Oh, I can't make this a con, can I? Cuz the screen resolution can change and screen resolution. Yeah. Okay. We have to do something. We have to make this be like a computer thing. Um, which should effectively kind of act like a const, but I don't know. Maybe it'll be a property that's computed.
So there's current screen resolution width divided by two. That's going to get a center point. But really, I only have three column or two columns that are centered to each other. So maybe what I actually need to do is you have the the center point and then we have to do an offset minus um the half of it. Half of a half So it would be minus this / 4.
Okay, cool.
Stop.
Can I just do this?
I can just do that. Perfect. Then we're going to do this.
And then this not even a game over thing. This just a general coordinate system.
In fact, maybe I'll actually make a few properties for this.
And then we can convert this to be like and the maths should just be and that's a bit more simpler to digest than what we were doing before.
One second.
Uh, what's going on here?
I expect you to have some vinyl records.
No, I sadly don't.
Prep for exams. Have a good stream. You have it going, dude. Yeah. God bless.
Andre, have you changed your setup? Yeah, I've changed like the angle venerable and uh have a green screen now and stuff. So, a little bit different.
A little bit different, but not too different.
Not too different.
You're working in C.
You tubious Perfect. This only happens on transitions. So I have the freedom to actually um move elements around at this stage.
So once I've determined place, I can actually I should probably do this computation first and then we're going to do um we'll do all this stuff first. Actually, these should be activated.
Uh, let's see what I want to do.
I know I have a utilities, but I don't think it's going to work the way I want it to.
It's um I think I have them here somewhere.
slide, but it's actually going to be obscuring this underlying thing. Yeah, fade utilities, which I believe is using uni tasks.
So, I might just convert this to be a uni task instead of instead of a in numerator.
Um, that might be more convenient in all honesty instead of starting a co- routine cuz then I go yield away that thing specifically.
Yeah, I think I might just do that.
And I could just do 208 fake utilities 0 to one.
Why am I not allowed to wait?
Why are you being mad?
Subscribe that too.
That's for shooting and dumping. I don't want to do that. All these are shooting and dumping. No, I don't want to I want to do Am I forgetting how you how you do this stuff?
Let me look at usages. I know I' use this somewhere else.
Yeah, I should be just be able to do Oh, it's async. That's the key word I need to use here.
And what what's the issue? I can't just use a normal unask. I have to actually train something.
What's the issue here?
What?
What are you talking about?
Public. Oh, it has to be static. Is that what I'm seeing here?
Maybe that be what's going on.
No, that that would be uh that doesn't make the problems go away.
Why are we unhappy?
I just noticed. Is that a flip disc display clock? It is. It's a flipper flipping clock.
It's going.
You can even hear it. I'm not sure. It's kind of faint, but you can hear it when it's like clicking a little bit. Maybe usually usually when it's closer to going. But yep, you can see all the flappy parts behind it.
I got it for Christmas. It was very nice.
Hey, welcome back, man.
Oh, so what's going on, dude?
Hopefully you're doing well.
Yep, they're pretty fun.
Yeah, I enjoy them quite a bit.
Yeah, I don't understand what's the issue here.
It's not that like the usage of it. I understand why that's wrong.
Is it wrong because we never return?
Oh, that's that's Oh, it's cuz we use yield.
That's why we use yield.
Okay, problem fixed.
And now we can just I should be able to await this.
What's your problem now?
I do have to use async.
Okay, we're good to go.
Little snafu, but we're f we're fine now. And then what's this component?
What's this?
What else is there?
Um, duration in seconds. Good point.
Probably like 0.5 seconds.
Uh, 2 seconds.
What else do I want to do?
Uh, the loop action. This is what we're going to do.
and final action. Nothing to do in the final action. Just continue on your mayor way.
So, I'll just make this null.
In fact, that's actually redundant.
Cool. So, what are we going to do here?
We're going to be moving our uh what score coin count container. Yep.
We're going to alert between current value and this be our P value. P. And we're going to use we're going be looping to our target which is going to be we have all this stuff here. Uh I guess it's going to be I don't want to keep allocating a new vector 3 for every single iteration.
Score target is going to be equal to uh center column one center Y zero.
Perfect.
And then we'll do the visual display stuff up here later. Let's just see if this works.
Oh.
All right. Yeah.
I guess we can do that.
But no, I want to do something a little bit more robust.
Or maybe not. Maybe it's fine. Maybe we just forget it cuz it shouldn't be interrupted.
I don't know. Famous last words maybe die.
And it's there now.
Also, I think we're using the wrong position.
It's not centered as well. That's another part of this score that we have to keep into account. It's not centered.
Okay. So, we do this whole thing. We're going to be using and we have to scale it up as well.
So SC center Y we're going to be using column two I don't know maybe three times size.
Let's see.
Oh, I didn't do the Okay.
I mean, it's supposed to be vector 3, but actually, you know what? No, we're going to use uh We're going to make this relative.
Okay, that should be correct. Now again, this cannot be constant.
Fantastic.
Okay, run it.
So, it feels productive.
So, we die.
That gets huge, but the offset's a little too big.
Also, the the the score gets reset. I don't know why it clearly collected some values and numbers, but now they're gone. Or maybe they're off screen.
Yeah, that could be a thing. Um, three might be a little too big.
And we have to have like some kind of offset as well.
Okay. Bam.
That looks more reasonable though. It's a little too quick. I don't even notice the uh Yeah, it's like a really quick.
Maybe half a second is like too much or too small.
Closer to a second maybe.
Okay, let's collect the score.
Still too quick, dude.
Let's go to the extreme.
Okay. And we have to make the UI actually be dynamic and move with it.
Am I crazy?
Reimport.
Run it.
the score can keep changing. That's hilarious.
Yeah, I feel like I'm crazy.
Let me keep my eye out on this cuz one Mississippi is not that quick.
Yeah, it's like it jerks really quickly.
It's as if it's like computing this all within a single frame instead of actually waiting and doing this task.
It's very strange duration in seconds.
Yeah, 1 second.
That should be really slow.
So, I feel like I'm doing something wrong with the way this is being scheduled. I'm doing game over and then forget but to observable subscribe.
I should make a utility for like um keeping track of uh or like an overload that just takes a uni task and then does this to observable subscribe and then like only does that if your target I disposable doesn't um is not is null Ready?
Yeah, maybe I'll do that actually.
Oh, come on.
Yeah, here we go.
Okay, it's compiling. Let's see if it gets picked up.
Spoon a bowl.
Okay, I think this should be everything I need to do what I'm planning to do.
Okay, we're going to do this equals.
All right, your uni task.
So in this case, it'll be task to observable.subscribe subscribe and then of course and then all should be happy here I believe.
And then within here now instead of doing this we can just do No, not too observable.
Okay, and that should do the thing I think it I have in mind for this.
Or rather, actually, is this doing it synchronously?
That might be what's going on here. is it's doing it synchronously.
Oh, you know what I need to do?
Actually, this is not going to be a uni task. It's going to be a funk uni task.
Um, is this is this do I have the right idea here?
Am I am I going crazy?
bedious task. Even funky task. The funkiest of tasks. Especially super funky cuz I'm not sure if it's actually if I'm doing it right. That's the funkiest of tasks.
Um.
That's how you know you're having fun.
So we have this, we have this or didn't forget.
So that doesn't work for us.
We can't forget about our problems. We have to solve them. We have to confront them.
I'm cleaning up my workspace a little bit so I can not feel as encumbered.
Oh my goodness, I just closed everything. I guess that's a one way of dealing with that.
Uh it's the shop view, but we're actually not dealing with the shop view.
We're actually dealing with uh game view. Yeah, maybe we care too much.
Maybe I shouldn't care. Maybe I should just just do the thing, man.
Be a rabble rouser. Just do forget.
the ambient track in the background. I'm pretty sure it's like um Here we go.
YouTube.
I think it's like a 195 ambience.
I burned it to a CD, but it's from this guy. Yeah. Retro VX Ambient. So, if you like this, check out this channel.
Super good stuff. Oops.
Um, yeah.
I just have it burned onto this CD, though. That's the thing.
I might put on some more upbeat stuff for today, but we'll see.
All right, we just compiled.
Yeah, I have a couple different CDs with different tracks on them.
Okay, we and it still happens instantaneously.
I'm very much not happy with that.
Um Oh, you know what? I'm What's wrong?
Is it wrong?
No, it's not wrong cuz we're waiting for um let's see here.
We had fade one to zero.
Yeah. And then we do a wait for end of frame.
And this is duration in seconds.
What is the issue here though?
I don't care about the naming rule.
Yeah. So, we iterate until that amount of time is elapsed.
Um, I guess it's going to be using the same delta time every single if it's like I don't know. This is weird.
This is async uni task.
And we just call forget on it.
Am I just crazy? Am I just thinking that 1 second is not is slower than naturally is?
Maybe I'm just a crazy person, but I can't help but feel like I've done things right.
Like, let's make this be like 10 seconds. Let's go crazy, guys. Let's go nuts even and just assume that maybe a second is faster than I think. But I highly doubt it. I think this async stuff is not happening asynchronously. It's happening um synchronously and that's a bad thing. That's a bad thing, dude.
Hey, what's going on, Zero? Good to see you, man.
Hope you're doing well.
Okay, let's see if 10 seconds is any better.
Nope. Okay, so I'm clearly doing something very wrong.
I'm using this component.
We're waiting Yep.
And that's kind of wrong. The whole point of this is that we're not awaiting.
So, I'm scheduling this with forget.
How else might I do this?
cancellation token unaskion from result lazy async lazy here to co- routine. Are we just going to we're going to just do game over to co- routine? Do we just size up all this all this co- routine stuff just to end up making it a co- routine again?
Have we gone full circle?
Oh my god.
That's so dumb.
I bet it's going to work right now. I bet it's going to work.
No, it didn't actually.
Instant.
Instantaneous.
This is so weird, dude.
This is so weird.
Why are you being this way?
Why are you breaking my heart like that?
Is that Unity? Yeah, it is. Snipe.
What you working on? I'm trying to get that game done. I'm responding to uh actually no. I think I was going to do this anyways, but the people have spoken on the poll. And although ASI engine and C was close, we got to finish the game, man. We got to finish the game.
I feel so close to like we're finishing the game.
So close, dude.
So close.
We got so far. Yeah, you couldn't make me suffer. The the JavaScript didn't happen, man.
The JavaScript didn't happen.
The omnim man was his office asking when it'll be done.
That's scary. Project manager Omniman.
Mm- That is terrifying.
Oh, why am I doing one to zero? It should be zero to one.
I'm sorry. What?
Um, that's weird that it was working with the incorrect fade function. I'm not going to lie. That's kind of uh kind of really odd. And I'm We're not going to think about it. We're just not going to think about it.
We're not going to think about it cuz not thinking about it.
What?
I could do that. I made it extended. I could I made it be an extension. That's crazy.
Sometimes I discover things I did and I'm like, "Dude, pass me was so good, dude." What's the game about? I'll show you right now.
It's a flying game.
Right now, I'm trying to get the um trying to get the um whatchamacallit this on game over to go to the right size. And now it's not working.
But yeah, and you can customize your vehicle and stuff. I mean, I need to fix it and make it actually work, but you know, it's an idea.
She's coming together.
A lot of fix though, but we're getting there.
Like the fact that the vehicle is not showing up correctly here. It's okay.
We added vehicle weights today. So, like the that truck we just selected is like 500 lb or something, and it takes a ton of uh time to build up the the inertia to your max speed.
Actually, I'm kind of curious.
Let me try something. Let me swap out the engine for like the max one. The ridiculous stupid one.
Oh my goodness. Oh my god.
Oh my goodness. No one can live like this. No one can live like this, dude.
Maybe if I slow down time, it's like a little bit more manageable, but like Yeah. No, no, no, no, no, no. We got to we got to change that speed curve characteristic.
Any speed. It's not not manageable.
Where's um the raptor?
Yeah, we got to we got to fix that a little bit.
That's a little not right.
It's a little too extreme, man.
Yeah. We're going to add some um what is it? No, not key.
Yeah, you're going to change. Right tangent is going to be weighted and left tangent's also going to be weighted.
No, left tangent is weighted and right tangent.
Yeah. Okay. Yeah. Yeah. Yeah. I got it right. I got it right.
I think curve more like this. I think seems more appropriate. Stop going off to infinity, dude. Or not infinity, but stop.
Stop being weird, man.
Okay, maybe not waited.
Now, whatever.
Oh my goodness.
There you go.
There you go. That seems more respectable.
All right, let's try that out again.
Hey, what's going going on Minecraft, Steve?
Pretty cool, man. Thank you, man. Yeah, I really wanted to uh make everything super diagetic. I just think it's super cool to do that, man.
And make it feel like you're actually in a place souping up your vehicle.
I I'm not sure that curve is actually correct. It should be down.
What?
You're supposed to be at zero, dog.
You're not at zero. You're like at You're starting at like half. No, you're supposed to be Yeah. Yeah. Yeah. Yeah.
Let's rectify that real quick. Oh, they were in negatives already.
Here's zero.
And that is for the raptor one. Okay, cool.
Is that a website yet? No.
I'm still new to Unity. It just takes time, man. Sometimes you just got to get exposed to certain things too.
Honestly, just doing a bunch of different projects cuz like you start building tools for yourself that you can use in other projects and it makes future projects super easy because you're not starting from zero.
You're starting with what you've had already, what you've built, the tools you have.
There's tools I'm using for this when I first started using Unity for the first time, like six years ago, and I just didn't like the way they handled sprite rendering, and I wanted to make it more like uh I wanted to make it more like Oh my goodness. Oh my good. So, this is the ultra inertia based one. So, like right now it's taking forever to start building up any momentum, but once it starts going Oh, yeah. You got to Oh, dude. That's That's You have like no It takes forever, man.
It takes forever.
I don't know who would even use this.
I'm going to leave it in though cuz I think that would be kind of fun to see how crazy people could go.
He's scared. Time stop. Nope.
Come on. Get out. Get out. Get out.
Come on. Come on. Just Just go. Stop.
Stop. Stop.
So, I'm using the a vehicle with like a huge amount of weight.
So, that adds a lot of dampening if I use or if I use a a hole that's lighter like the default one.
I think this one uh yeah, this one starter hole. It has a lower weight of it's like what? 250.
This one's like 400.
So, let's see how this one goes. A reasonable.
No. So, it's still having a hard time.
And I have less health, so I'd kind of die instantly.
All right. So, we have to do something here. Um, yeah, the raptor can't be starting at zero. But we got to start you up at like maybe at 10% or something for you to be feasible for use.
What's going on here?
No. Yep. What's What do you mean? What?
Is it kind of hard or will it have adjustments? Uh, what do you mean hard?
Like making doing games in Unity or the the game.
Okay, that that was some weird bugs we're having there.
Oh yeah, we have to actually select the um the engine, right?
and see how this works. Yeah, the curve seems better.
Oh my goodness. Oh my goodness.
Oh my goodness. Yeah, the raptor is like insane.
Especially with this one. It's like the weights. It's 250 lbs, but it's like it's like nothing to the raptor.
I have to like use time stop consistently to be able to like navigate this to I feel like a fly, dude.
Okay, let's see how it works with an actual normal engine or a normal or not a normal engine, but a hull that's heavier.
Let's give that a try.
Yep. the inertia still.
Maybe I should have wait have a bigger impact on uh on this cuz like I mean we're crashing but this one has a lot of uh HP so it doesn't matter I guess but jeez. All right, let's make it even heavier dude.
Like I want to start with the extremes cuz then everything else can go down from there.
This will be like 1,200 lb.
Hey, welcome back, Syndicate. Glad to have you. The game itself, um, yeah, so I think, uh, you can build the vehicle that feels best to you. That's the main idea here.
Uh, so I'm using a starter one right now.
Yeah, the idea is like you can use whatever abilities, whatever engine, and whatever hole uh fits what you want to do best.
And um, as far as the game itself, I think it's not going to be that crazy. I mean, it's meant to be a casual game, right?
Ah, so this one you can have it at a reasonable as a at a reasonable speed.
You just have to like not hold down the uh the gas the entire time. You have to like feather it, but you get the added bonus of like way more HP.
It's like for this kind of vehicle, I guess I'd be using more time stop in order to make to get the best of both worlds.
It's cool cuz you have like the music.
Uh Why is nothing attacking me right now?
Oh, there's there's hazards.
Dude, this feels so much easier compared to the other level with all the asteroids.
Yeah, I have to make the areas less. Uh, what is this? Oh, it's a Is this a cave?
Yeah, it's a cave stage, but it's using the wrong the wrong display assets. Uh, okay. I got to That's an easy fix, actually. No.
Why does the asteroid have Wait, why did that happen?
Asteroid belt, crystal cavern, beach makes sense. This makes sense.
This makes sense. Huh. Maybe I'm just wrong.
I don't know. I'm going to call the asteroid one done. That That one just works. So, I'm going to put it back to normal weight so other levels can be can be showcased.
This one though, the crystal world should still be Yeah, the visuals are still there for the crystal cavern ones. I don't know why I was being weird.
Very strange.
This was the game I was waiting for. Uh, RT. What's RT?
Silk silly mode, a setting where collisions make the most cartoonish boink nose. That sounds fantastic. You know what that reminds me of? There is that uh video of like uh westerns having funny sounds for pistols.
And I found it to be super amusing last night.
So maybe I'll just do that.
Oh yeah, this one just dies in one hit.
I need to give it a little bit more HP cuz this one's not great.
I want to see if I can get to the crystal cavern one.
I have to be careful though cuz this one dies in one hit.
But I want to see how this starter engine how long it takes for it to get to the very end.
All right, I'm using the test test end length. I need to make it longer or restore back to where it was before.
I want to add some enemies that pop up and follow the player and shoot hazards at them.
That's another idea I need to work with, like stuff that can come from behind.
It's been 30 seconds, I think.
There we go.
I need to make some custom tiles for this one, too. That's going to be very quick.
instead of these.
Okay, we're going to expand the the distance a little bit.
I'm guessing RT goes right, I guess. So, uh let me find that video uh syndicate cuz I I I like it a lot. It was very I've been watching a bunch of old shows and westerns.
Uh, let me see if I can find it. I think I posted off topic.
Okay, here we go. So, bizarre gun sounds from uh, Leonton's Yep. That's how that's how it sounds.
That's how silencer sound.
It's censoring, but your life.
It sounds like a t-shirt gun.
Yep, that's how that works. So, that'll be the silly mode, I guess, with the uh with the um bouncy sound collisions.
6 months ago it was, Dude.
Yeah. Ask Edits. It's been a while, man.
It's crazy how 3 weeks go by super quick.
Technically, it's only been like 54 days of work.
So, getting close to like two months of work if we only count the days where I'm actually doing development and coding on it. But yeah, I need to get this done already. Dude, it's amazing how feature creep works though cuz you just want to make like I don't I just I'm not it's it's crazy.
Like even the simplest of games, dude.
Like if you want to juice it kind of requires way more than you'd expect.
like the game I I'm re I'm making in comparison like took like two months and but that one was like way more simpler than what I'm doing here.
Also, you went through like a little side quest of doing the 3D thing, making it like a a 3D rotation world. So, that was kind of just a bunch of sunk time, but whatever.
Sorry. What did I miss while I was off tab and had stream muted? Don't worry about it. You missed nothing, man.
That's I was visioning. Yeah.
What do you think? Making GTS 6 easier or hard? Uh, I think making GTS 6 is super easy.
Super duper easy. You just take GTA 5 and then you change the number from five to six and you take some mod some person made and just apply it to the game and be like, "Yep, this is GTA 6, dude.
Oh man.
In the middle of the Marriita triangle hidden in the geo geocache guys.
GTA 6 actually came out in the 80s and it's just locked away in Area 51.
All of Rockstar games are just declassified declassified uh documents and CDs from the government.
What am I doing? I was doing something.
I believe I was doing something right.
I'm going to do something very simple.
Uh actually, no. But we're we're still figuring out this thing. Why this doesn't want to work the way it's supposed to.
So if I die, it'll take 0.5 seconds by the way too.
Just saying.
And the value is supposed to go from 0 to one.
So it's actually not iterating.
That's got to be what's happening. This isn't iterating. That's why this one to zero appeared to work cuz it it's it was starting at the first value, but no, it iterated once and then it just kind of blocked.
The reason this is blocked though, I don't know.
Yeah, that's a if there's a blocking condition. There's no blocking condition for this.
Elapse time duration seconds loop action invoke P and then we do a wait for end of frame with a component.
No idea why it's not working though. So, what we can do, I'm going to step away from this for a second. I'm going to do some assets real quick because that seems way more simpler to do, and that's just something that needs to be done anyways. So, we're going to do that real quick.
Super simple stuff. I want to make a asset set for the um for the cave level.
So, I'm going to yink this. Make a new one. Same dimensions. I'm gonna do view. We're gonna do tile mode. Both axes.
Actually, no. I don't want both axes.
What I want I don't need I don't care about tile mode. What I do care about is the grid. So, we're going to show the grid.
We're just going to be in view grid.
Where is it? Where is it?
Am I crazy?
Okay. I have to do grid settings anyways, but Oh, I guess that's just that's it. Okay.
So, we have this like um this level where there's like a cave.
So, we're going to just do that real quick. I'm going to outline roughly where the shapes of this should go.
It's going to be kind of like the rocks from that asteroid level as well, but slightly little differently tell different.
And then I think we're going to have that point be where things kind of loop.
And I'm going to have another area and that's going to be where we're going to have the uh dark tones appear.
I could do a color palette swap. I could do that.
I could do that, but I don't want to.
I want to make something good of high caliber and quality with unique characteristics.
The off-white hue, eggshell white. Um, yeah, just something different, man.
I want this game to make you feel like you're actually somewhere else, somewhere different.
Not the most important functional priorities, but I mean, hey, I want to make a game that I feel happy with.
If I don't care about making something that I feel happy with, we could have got this done super quick. But no.
Oh, dude.
Maybe I should actually learn how to account for opportunity cost and and all that, but it's okay.
So, we have this.
I almost want to add emissives to it, too. Like little gems embedded into it.
What's an arrow to the knee? Oh, no. Not the arrow to the knee.
Got my mom. One second. Hey, mom. What's up?
One second. Got to grab some stuff. Beer crack real quick.
One second.
Oh my goodness.
Yes.
Oh, sweet.
Okay, we're done.
All right, we back.
Oh, yeah.
This game was currently 3D at first, but we decided it was better 2D. That is a thing that happened.
Yeah, I do make some 3D games. There's a bigger one I have going on called Messy Mansion. That's a much more uh larger 3D world.
I'm probably going to go back to work on that game after this one.
Or at least that'll be the next Unity game I work on after this game.
But I don't know. I kind want to take a break. I really enjoy working in C.
So, I want to see if I can get back to uh do a game or two in that. Get my game engine to a little bit more of maturity and then maybe bring it back from a take it from an ASI render and then convert it into like a an actual um engine that supports actual um modern graphics APIs and stuff like that.
I don't know. Maybe I might just keep it software rendered.
There's something really fun about having all shading log logic be done in the CPU, but I don't know.
At the same time, you kind of want to have some performance, right?
Performance is a little it's kind of nice to have it.
Man, Skyrim jokes are so old enough people don't get them anymore. Oh no.
Was that exactly what happened? I thought someone was just joking.
Roger is a ploy by Big Grammarly. Asky game. I want to do the asking you, dude.
The asky game is super fun.
And I already have like so much stuff. It's going to be weird because the ASI game is going to have some like it's I I I'm thinking about having like almost HD assets for it and like HD music and stuff like for pixel games. It's it's weird though, right? Cuz like what kind of music do you use for an ASI game? Like that seems almost like an oxymoron.
Like if you're making an NES type game, then you know you know what kind of music the NES had.
You know what kind of oscillators to use. You know you know what you're going to be using. Square waves, triangle waves, a noise channel, and a DPCM channel maybe.
But for ASI, like there's no music in ASI, right? Am I wrong?
I'm pretty sure there wasn't. So it's like, all right, what do I do?
Just throw in some HD music that already made.
Why not?
Maybe that's just what we do, dude.
You just say screw it.
I make the rules.
Also, I'm thinking about what kind of game I want to make because I feel like if I there's a game I there's a game I do want to make, but I feel like the Asky presentation is such a specific vibe and feel that I almost feel like I'm not making the most of it by just shoving an idea I already have onto that um presentation format.
So, I almost want to make a game that's more oriented around the idea of a terminal and where that presentation makes a lot more sense.
You feel me?
Otherwise, it just feels like something that's just tacked on and doesn't have actual significance in in terms of um like it seems like an arbitrary thing, right?
I don't know. But maybe maybe the world needs some just arbitrary stuff, right?
or things that don't necessarily seem to make the most sense, but we just do it anyways.
I mean, that'll be a first though, right? And ask an actual terminal rendered based um TR or ARPG.
I mean, I can't think of many that are that actually have a action RPG element to it.
Most of them are very static or turnbased.
Um, or the ones that call themselves ASI games are actually just like are still rendering using OpenGL and and all that. And they just have the presentation of ASI, but it's actually not like it's not real. I'm not dogging on them.
I mean, that's that's that that makes the most sense, but like I can't think of anything that's actually just purely that. I know Dwarf Fortress for a time was purely an ASI based thing, but then they ended up switching to using actual um graphics APIs and whatnot.
And the rending with synth uh APIs.
So, I think that'd be a kind of cool novelty.
Okay, this seems all right to me.
Okay, we could do that sprites. We're going to rotate it.
Rotate clockwise.
You're going to go right there. Also, I probably should have made a new layer for this, shouldn't I? Probably should have. We're going to duplicate this.
You're going to be semi-transparent.
And then this one is going to be cool.
No, we're in this one. We're locking the bottom one so we don't modify by accident. Copy. Paste it. No.
Flip it. Move it. Cut it right there.
Okay, cool. Now we have to do the corners and then do the edge ones here.
And we're good to go with this stony looking thing for me with 50 lbs of silly dress up dress up luggage like a luggage fill of dress up stuff or the luggage itself is dressed up uh Toronto Convention Center next to Roger Center. Oh yeah, cuz you went to that uh that that fun convention, right?
Or the anime convention.
I'm very tired of every public center becoming the RBC Seoia Bank public space. Wait, what's going on?
Measuring distance by Measuring Wait, what? Measuring distance by time and weighted by pounds.
Man, just made some perfect rocks. Like, thank you, Kate. Tell your mom we said hi. I'll let her know that she that you guys said hi and that you guys said happy Memorial Day. Yeah, it's a thing.
It's a thing over here. No, you're good.
You're good. You're good. Yeah, I had that moment today. I was like I said like uh I kind of forgot that Yeah, Memorial Day doesn't happen everywhere in the world, does it? That's not a thing in some places. I'll let my mom know.
And thanks, Kate. I'm glad you dig the rocks.
Honestly, tile maps are probably the things I've done the most in my life as far as art is concerned. I've done so many of these things, dude.
Uh, so it's something that uh has kind of become an autopilot thing for me. A lot of pixel art is just kind of autopilot for me at this point.
I feel like I've gotten to the uh I've maxed out that skill tree.
So, I can kind of just autopilot it.
Like with programming, it's very hard to estimate things. But with art, it's kind of it's just kind of deterministic, which is why like uh I don't stream art too much because it feels much more like a uh it's a function input, right?
You get x amount of time, you get x amount of output or y amount of output.
Unless something that's very gnarly or very different, then like the brain comes online and we have to think a little bit more critically. I think for animations, I could think it requires me to be more be more be a bit more present and active.
But I think when it comes to uh static stuff like these structures, it's usually fine.
I'm going to soften down this rock a little. Actually, you know what? I like the the character this rock has, though.
I'm going to make it be a little less pronounced.
But yeah, I have so many I have like a very old YouTube channel somewhere that has like some of my early Game Maker projects from back in the day.
I'm going to change this a little bit so it looks a smidgen different.
Just a smidge a little different.
Okay, cool.
There we go.
Flip them.
Maybe flip them once more.
Oh, yeah. It doesn't really make a difference, does it?
Okay, this works for me though.
Yeah, I'm not going to complain about it. Maybe I'll extend this one out a little bit though.
Also, I realize there's some of these that don't have that still have the old tiles next to them.
So, let me hide this.
Yep, they're still alive.
Goodbye.
Yeah, programming task on the other hand, super hard for me to estimate.
clearly by the that stream where we said we're going to do this in three three weeks.
It's all right.
I guess you get better at it little by little the more projects you do.
Honestly, I think it would have been as bad had I not decided to do the stupid 3D thing.
I It was cool, but also that was terrible. That cost us so much. That was a bad trade, man. That was a bad deal.
Never again.
Okay, cool.
Let's save this as the crystal cavern.
Is it called the track wall or tile? Is it just called tile set?
Okay, cool.
Make this be filled in. Bring these bad boys back in.
Take a look.
It's going be a combination of some stuff. So, I'm going to yoink this. Paste it. Bring it over like so.
Get rid of this.
Honestly, there should be one more. Did I not grab the whole thing?
Okay, I guess we're just going to operate like that. And then I'm going to grab the top half of this one.
Delete the top half of this one. Paste this. Bring it over again until she fits.
Perfect. Then I'm going to yink this.
Copy. Paste. Flip.
Like so.
I may have made a bit of a mistake cuz this should actually That's all right.
We'll We'll figure it out.
It's going to be a Okay.
And if it's not, that's okay, too.
Yeah, I think I'm going to have I need to select less.
Like this amount I think is good.
Nope.
There we go.
Bam. Bam.
Perfect.
We have our tile set.
Good to go. Save it. Uh, let's save it as a PNG. Oh, I did save it as a PNG.
I'm so diligent.
I never would have thought.
And we're going to go to our Crystal Cavern. We're going to swap out the tile set with T tile set Crystal Cavern.
You're going to go, you're going to use the same thing as well.
because the broken tiles set just going to look like rock anyways. So that makes things a bit easier.
And let's also make sure that this has the correct settings applied to it because of course we have to do that 128. Apply.
Go to game board.
Go to asteroid belt. Let's test out this. So, I'm going to make this have a probability of like a thousand. Save it.
Run it. Let's see how it looks.
Wrazi's diligence.
Hey, look at it. We got the rocks. Ow.
Still need to fix that. It's okay. We got We got the rocks going.
Yeah, they look less blue. They look more green with the lighting combined.
But I guess that's what happens when you mix blue and yellow, right?
Oh, look how ominous it looks with the fire red.
Oh, this is so good, man.
Yeah, maybe I'll make the coins more I don't know, maybe more white or maybe I'll keep it yellow.
Oh, yeah.
I'm happy with this. I need to make some specific uh hazards for this level, but we'll we'll think about that as we get more levels done.
It's taking about Oh my goodness. Oh my goodness, we almost got got there.
So 50 seconds on the clock. We're using the starter engine.
I have music for this level, too. We need to get, but we'll get there eventually.
And then we have the rocks, which look different on on the moon or whatever asteroid field we're in. Their asteroids are not popping up for some reason.
And not only that, this is weird.
We're in the asteroid stage, but we're not seeing it's not using the level generation algorithm for that. Okay, that's an interesting bug. Let's see why that's the case.
Let's see why it's not using the correct level generation there.
cuz it works when it's the first one, but it happens on the subsequent level generation.
Select next level.
Okay, we select the next level.
Call the second one here. Play music.
Set background using current level.
Where does the generation happen out in speed force clean up this returns objects to the pool. Select next level set background and then we do level generate, right?
And then we do from here generate beach roll is going to do the beach asteroid all that. Okay.
So that makes sense so far. You're using current level and the correct assets too.
So that's very strange.
One second. That's my Discord. One second, guys.
Hey, Bosnia boy. Welcome to the Discord.
Glad to have you here.
One sec.
Okay, cool.
Are these maps uh RDM?
So they're rand What do you mean RDM?
Like randomly generated or Cuz that's the question. Then it's like it's a bit uh some maps are others are actually using pre-made levels.
Um, so it's a bit and even the pre-made levels are kind of a comp compositing of different stages in the pipeline.
Here's the thing I'm wondering though.
Hey, good to see you. Welcome back. like procedurally generated then yeah some levels are some others are aren't there's some levels like the asteroid field one where it's actually pre uh like designed if I could find it.
Yeah. So there's this one here.
So I literally just designed things uh as an image and then that's used for generating the level.
So, yellow is like the coins and then the red is like the walls. And then I got binding stuff in different ways. And then since we have this digging mechanic, I'm actually going to I'm adding pockets in um in places with tiles where there's actually a bunch of gold. So, if you dig through a bunch of the level, there's a chance you might actually find like these pockets.
So, there's going to be some levels that are randomly generated. There's others that are actually mapped, which is why I'm finding it odd that and even the levels that are procedurally generated, there's different parameters that can be tweaked um to make them a bit different.
So, I can go to the backgrounds work, too. That's the other art odd part.
like the appropriate backgrounds are being used and this is also selection equals current index.
Oh, what's happening there? Okay, so we select something. We do the random selection and if the selection equals the already current one, we okay, we we step to the next one and then assign this current level to that one instead. Otherwise, we do current level equals selection.
I understand. Makes sense so far. And it seems to be working correctly, too. Set background. Okay.
uh we publish that we're doing this.
Then we select a level and then we open up a new thread to generate the actual level provided with the current level that selected. And then here's where we have um the difference and how they're generated. So like for example, we have the beach. So for example, the beach level, it's simple.
It just does a path generation function and that's it, right? It's a single stage operation. Um, but something like the asteroid belt, uh, it loads a level from the texture.
Then on top of that, it populates it with evenly distributed asteroids, uh, across it.
And of course, these functions have different parameters. So I can use the same function in different function uh the same yeah function in another level generation function and tweak it to have specific values and characteristics.
What's going on dude? I don't know anything about programming and making games. I had to join because it seems interesting to me. Always watch live something here out of curiosity.
Well, Bosy boy, welcome.
You're in the right place then, man.
Actually, I'll let Zero type first.
While he does that, let me read up catch up in chat as well.
It's finally a late night cozy stream for you. It's 16:13 here, but normally it's 2 or 3:00 a.m. for me when it's he streaming. Yeah, it is.
It's still crazy hot there.
Sheesh.
It's finally right. Let's get it here.
Turmerica.
Okay.
level level map. These are not being modified, right? They shouldn't be.
They're in the right order.
Let me actually inspect um these fellas.
So, Beachworld has the correct visual. Asteroid belt has the correct stuff.
Yeah, so far it makes sense.
Nothing seems out of the blue here. out of uh out of order.
Thank you, My Cinema Gaming. I'm glad you did it, man. It's fun to use it.
One second. I'm talking about the gym leader system we have. We haven't used that in a while.
What do they call it? The Yeah.
Questions and Cool, cool, cool.
The most nightbot. Yeah, the unpaid intern. Nightbot.
Yeah, but I guess being an unpaid intern is catching up to Nightbot cuz he doesn't always answer the questions. He doesn't always uh appear within a timely manner. So, I don't know. It's the We might have to either get him paid or fire him and make a new bot in the image of Nightbot except better and different cuz it's mine.
Yeah. I don't know what's going on with this bug. This is a very weird issue.
Then we go to the next level.
One second. Toll free call. Nope. Leave me alone.
Leave me alone. I don't want to answer.
So, how is this game like the visuals are correct? It's just this level itself is generated incorrectly.
They have the same the correct visuals.
They shouldn't be modified at all either.
Um is the fact that we're doing the generate level thing the issue cuz that's happening in a separate thread.
Well, that'd be weird because we're modifying model and level assets isn't being modified.
Um, and it's not like we're going to have like multiple things trying to access like you should be able to have multiple reads. It's just writing that should be should not be multiple, right?
But I don't do I require to have like a uh a ref for this.
Well, this is different because this is a strct type or it's an array. It's like it's something that's like not managed. I don't want it to copy by accident by value.
I want to be just a pointer to that thing. So that's the reason I did ref but through this.
But maybe that's the case, man.
Maybe I just have to actually explicitly.
That's the only way I can see that failing cuz what could happen is like maybe it's it's getting like a I don't know. It was No, you'd get a no reference.
I was thinking maybe it's gain zeroed and they're generating the beach world since that's the first one.
Um, that would be my hunch as to what's going wrong here.
But no, we we've accessed this before and it was fine.
Something strange is happening. I feel it. Feels weird. Odd even.
Don't you explicitly pass in like the official type music enter speed force clean up. What does clean up do?
We just empty the pool and return view objects or not view objects but the objects back into the pool.
Okay, that's not crazy.
In fact, it's perfectly acceptable.
So, if that's not the problem here, then I would have to wager it's this for some reason.
um current level and this is level assets.
So it's not like an index or something.
It's actually H.
What's going on here? Can't paid to Z.
Yes, you are zero.
Well, the day the day that uh the day this company the day this company actually gets out of the negative, we'll consider paying our interns.
Maybe like in in terms of cans of beans or something.
Maybe we'll pay you that. Um, let me find it.
Let me find it.
Oh, we're playing with fire right now.
We're playing with Disney.
This is how we're going to pay our interns with some nice good oldfashioned bread. Oh my goodness. No. Look at that.
Look at that.
So much abundance, dude.
I mean, that's not going to be their regular pay. That's going to be their Christmas bonus.
Maybe if co if Cozy Haven Games IPOs and gets a bunch of uh investors and stocks, then maybe you might get bread plus a little bit of beans.
Maybe you'll get that. All right.
All depends on the company's stock, right?
I'm just saying this. You're not going to get your slice of bean until I'm able to afford to purchase a third home.
Okay?
So, until Mr. Cozy is able to purchase a third home in the Bahamas, you're not going to get another slice of bread and beans.
Don't be ungrateful.
Oh, what's next? You want You want an affordable wage? You want to be able to afford some water, too, brother?
Brother, what do you think the sewer grates are for?
What do you What do you think What do you think uh gutters are for, dude?
That's your free chair of water.
What about the yacht? Your right syndicate. I need my I need my yacht.
So, the third house and a yacht. Once we get there, then maybe you'll get a second slice of bread and make a sandwich.
Cut my pots rations.
The mouse's issue is season. Oh no, not the mouse.
I get confused watching. It's okay, man.
It's okay. I get confused watching other people work.
It's just a thing that happens.
Uh, also, La Vegan, welcome to the Discord.
a yacht.
Oh, brother. I think the first paycheck I ever get from Cozy Cabin Games, I'm going to buy a jar of beans on stream.
We're just going to eat on stream.
That's how you know we're going to be living the good life.
Um, yeah. Am I Am I crazy? Am I crazy?
Am I crazy?
They want me to think I'm crazy. I'm not crazy. Level assets is a class. It's going to be a pass by value thing.
Anyways, are they not happy about like the the acing stuff? the fact it's on a different uh Okay, this is what we're going to do just to like really eliminate pos all possibilities of of wrongdoing.
Instead of doing this, we're going to do and then we're going to use we're going to use texture 2D cuz that's the only thing that is potentially important. level map.
Nothing else really matters as far as these alos are concerned.
Oh no, we need more things. We need the probability tables. That's the other thing. Oh, okay. It's three things. Three things.
That's not that bad. That's not that bad, right? That's not the end of the world.
Um, what is it?
We have the texture 2D. We have We have bonus splits and probabilities.
And they're just uh are they just floats? A float array? What? Oh, cuz indices are Yeah. Yeah. Yeah. Yeah. Oh my goodness.
What a joyous day.
This be a float ray.
Get rid of this.
Yeah, buddy.
I love to see it.
You're going to need a little bit more though.
We also need a level map.
So, we're going to fix you real quick.
Actually, do you even need You don't even need this.
Yeah, you don't need that.
You just need uh Okay, beautiful.
Actually, don't need this either. May want to have the probability table. It's probably still useful, but for now, we're not going to do it. Instead, we're going to have the 2D and then maybe a probability table.
Uh, I don't even need this right now.
So, we're good there.
So, don't even need that.
Perfect.
Now, we just have to explicitly pass all that is required to generate a level in.
I doubt this is the issue, but I just want to cover my bases cuz why not? Um, visual uh probabilities.
Actually, no. I think it's going to be Is that how it works or is it down here?
Or actually level level? Okay.
Yeah, we have to modify you as well, don't we?
Okay. And then here we go.
Done.
Okay.
Oh, yeah.
I've been watching your stream from time to time because I really like game development. So, I thought it'd be nice to join your Discord, too. Well, thank you, Leegan.
I'm glad you're able to you're you join.
I'm glad you watch in and get to see some of the process of game development.
I know it's probably not for everyone, but it's nice to hear that there's people who still find it enjoyable or at the least curious to watch it. If you have questions, always feel free to ask, too.
When's the end stream going to end? Uh, when is the when is the stream going to end? By the way, no idea.
Got to go. I need to watch my favorite show to borrow some motivations for the hard tomorrow day and to hopefully finish this today on a good note. Let's go, Tammerica. Well, have a good one and hope you enjoy your show.
Uh, what's the difference between a chickpea and our garb our garbanzo bean?
I've never had a garbanzo bean on my face.
My joke alleged. Not my joke allegedly.
Wait, what?
I don't understand.
A chickpea and a grab onto your head.
It's implying that you had a chickpea on your face. What's a chickpea?
I mean, know it's a bean.
24-hour stream. No, don't say don't say that. Don't you dare say we're not going to be here 24 hours.
Maybe I'll like break up the stream into two streams. One for the day and then one for the uh the afternoon or something.
Chickpea. Oh.
Oh.
Oh, not not this one. No, we're not going to update Firefox. Get out of here.
All right, let's try this out and see if it works. Hopefully, it works fine.
Hopefully, I don't have to do references for everything.
Let's use a really fast engine real quick.
Uh, we're going to use this one. It's a little too fast. I actually have to slow it down with the truck.
Ow.
Wow. There's like a lot of open space.
Okay, we're Yep. And it's wrong.
It's wrong already. I can already tell it's wrong.
It's wrong.
Let me um It's weird cuz it has the right assets, but the actual generation's wrong.
Um, game board debug mode.
What do you have for me here?
What do you have for me to work with?
And it's happening when there's a collision of a type like a when we do the shuffling.
It has the correct level, current level, which is the asteroid belt.
And yet, are we modifying this on runtime at some point?
Cuz it's happening on the valley collision.
So, we have select next level. We have this choose thing. And then if the selection we made is equal to the previous one, we got a new index.
Current level equals current assets.
We index into it. And then the item.
So we index into this serialized weighted list probabilities.
Okay.
What's the issue?
What is the issue here? Also don't path radius is not used but it's happening in this scenario. This scenario is where things go wrong.
But it seems to be working because we have the astro going, right?
Um, the current level there.
How is the visuals visuals handled?
Let's check that out.
I mean, that's the part that's consistently working.
activate the scenes. If we use that, if we use the enum as a yeah, as value type.
Okay, so that makes sense.
And then we have Mr. This gets invoked on level selected.
I'm not sure what that does though and why things are there's probably there is a good reason something is select is uh has selected that. But maybe I should do that after. I guess it doesn't matter because this is happening async.
It's the fact that this works too. So it's not It works on the first couple tries.
It's very strange.
Very strange.
I am quite confusth about this. Also, I may have figured out the issue. This doesn't call a wait. It just does calls fade out. Oh, forget though. So, it happens independently. Never mind.
I don't want to just do forget.
I am perplexed.
Uh quite perplexed.
Okay, we'll just do this then. Um well, it's a separate thread though. Ah, so you can't reliably I can't I don't think log out to work like that. Or maybe I should actually. I think it's only exceptions where things get weird. But why not? Let's just try this.
Oh my goodness. I did nested stuff.
Okay, let's try this out.
What's going on here?
What's happening?
He sounded unimpressed about what?
It's not actually a thing we can access.
The mods can Oh, what's going on?
Oh, the the the mouse clip. Oh, it's a reference to the beans.
I don't What is going on, dude? So, working hard. Beanbased pee jokes.
Apparently, the bean joke. Oh. Oh, okay. Okay. I context has been reconstructed.
I'm sorry. my brain. I think cuz we're doing a bunch, I think I just dump cash like like every time I switch from uh stream to coding and coding just to the or when I switch from coding to chat and chat to coding, I just like flush my cache of memory.
So sometimes I have to go back and load it back from main memory or sometimes from disk. That's why we have this like names written down to certain people just cuz I I forget.
That's like m That's actually reading from disc.
Oh man. Oh brother.
What is going on?
Right. We're going to we're going to regenerate stuff. See cash.
Okay. There we go. Recompiling scripts.
Who's on the list? Just two people from a previous stream that I forgot who they were, so I wrote them down so I would not forget them. One's a Maxis and the other one's Ketchup, who is now known as Minecraft Steve.
Minecraft Steve.
No reference exception. Who cares?
Okay. So, let's see what this says so far.
So, that's the level gen that's happened. Perfect.
Can we go faster?
I need to make the uh I don't know. For testing purposes, I just need to go fast.
All right. And again, we're checking again.
Chris Cameron, too. We're not going to collapse it. I just want to see the explicit structure of when and where.
Ow.
I got more time stop. I suck.
Okay, so now we're in the asteroid level.
So, so far there should have been Oh my goodness.
What's going with the render target?
What's going What happened there? Okay, whatever.
Uh, so we called this twice, beat this level cuz we went first pressed played, went to the menu, came back here again.
That's fine, and requested generation of asteroid belt.
And yet do my eyes deceive me but I am not seeing the asteroid asteroid belt being generated.
I see a fundamentally different thing.
This is in this is in fundamentally incorrect.
And we do the switch statement for this.
So it goes to asteroid belt.
Go here and load level from texture and then evenly distribute. This is a just a different thing.
That is so strange.
It's not like there's a competition for it. No, it's just saying request generation of level asteroid belt at this align 60 right here.
And the enum is right there.
And there's breaks in between this so it's not like they're accidentally going to something else.
What inarnation?
Is it cuz I have this open? Maybe like it's getting some kind of rewrite violation or something.
Yeah, I don't know what's going on with this render set render target.
We're not doing anything with render buffers or anything like that or render.
But yeah, that's weird. I don't know what's going on there.
Um, okay.
Let's just try this again and let's add a little bit more explicitness.
Uh I'm going to just have this be as int.
Yeah, Sonic, man. We're going Sonic fast.
I wonder Sega wouldn't sue me if I were to use uh a sound effect for the rings.
Okay. Moment of truth. Moment of truth.
Moment of truth.
Okay. Fast. Go fast. Go fast. Very fast.
Super fast.
Ow.
Ow.
Yep. It's still wrong.
And it says astro plate.
What?
What is going on?
What is going on?
Get is readable can only be called from main thread.
Okay, so there's an exception that's being thrown here. Okay, so this is okay.
This is what's going on.
This is being a How did it work the first time then?
I guess the first time unload it's it's it's synchronous. It's not through a task.
Oh, well that sucks.
So, I can't read the texture on a separate thread. That's what's happening here. So, I wasn't I was I wasn't crazy.
The stuff was fine. Things are going wrong here because we can't read the texture on a separate thread. Texture 2D type here or actually more accurately here.
We're not allowed to do this, which means I would have to like would locking work or no, I guess it's just not allowed at all.
So what are our options?
I can take the texture data and load it into a data format that is perfectly fine to be read across threads.
That is probably just what I'm going to do cuz it's not that crazy volume of information. So So instead of taking a texture 2D I'm going to have to do like some kind of a cache somewhere binding the texture 2D to uh that format or you know maybe make my own text format and then have a way of converting um textures to my specific format type and then use that to the separate thread.
Oh, Unity, why must you do this to me?
Do you guys know that if you look up disregard now in Google, it no longer shows the Oxford dictionary description because they replace it with AI and it'll respond. Understood. I'll ignore.
Oh my goodness.
Whoops. Wrong word.
Wrong spelling.
What are people saying? Hey, the dictionary pops up here, but it doesn't do the thing anymore.
That's funny.
But that pops up.
That's like the AI definition.
I don't know what's another word.
How's that even possible? Cuz technology just trends towards worse and worse and worse. It's great. I can't I can't think of a word.
Broadnagian.
Yep. and that produces it. But if we go back to uh disregard, you don't get anything. All right, let's try Kaggy now. Let's try Kaggy.
Oh, look at that. Look at that.
Kaggy Oprip gives me the not AI produced definition of disregard.
>> Disregard.
Oh, beautiful. Splendid. Too loud. Bring it down.
>> Disregard.
>> Beautiful.
Google could never. Google could never.
Yeah, it's also responds if you say not now, kid. What? Wait, what are you saying? Rock. Rook.
Wait, let's go to That's kind of funny.
But I just realized like, yeah, I just uh we just uh just we just bowed a cup of water from the local family somewhere in Iowa or something. to get this god of boss.
Oh, that's so dumb.
All right, that's really funny.
Real. Yep. If you'll uninstall Google and resort to sending letters if inquiry to your local college, you'll get better search results. Yeah, probably. Or just not now. I like I like not now kitten.
Not now. Kitten whiskers.
Add AI suffix. Oh, it's cool. I don't have to do that cuz I got Kaggy. Kaggy doesn't need to do that. I just had there's a single button I press and it's done. I don't got no more none of that business. It's good to go.
Oh, we're going to have a day today with uh All right, guys. I'm We're gonna have Let's talk about this because there's some We're going to enter some odd territory. Like we can potentially open up a door, a Nether Realm portal.
Okay.
Um, so like we could do the simple thing of having a PNG for levels for levels and then when we press start when the game runs it takes that and generates like our own format. that and then profit, right? It's going to work in the game.
However, it means that when you ship the game, it's going to have it's going to have uh this uh it's going to have both the texture and then it's going to generate this data, right?
The other option is that uh we don't do that and this is happening on uh so again the distinction here is that we create the PNG for level run game and then it converts to our format and then profit right the difference is that we're going to create the PNGs convert to our format and then run game that means but it's not going to be as simple then right cuz it means that we create a PNG but then have to go into the engine press a button to convert it into our our little tiny uh own format but that means I can probably get rid of the the images from the game on builds.
The thing is though, like do I really want to do that? Do I really want to it's really it's not that much data to begin with.
And this like if I go to that extent, I'd rather just make custom tooling at that point. Yeah, we're not going to do that. We're just going to go option A for now.
I like this game, but we're not going to do custom tooling for it.
going to need an audio clip of Cozy saying not now kittens. Oh no.
What are you saying? Your mommy is a mama circle. At least according to the classic children's shape songs. She's perfectly round like a pie. Your family includes a papa square. Your cousin rectangle and siblings.
What?
I mean it sounds like it's something you read in elementary school.
Oh, brother. Yeah, we're just going to do that. We're just going to make our own level format for this.
I have to have something on that caches it though. So, we're just going to do that.
It's fine. It's not It's fine.
So, what's going to be our data format for this?
Oh, I want to make it a class though, so we don't have pass. It's going to be like a reference thing.
We're going to make it be a um and it's simply going to be like a uh yeah, we're going to do just unrolled. It's going to be straight up just a an array of e entity types and that's it.
It's going to the board. So, board height times.
Yep.
That's all there is going to be to it.
I'm going to have to do a get pixel thing.
And then no simple core to index. Beautiful.
Okay, this is not going to be a model behavior.
How many different module classes? Game module. That's all you are.
Honestly, it doesn't even have to be even be it just could be a thing. It doesn't have to be part of this whole ecosystem. It's just going to be a thing.
Uh, we're going to take in also going to contain like a dictionary.
No, I'm right.
I know I'm right.
Don't you dare say I'm not right. I know I'm right.
There we go.
Okay. Listen item chance level assets.
Okay.
We're going to have a thing for And then what we're going to do is levels for each cuz I don't particularly care too much.
And we're going to do a public static.
My goodness, I can't type. Stop.
Okay.
Um, yeah. Level assets.
There we go. We're going to do something here.
Probably as simple as just doing the nested for loops.
and wipes this and then yeah, in fact, this shouldn't even take a level assets. should just take a level or a texture 2D.
And then the cool thing is I can go to here to my level generation stuff.
You're here somewhere. Where are you?
Level generators. Cool.
And where we do the level load stuff, this whole thing.
Uh we're just going to massage this and move this somewhere else. Or in fact, maybe even like uh call this function or just move it entirely. Level from texture.
Entity from texture.
Yeah, because we have these read only static stuff.
Entity from texture.
Yeah. So, we have this whole this thing already.
So, honestly, I might just leave this as is.
Actually, just move it. Actually, no.
Yeah, it's only relevant here. So, we should just move over there.
And the texture is going to be Okay, we're good there. And then lastly, we're just going to do calculate index.
Sorry if I'm got a little bit focused there, guys, but some you just got to go, right?
return B. We're good to go from texture.
Oh, this produces uh Yeah. Yeah. Yeah.
No, no, no, no, no, no, no.
Close, close.
So, I'm going to probably have a duplicate of this somewhere else.
It's going to return um return.
Yeah. change at the type and then we can just replace this with the appropriate.
Okay, we're good to go there.
Okay, now we have a generate function.
Perfect. And then for this we can just do uh if right here we go.
if texture.
What is it? Use what am I looking for? It's uh oh item and then uh level map equals null. We're just going to return not bother with it.
Otherwise, we're going to add to the dictionary.
No, not add range.
And then finally level data generate.
No, not box map.
Okay, I think we're like good, man.
I think we're good.
I think we're good.
Okay. Rad.
Cool.
And then let's go to FM application and add this Hi.
>> Yeah. Well, what's up?
>> I need help.
>> You need help? Yeah. Yeah, I'll be coming through. All right, be right back, guys. One second. Y'all All right, we're back.
What's going on here? I'm ready for the Scott Foreman handbook for rights fourth edition. And it is interesting or I assume he said reading and it's interesting to see it say what different about what's different about this edition and how they're including things about how electronics and multimedia have started to become commonplace and it's from around 1996.
Oh, that's wild.
In my day when we were wanted bizarre rantings, we'd go visit the local unhoused.
It's more environmentally friendly, too.
I just learned there seems to be a grandma emoji, but no grandpa emoji.
Interesting.
Oh, he realized the mute function was prudent this time. I didn't think it was that big of a deal last time, but uh you never know.
Ever just hear a deranged rant and go, "He's right, but they're out of line.
In what context you see that, dude?"
Also, what happened, Zero?
Is there any weird clips from when you made Cooking Daddy? Probably somewhere.
I don't know, though.
Look this up. I have a triangle. Where is my mommy? Oh my goodness.
Oh my goodness.
I want to know if you if I disappear. I can technically still hear you but can't respond because the metnap one. It's all right.
You had a long day.
So, I think I've implemented this stuff.
I think we're actually just kind of good right now.
Oh, wait. No, we we are not good because we have to pass in stuff.
Um, we can't read textures from another thread. So, we have to do things a little bit different.
So, what I might do instead is pass in um the get level data and let's see if I can just call static stuff from No, not generate. We're going to be doing.
Is this private? Oh, I made this private.
I could try doing some sophisticated wrapper, but no, we're just going to access cache directly and then just do in fact we're going to do we're going to directly index into it with uh level map. We're going to do things in a very sloppy way, but who cares?
Um, and this time you need entity from texture.
Oh, wait.
So, we're not going to do this. We're not going to do this whole actually. We already we already have what am I doing? What am I doing? We have a function for this already. It's in thin data.
that gets a E entity type, but I'll do another one called get entity or we do that whole same switch case statement, but do I not have a function here that turns the enum into an entity? I could could have sworn I did, but maybe I don't.
Either way, we can do that pretty trivially trivial by just doing Yeah, this whole thing.
Oh, there's a name collision. That's why. Uh texture.
There's only like three types actually.
Is there even an entity from?
Yeah, I could just do this and then X and Y and just call it a day.
Can I Yeah, I can and I will.
Beautiful.
Where are you unhappy?
You're unhappy here cuz you're taking that data. Okay, this is very rough.
But I think this is just work.
Anuska. Oh my goodness.
I haven't seen you in a while. Welcome, dude.
How you doing? Miss the emoji bombs.
I'm sorry, Anuska. I have a hard time reading. I get so busy.
I'm glad you like the setup, by the way.
I try my best, but sometimes not enough.
All right, let me just customize stuff real quick. Oh, one second.
I've done I've done goofed. I forgot to do one thing.
I forgot to do one thing.
Oopsie. And that's the fact that the game board manager on awake or start.
You need to try building the uh table.
It's probably a terrible place to make this happen, but oh well.
There should be a list of weighted item chance of level assets. That's exactly what you want. And that's exactly what I'm given.
So why are you being mean?
Oh, current assets. That's a stupid name. It should be just assets.
Why?
These should just work.
Let's see.
Got to sleep. Hey, you get some sleep.
Feel exhausted. Also, when the guitar stream, we need it. I don't know. We'll see. We'll see. Anuska We'll see. I don't think I'll ever do just a guitar string, but we shall see. Oh, come on.
Okay, here we go. This is what I'm talking about.
We did some streams though new scout with music. It's just that I don't think you were there for that.
But it exists somewhere I think.
Oh my goodness, dude. Why am I sucking?
Oh, there we go. Okay, we fixed the bug, guys. We fixed the bug. The bug's gone.
Okay, using that there is kind of terrible, dude. Dude, the relative joystick has too much like variability for oddity, dude.
Describe my style cuz I like to drink a lot. Oh my goodness. What was the music stream? What are you talking about?
There's been a couple on the channel.
There's been a couple music streams or more me but working on music.
I use a bunch of guitar during those streams.
It's been a while though.
So, what are we doing? What are we doing?
What are we doing? What are we doing?
What are we doing? What are we doing? It works, right? It's not pretty. I probably want to do this a bit differently, but it works right now.
Uh, player placement, honor bugs, and level gen thread bug.
Uh, get push B and on return to 2D.
What is going on? Why are you not get push B?
No, not revival. Return.
Oh, this isn't the Okay.
I was in the wrong repository.
I was in a sub sub repo.
beautiful would be so cool too. Yeah. I don't know. I don't know how much people would be down with guitar. I don't even know that much songs. I know like a handful of songs. Guitar is mostly just a tool for like music production, you know?
It's only a tool for just making music or for designing songs or composing songs.
A little bit of coding then literally making code code songs too and you keep on hiding it on what? My voice.
What do you mean I'm hiding my voice?
Anka, what do you mean? What do you mean I'm hiding my voice?
Steampunk clock is kind of YouTub.
So there's at least two of us. Is there really? Oh no.
Your singing voice.
Okay, you know what? We'll do this.
I'm I'm working on a song for like the next game and there's a story for the song. It's like a thing for a character and kind of contextualizing the whole struggle of the game. I did some vocals for it just to like figure out what I'm going to do with it. And there's still more things I need to change.
But here here's a little preview of it.
I did some of the song on uh stream, but I didn't I didn't do the vocals by that point here. Let me see if I can find it.
Where do I have it?
Is it V6? Do I have it on my uh Oh.
music originals.
I think it's this one.
All right. So, this is all you're you're going to get. This is like the Oh, my bad. I tried lowering down the volume.
Oh well.
Might be a little bit too loud for y'all.
Long forgotten love. Do you still recall my name?
I requed love. All the words that never quite happy with it though.
I need to fill this up with a B section and then just going to recomp bring back the theme.
I need to re-record the trombone parts too.
Long forgotten love. Do you still recall my name?
Unrequited love. all the words that never could be.
>> So yeah, that's the uh part of the idea.
I guess that's a draft of it right now.
That's going to be for um so the story for this game is that I'm still ironing out and it's like a fairy tale kind of book where it's like um like Alice in Wonderland almost in terms of presentation but the whole idea is that for some reason this dude's wife has been frozen into stone and he's been trying to find a way to like restore her and a lot of time has passed and even though you know he's grown older and his children are growing a bit too and he wonders even if he does save her or return restore her from stone is she going to remember who he was you know is she what state is she going to be in right and why is he even doing it there's a whole there's a there's things for that but that's one of the ideas I have in my idea book and this can be one of the the the the theme I'm going to use for like the trailer and main menu and stuff like that. Maybe without the vocal for the main menu.
But for the trailer, yeah.
Yeah, it's very jazzy, Kate. That was the the vibe.
Oh, thank you. Yeah. Thank you, Cindy Kitten and New SC.
I don't know. I might I'm probably going to I'm still debating. I might get another vocalist to do the leads for me, but at the very least, I need to have something to see how the idea sounds and then and figure out how it should be like like what notes I want to have happen, right? And once things get finalized, then I can like get uh meet with the vocalist and get some lines recorded or something.
But that's the most you're going to see on stream. I'm not going to sing on stream.
Good. Glad to have you here. Of course.
Yeah, zero. I thought you're a new guy for a second just from the emotes.
Oh man. A great voice and you keep hiding it. I don't know, man.
I feel very self-critical about my voice.
I don't know.
I don't know. There's also like the tambber, too.
I'm not sure what kind of uh like style would work better for my vocals.
No idea.
Did I not commit this?
I thought I did.
I guess I didn't.
But yeah, I'm excited cuz like there's a bunch of So, you don't see it on camera, right? But behind me there's a whiteboard with a bunch of papers with designs and concepts for that that game idea as well as for this game, too. But, you know, there's things you just got to let cook in the oven for a little bit.
Now I also have to think about is it going to be a fun game as well.
Even with this game, I've been realizing how hard it is to make a game that's actually fun. I'm not sure if I've achieved it yet. We're going to do a play test sometime soon.
Um, yeah, we need to do a play test on this actually.
Uh, whoopsie. I didn't mean to do that.
Come on. Why do you got to do this to me, man? Now I have to go here and do another project task.
But yeah, as far as vocals go, we'll see. There's also the anime project we did last time. Yeah, play test zero. I think the game is already in the state where I can do some play tests just to get some feedback from people. I want to keep it small though. So, you know, if any you guys want to do the play test, just at me in Discord and I think today I'll upload another build online and then send you guys uh a private link.
It'll be a web version, not the app application version. But I can also there's a way to deploy it too through Google Play Services. But in fact, it would be better.
Ah, okay. The thing I'm really concerned about is mobile, but we can test computer as well. Or I guess you guys can play the game on the web browser too, but that's a bit different, isn't it? A little bit different.
garage.
Call me in. All right, I'll at you zero.
I'll send you the stuff.
That's the word of the day, kids. The parts of your voice that makes you special, unique, and valuable as a singer. Uniformity is boring.
That's true. That's true.
That's true.
should be a little loud in the mix.
Yeah, I kind of have a propensity to down mix my voice.
I also need to find a trumpet player. I record the trombone cuz, you know, I can play it, but there's way more uh instruments I want to have in the song that I can't play.
And I need to figure out something. And I don't want to use a VST or plugin because it's going to sound artificial and canned. So, I'm not I'm not I don't like that.
I see the red cups. It's just water.
It's just water. I don't drink alcohol.
It's just water.
Well, right now, nothing. It's empty.
Oh my goodness.
Oh my goodness. They're speaking French.
I don't understand. I think everyone here aside from you, Anuska.
You're you're in uh you're in Egypt last time I recall.
Are you sure that's water or vodka?
Dude, that would kill me, dude.
I can't vodka like that.
We're going to do the high score thing, too, right? That's the idea.
So, we have the shot view. We need to have the high score thing. You know what we need to do before I even get to do that? We need to make a font for the board.
Text.
What did I call it?
Yeah. Alpha digits and then Yeah, they have this whole thing going on.
Alpha digits and then alpha digit big.
Yeah, I need to finish the this dang gang though cuz I can't I can't play uh I can't I can't work on music until I get something done, dude.
It's true. I can't I simply cannot until this game is done did it.
I cannot done do another done project until I done did done this project.
You know what I'm saying?
You know what I'm saying, Sunny?
No way. You don't remember my ethnicity?
What? My ex is Egyptian. Oh, I thought you said you were Chinese cozy now.
No, not Chinese cozy.
That's a different branch of cozy cabin games.
Then correct me. What? What? What exact What is your ethnicity?
You can still speak some French though, right? Either way, love what you said about the boys. Yeah, very poetic.
It's possible to fail French. You could fail French like in school or in life.
That wouldn't surprise me. Okay, we're going to do this. Actually, we have to do this anyway cuz we're this be writing on a whiteboard. So, we're going to make this try to make this look handwritten.
And in fact, I'm going to make a new one of these. I'm going to make it semi-transparent.
And then what is the resolution we're even working at, dude?
Dog.
Okay, how many? Let's count together, guys. One, two, three, four. I could just do It's eight. It's eight. So you have 224 / 8 grid cell 224 / 8 and then is it eight again? We actually have to count for this one. One, two, three.
Am I counting?
One.
This is messing with my head. One, two, three, four, five, six, 7, 8. Okay, this 8 by 8 and it's what? 368 / 8.
368 / 8 368 / 8.
Splendid. And now we can do some handwriting and make this feel like now you guys are going to be able to forge my signature whenever someone data mines this game.
Uh oh, I have to do some stuff.
>> Uh, what's going on here?
My channel is just poorly recorded karaoke. That sounds honestly fun.
All of Canadian school and not learn French. They just pass you along even if you don't know anything. Wow. Oh, that's the context for why someone can fail French. Cozy Lily said she would play test your amazing game and add. It's fun to write bug reports and break games on purpose. Beautiful. I will add Lily to the list.
Let me I'm just gonna start I'm gonna go into the Discord and start just writing names without any kind of prompting.
So, we have Zero and Lily as volunteers for play testing.
Beautiful.
Splendid even.
All right, guys. Welcome to the class on how to forge my signature. Here you'll be learning the amazing Oh, wait. First of all, I can't do this until I do the wake cam. The whackom edit. Anyways, I don't care. X wake cam.
Wack them. Woo cam.
Okay. Can I Can I Woo cam? I can't Woo cam. Why am I not Woo camming?
Hey.
All right, guys. Welcome to class.
So, first to forge my signature, you got to learn how to be left-handed. That's a crucial step of this.
If you cannot be left-handed, then you're disqualified. You don't get the luxury of taking out auto loans or something in my my name.
A little bit wider. There we go. Nope.
Also, we're not going to do dithering.
Let's not do that. I don't want dithering. We're not going to do that.
I'm simply just going to do I don't know size and that's it.
Oh, that's a little too big now.
Okay, this should be max transparency.
Okay, here we go.
It's forging time.
So, uh, you want to make things very claustrophobic and tight, very uncomfortable.
Honestly, this is a really good day for me, man. I'm riding pretty dang good.
Look at that.
Are that not a greatest font?
All right.
Bam.
Bam. That looks like a G. We're not going to do that.
A I see the font we have on the back the the eight seg the segment display thing and it just looks terrible.
Just looks like a bad time.
Oh, my mom did something.
I'm going to tell her I'm proud of you.
I'm proud of you, Mom.
What was that beat? That's my phone.
It's very stress inducing.
That's why you need it.
I don't watch sports. What sports you don't watch? All of them.
Although I am Canadian. I like to stay out of drama. Therefore, I have no opinions on hockey teams. Oh my goodness.
Also, hearts out in chat for chat for mom. All right. Also, I'll let my mom know that the people are proud of her, too.
And I'll let her know I'll let you guys know guys know what she says.
E F and then G.
Yeah, we're not going to do any anti-aliasing. Anti-aliasing is for freaks, weirdos who want to have smooth graphics.
She says thank you. She said you're She said thank you to the stream people.
As someone who can't make music or don't know, this is nice. Thank you, Rook or Rook. I appreciate it, man. Also, sorry, dude. I keep uh I keep losing track of horizontal chat.
still focused with the the the stream of info from the vertical chat.
Okay, that's that's a really rough M.
That's still pretty rough.
Okay, gentle.
Gentle. And then big and down.
And we don't care.
You can like randomly call someone.
Wait, what happened?
Cozy. Just write your full name in a signature format.
All right, guys. Here's how we how how we sign my name in the DMV.
All right.
When I go to the DMV, I write my name like this.
There you go.
This Z doesn't look right. That Z don't look right.
Oh yeah. No, my my legal name isn't Cozy Cabin. It's Cozy Guy.
There we go. That's my legal signature.
Unfortunately, how I'm how uh Unfortunately, you know, now everyone's going to be able to forge my signature and I don't know, take out loans in my name.
I was scared for half a second. I'm glad.
A nose and an eye. Full name. Yep, that's my legal name. Yeah, cozy guy.
Hello, buddy from Morocco. Good job, bro. Thank you, host name.
Thank you from the land of not Morocco.
Hope you're doing well today and thanks for popping into our stream and hanging out. There's another chat that's going on in the side. So, if you see me addressing people who don't exist, they exist. They're just in another chat.
They're in vertical land on the channel.
I have a vertical and horizontal stream for the convenience of the people.
Yeah, I need to I need to write as if I don't care. I care too much. I'm respecting the boundaries too much.
I have to I have to This is the writing of an engineer in game.
They have to not care.
Why? Oh, I still have some from from this.
All right, we got it.
exclamation marks at the cash money symbol.
Cash money that dude should I just make my own font and use it for my code my my ID What is this? Wait, what is is that an amperand?
Is is that how you do a a What?
That's in the wrong way, too. What is It's okay. I'm just going to pretend it's amperand. I'm assuming that's what it is.
You know, maybe I should write my own text editor, guys.
Like, why use Vim when I can just use my own text editor and my own terrible font and my own uh you know, actually, you know what? I think I'm actually going to make my own font for real.
I think I'm just going to do that.
I've gone through the trouble of writing this. I might as well just do it.
I like how I gave up with the at symbol.
I said, "Ah, it's close enough."
Ah, it's close enough.
All right, let's put this in the game.
in the game.
Game board props.
Garage.
Where's the shop? Or is it just garage gameplay game data concepts fonts? Nope, not in that folder.
Uh, did I just actually put it in garage or?
I guess I did.
Where is the um This can't be it. There has to be What is going on?
Where is it?
There's a place here. Isn't home.
Why do they organize this so terribly?
Where am I? Who am I?
I've done messed up. Aa Ron.
Yeah, screw it. Let's just go in here.
Histogram.
Yeah, it's just going to go in here.
T it's going to be called MI font me.png.
That's what we're going to call it.
Just me.png.
And wait, it's in concepts. Why did I put it in con? What?
What is wrong with me?
Why did I do this?
Alpha digit big.
Was I high? Like what is going on?
All right, I'm just going to move this into the font folder. That seems more reasonable.
Did I just miss the con the font folder and went to confess by accident and that's how we got to this place in life?
What is going on?
Okay.
Well, this is good to know.
Let me catch up in chat. He's likes to be called an uncle. So, wait. What's going on?
My arm. Your arm looks great today.
You're talking about my arm.
I use MS Paint as my text editor. That's a splendid.
You zero, you're on to something. I should use MS Paint as my text editor.
Host Nan, what's up? Uh, who die?
Uh, we got in the golly hely heck.
Who's going to the holly? Golly holly heck.
Bro, the vibes coming out from that 90 screen is damn impossible. Bird sounds and pixels dancing around the screen, man. You got me. Let's go. Host man or host name. I'm glad we got you, dude. I mean, a lot of this stuff there's a lot of It's not as convenient as it may seem, but you know what? It's worth it.
All right. to have a vibe and a space that feels cool, comfortable, and ultimately cozy. That's the That's the goal here, man.
That is the goal here today.
Cozy, what's on your history tabs? Why does it keep coming up by history tabs?
Where is my Where's my Where's my browser?
All right. Here's my history. Here's my history tabs. That's bookmarks.
history.
Here you go. Here's my I've been exposed. Discord, YouTube, Kaggy, Google, ill, disregard, bizarre gun sounds.
Uh, 195, Desmos, jerk physics.
That's the only thing that sounds suspect is jerk physics. It's a physics thing. It's a physics thing. This is it's it's about it's a derivative of uh it's a derivative of acceleration, right?
Is that what do you think?
Uh what else you have in our history?
What do you got here? Desmos Instagram X code January. I mean it's mostly same stuff. Instagram X Microsoft Elser.net. Okay. Someone was asking about that a long time ago.
Yeah.
It's too obscene.
Sure.
Totally. Dude, it's a physics thing. He must have cleared it.
I'm telling you, man. I'm innocent.
I'm innocent, man.
Uh, alpha digit game data. Where is the font or the text?
Here we go. Alpha digit.
And there, what is their sprite count?
61. minutes 8. Where where are you located?
You're in the garage.
I'm putting you back into fonts where you belong.
And then we're going to duplicate this one this time.
Me.
Oh, this requires a material too, don't you? Oh, yeah, you do. Oh, yeah, you do.
Okay, you're going into fonts as well.
Fonts.
Okay, we're going to duplicate you.
Okay. And this time we're just going to be using What is that?
Okay. And then where's where's this texture at?
You're going to uh font buddy pal comprene and you're going to be like 512 or something I think.
We should be good there.
Perfect. We have our font set up. We're good. I think we're just we can just send it, dude. We can start uh implementing. It took all that just to get to the starting line.
Heading to work right now. Have fun, y'all. Full stream ahead. Yeah, man. You have a good one going, dude. He clear history before streaming, I guess. No, no, no, no, no. The history is there.
What do I got to do? I got to bring out have to go to the ISP and print it out.
print out my uh my report or record.
I have seen his stream and he is handsome. I agree. No.
Genuinely, I don't know, man.
I I don't think my people are here for me, dude. They're here for the TV.
They're here for this view, man.
They're here for the vibes.
Plus, it makes editing better. I hate editing my like videos where my face is in it.
I hate uh it just I don't know. It's just something weird, man.
Like when you see your face a bunch, it just kind of it's odd.
Especially if you're editing a video, it takes a long time. So, you're just staring at it and you're just hyper.
You're like, "Oh my goodness."
But it's just a TV. It's not my face.
It's just It's just It's just a video.
It's It's something different separated from me.
It's a whole new thing. Where is the um I need to find something here. You You No.
Stop.
I'm selecting you. No.
Why won't you let canvas view description? That's exactly what I'm looking for. I'm going to yoink you and you're going to go somewhere.
Pardon me.
You're coming over here, buddy.
I hear you.
Darn it.
I should have just made this quads instead of using a stupid uh screen world space canvas.
I should have just done Ooh, whoops.
Didn't mean to move. You um but yeah, I should have move done that with this.
Got another interview. Good luck, Draco.
You have a good one, man.
for your ISP.
Uh, I like staring at your elbows. So, how do what do you elbow routine doc?
What are you talking about? Can you see my elbows? Can you even see it just like a second?
Break a leg. Yeah, Draco. Break a leg, man. Hopefully, you walk out there with two broken legs, dude, and a job.
That sounds like a bad time.
I don't know. Trade-offs, right? Trade alert. You get a job, you also get two broken legs.
Like, instead of walking like this, your knees are going to be bent like like this.
Oh man, what are we doing?
I need to make some shorts again, dude.
I've been slacking on making shorts this past few two weeks.
Oh man.
I just It's like outside of informative stuff, I don't know what to clip from streams. I don't know what the what people find interesting or funny or whatever.
I don't I don't understand the people.
I'm debating really hard right now if I'm going to keep using line renderers or if I'm going to just say screw it.
We're in this household, we use quad meshes and quad meshes only.
It's very difficult. It's very difficult.
cuz they're spaced using uh I understand why I'm doing it this way. It's cuz they're spaced in a very convenient fashion and it's very easy to configure it cuz you have what are they not spaced using uh what are you lying to me? You are Hark. Wait, so I'm not using the vertical layout group or horizontal layout group for sizing this out?
What's the point of doing this? Why did I do this?
What happened?
There is no way. Did it get removed? Is that why? Cuz I I I violated the I violated the oath to keep it within the canvas render.
No.
It's there.
What title?
I guess not.
I'm sorry. What does it what I've been?
Wow. Wow. Wow. Wow.
All right.
I um What?
What are you saying?
What are you What is going on here?
What is going on here?
Well, who?
There's Did I Okay. You know what? I'm confused. I am I am confused.
I'm confused. I don't know what's how why. I'm just going to I I'm just I'm just going to I'm just going to copy this. I'm just going to duplicate it. Okay.
We're just going to I'm I'm going to stop questioning. That's the problem I have is I'm questioning and I want to understand and I want I'm assuming things are going to be consistent and they're not.
So instead of trying to order things, I'm just going to, you know, when in Rome walk like the Romans, right? Do as the Romans. I'm just going to We're just It's gone. This this is just gone.
These are gone. Maybe that stays. I don't know. Raw image that's gone.
You are going to be moved over here.
My confusions are going to stay confused.
That's not changing. We're going to remain confused for the time being. I will scroll this or scale this up.
We're just going to stop questioning.
The problem here is thinking. We don't think. We stop thinking. That's what I need to do. I did something weird here.
We're not going to question past me. I totally had my reasons right.
We're not going to question the chain of command that is past me. It is fine, I think. I don't know. We're going to see. even find out.
One, two, three, four, five, 6, 7, 8, 9, 10.
I have to space these out.
You mess it up.
Why? Why?
Why? Why?
Why are you What?
Um, you guys are fine, but you are not. Why are you not?
Uh, okay.
Oh my goodness. They each have children.
Why do you have children?
Okay, we're just going to get this line working first and then we'll let them have children.
This is This is I'm okay. I'm okay. This is fine. Everything I've done so far is totally fine.
This will be okay.
Look at that. Doesn't that look like riding on a board now? Beautiful. You'll love to see it. Um Okay.
So far so good.
I wonder if I have enough for It's fine. This is fine. This is fine.
This is totally fine. Oh my goodness. We have to use a horizontal layout group.
the way I'm going to do it the way I thought it should be done, but apparently I didn't think it should be done.
Left.
Wh Why are we Why are we wrong? Why is everything wrong?
I'm being stressed out right now.
Oh my goodness.
I'm going to breathe. I'm breathing.
Breathing is good for you. I like breathing.
Breathing's fun.
Gosh, I love breathing.
Okay.
And then spacing is 12.4.
Okay. We're good. I'm happy.
This is what happiness looks like.
I don't I I don't think I could do a top 10. One, two, three, four, five, six, seven, eight, nine.
It goes off board.
Darn you, Dinkleberg.
Okay, this is fine. This is fine. I'm fine. I'm so fine. I'm so fine.
This is good.
Mhm.
Super good. Super good.
I'm going to make a script for this canvas. Oh.
Camera went out. Let me catch up in chat. My bad. What is a kilometer? It's contagious. And bear god confusion.
We're all confused, dude.
What is a honeycomb? Is that a honeycomb that looks like zeros together? Either way, looks cute.
We will let them have children.
Will this appear after stream and be lost like tears in a rain? It's not. The the chat's actually saved in in stream vods. You can go back to the VOD and there's a button and you can see the stream chat.
Everything is fine and normal.
Why live chats don't stay? I think there's a feature where Gosh, I love breathing.
He also mentioned he likes breathing.
That's true. I do like breathing. Also, what's going on Grandalizer?
When are you releasing the game? Making the yellow box bigger. Um, I'm probably going to be releasing the game probably like this month. We're not this month. It's almost June 30. I'm hopefully end of this month, beginning of June. I mean, we're like 90% of the way there, I think. I just want to play test and get some people's feedback and then do the things needed to make the game actually fun or adjust it to be more fun cuz the game's already fun, right guys?
Right, guys.
The game's already fun.
Um Oh my, I got scared. I thought the the computer froze.
Okay. So, what are we going to do?
We have a thing here called sprite text render.
You do something apparently.
I don't know what you do exactly, but you do something being saved. Maybe you can because it's your channel.
I don't know you guys if you so you guys try it out on one of the VODs and let me know. I can always like export the the the stuff back out or some or do a parser or something so that they uh exist.
That seems like a lot of information to store on YouTube. Maybe not a lot, but it's extra information to store on YouTube's part if they're not going to make it publicly accessible.
Yeah. Yeah. The only thing that's tricky is there's like two there's like two um buttons that kind of look the same.
If memory serves me correctly.
Sprite texture. Sprite texture.
I have this flavor text there.
That's funny. So, we have a sprite text render for the description.
I need to do something with this. Every time it reads sees a new line, it should go to the next next um value.
Set info.
No, I'm not setting info.
All right, I'm going to take a break, guys. Maybe I'll do another stream tonight, but I want to grab some food, enjoy the outside, touch some grass while it still lives, and uh maybe tonight we'll do another stream.
But Chance doing some more work on this to get it ready for a play test.
Or maybe I will just do some Spyro or some CDEV.
We shall see. But hey, thank you guys for popping in for some deving, some morning deving. We got quite a bit done for uh five and 5 hours and 40 minutes.
So, we will be touching grass. And until next time, God bless and stay cozy.
Bye-bye.
Related Videos
U.S. Military Just Flexed The Most Dangerous Aircraft Ever Built The F-47
MaxAfterburnerusa
11K views•2026-05-29
Heating Staying On On The Hottest Day Of The Year
PlumbLikeTom
507 views•2026-05-29
발전 효율을 높이는 태양광 추적 시스템의 기술적 원리 #공학 #공정 #태양광 #알고리즘 #재생에너지
찐현장기술
2K views•2026-05-29
Peterborough to Newark Northgate Driver's Eye View aboard an InterCity 225 - East Coast Main Line
TrainsTrainsTrains
822 views•2026-05-31
AI turbine design: hypersonic cooling leap #shorts #ai #hypersonic
bobbby_rn
671 views•2026-05-31
직관 및 곡관 배관 결합 고정 작업 #worker #process #fabrication #pipework #clamp
월드촌촌
2K views•2026-05-30
How Far Can A Tomahawk Missile Actually Travel?
WarCurious
13K views•2026-05-28
Wire To Wire Connection Trick | Strong And Secure Electrical Joint #shortvideo #wireworks
ElectricianTips-b1h
5K views•2026-06-02











