2D isometric projection is a rendering technique that creates a 3D-like visual effect on a 2D plane by projecting objects at a 30-degree angle, commonly used in strategy and RPG games; the key challenge lies in correctly calculating the inverse projection from screen coordinates to grid coordinates, accounting for tile dimensions, sprite heights, and origin offsets to achieve proper mouse interaction and highlighting.
Deep Dive
Prerequisite Knowledge
- No data available.
Where to go next
- No data available.
Deep Dive
messing around with 2D isometric projection today
Added:that I watch the last match. Probably not. Are you talking about football?
Hey, Bridgewwater. Good morning.
Uh hello Armana carara.
Hey Jo Paulo.
Good morning.
Nothing like a pizza at 6:16 when I'm trying to get back to sleep. Why are you watching my stream if you're trying to go back to sleep?
Hey, Darius.
Watch Evil Dead burn today. It was mid.
Janet is an Armenian name. Do you from Armenian?
Uh, no. Um, is it? I always felt like Janet was one of those oldtimey English names, British and Hebrew origin.
which makes a lot of sense because my ancestry is very English probably likely.
Hello. Uh D for fora.
Hey McNets. Hey Safari. Yes. Mary marriage etc. etc. Wow, kind of quiet this morning.
Got a DNA origin story, but you can't commit any major crimes.
Yeah. And honestly, uh I don't trust data collection companies like that as far as I can throw them. Like I would absolutely not do that. I thought about it a few times though. Less talk, more code. Bro, don't play me like that. We We got to do We have to do this basically. We have to like yap for the first like I don't know 45 minutes of the stream at least.
Them's the rules, dog. Sorry.
Hi, climb interest in metal graphics API. I am kind of curious. Yeah, I like I would really like to get into graphics programming.
Uh but yeah, I have not yet.
I figured I would start with OpenGL and then maybe move to Metal.
This is a riveting discussion.
Wait, what's up with the bot? It's just saying there's an ad break now.
Oh, actually OpenGL works quite well on Mac.
Hey, Wonk.
Yeah, I don't know. Yeah, chat is quiet this morning [snorts] for some reason.
Maybe it's Twitch. Maybe Twitch is just quiet this morning.
Oh, nice. They're streaming the Better Software Conference on Twitch.
Yo, I'm kind of jealous. I want to watch the Better Software Conference.
I might watch that later when I'm pretending to build software, you know.
Oh, this is the last day of the Better Software Conference, so I just missed it.
It was this weekend. I was too busy doing cool stuff like hanging out with my girlfriend.
Air quality is terrific now. Yeah, the smoke has dissipated.
Good morning. Hey, shrimp.
Girlfriend is not cool stuff. Falls under chore category. No, I I think it falls under uh leisure activity. Leisure category.
Hey Jordan from Canada.
Well, we do not vibe code on this channel. We're going to write some C again. I'm on a real C kick lately. I don't know why. [snorts] I just like writing C.
Hey, Captain Coder. Thanks for the uh Gigantify.
>> [clears throat] >> I feel like my voice is like ever so slightly more horse from all the bad air quality lately.
C is the best language, so of course you would like it.
Pure Janet C is pure no [ __ ] language.
That's why I like it. Yeah.
[snorts] Yo, Wina boy, what are you doing here?
How are you? No work today? Going all in on the moonshot idea or slurping ASMR stream? That's a lot of coffee to drink.
Oh, nice vacation day for project.
Yeah, Toronto was like terrific yesterday in terms of air quality. I had the windows open and stuff. I was like, uhh.
I was like, this is this is amazing.
And then I checked the smoke smoke modeling from the government like out out of the thing.
Am I lesbian? Yes.
Well, I mean, I'm not strictly a lesbian. I swing both ways.
I like your chat. There are some nice folks in here. Yeah.
Uh JS is definitely better than C for some things. Blah blah blah. Well, why not boy? I'm glad to see that you are here. I have been yesterday I was messing around with uh well I guess this weekend but mostly yesterday I've been messing around with like a lot of some 2D isometric projection stuff.
So I I managed to get like a single cube to render like a grid a grid of cubes all in the right perspective.
And now I kind of want to start adding stuff so that like well actually I think what I'm going to add is like a mouse over thing. So, when I mouse over uh a thing, it'll like either move up and down to show that it's like highlighted.
So, I think it's going to be cool.
Heading to Toronto this weekend. Am I going to suffocate? No. No. No. No. The the smoke is gone.
I think the air quality forecast is like all green for the rest of the week.
Let's see.
Downtown 7-day forecast. Toronto air quality.
Uh what's today? Monday.
Wait, they don't say what day of the week. Oh, it starts with today. So, yeah, this weekend should be fine.
And chances are it'll be even like lower. So, downtown Toronto is like dead. If you're a tourist, that's probably where you're going to be staying. But downtown Toronto is like dead on the weekends. I'm not even kidding.
It's not like it was like when I first moved here, moved here. Like downtown Toronto is like bustling every single day of the week, especially on Saturday and Sunday, but now it's just like dead.
It's so weird.
Oh, you're going to Saga? Uh, yeah. I have I got nothing on Saga, but it's probably similar air quality, so I have a lot of friends that live in Saga. Been there a lot. So yeah, check out my coaxter book on projective geometry.
Hot girl doing linear algebra. I love it. [laughter] I mean, I just I watched this video and I was like, how I watched this video and I was admittedly was talking with Clanker a bit to learn about isometric projection. So, I for some reason I kept getting this like stair like staircase pattern in my isometric projection. I was like, what the [ __ ] And it turns out the tile height that you use as part of the transform is not actually the tile height. It's the height of the sprite itself. Right now my my tiles are like big. There's a lot of like unused space in them. So I had to account for a lot of that and that's what was throwing me off. I literally like got so frustrated I just like uploaded the the image of the tile to the clanker and I was like what the [ __ ] is going on here? What what are the dimensions for this? And then it was like well most of this is blank. You just have like tile in this area. And I was like that's it. That's what I need to do.
So [ __ ] up talking to my Japanese coworker once in a century. Beautiful man. The difference between beautiful and handsome also determs the gender of the sentence. Beautiful man. There's some beautiful men out there.
Doesn't I don't think it has to be masculine or feminine. Crash king.
Yes, thanks. Yeah, exactly. Viking like in the language it does. Oh, in Japanese. Oh, I see. I see. I see. Okay.
Like kind of like how like uh all nouns in like French are gendered. I see. I see. Okay. I now now I understand what you're saying. Okay. I was like, what?
Really?
That's so funny because it reminds me of like this interview I saw with Kurt Cobain once and he was just like under a bridge in Seattle giving this interview about like life and stuff and he was like, "Yeah, like I I feel so happy when I find like a good find at like he was talking about happiness and how like finding a good find at like a thrift store makes him way more happy than any material possession he can really find like by like mass-produced thing. [clears throat] And like in that moment, I thought to myself, man, Kirk Cobain is like a beautiful man. He's a beautiful He was a beautiful man. Cuz he was like not only like, you know.
I mean, he's gorgeous. Blonde hair, blue eyes, like but he was also just kind of like this beautiful soul. And I just like I couldn't really think of any other word to describe Kirk Cobain than he was just like a beautiful man, beautiful person. Whatever you want to say, right?
Cool nails. Copied you and got air quality app. Very convenient. Missaga, great area. Fun to spell to.
Oh, Jordan, do you live in the GTA or something? Click Janet A Car on Twitch and I clicked on Janet Chibi Moon. Yeah, we got our nails done, refilled this weekend.
This shit's expensive. Kai paid for the first set of nails. Wow, this shit's expensive. We even got refills, which was supposed to be cheaper, chat. Yes, I do right. Virus, glasses on point, hair on fleek. Hang out in this joint. It's pleasure to meet you. Hey, young pig. I uh Yeah, I'm I'm Okay. Yeah. You like the color? I wanted like a dark purple.
Oh, they just gave me dark blue basically.
Yeah, I really wanted dark purple because in low light dark purple looks like black and I I always thought that was really cool.
expensive nails. Yeah, Kai was talking about like doing nails at home, I guess, or something. And I'm like, I don't know if I can be bothered. Like, it's like a lot of effort, you know? The only color I can really see. It's pretty vibrant. It does pop. The blue pops. The only reason I actually like went with instead of like this blue was okay, is because now I have blonde hair and I can actually pull off the color blue. I don't know if you guys notice, I don't really wear a lot of blues except for like jeans.
[clears throat and cough] Torrent's a great city. We're lucky to live here despite recent air. Mhm.
Part the blonde hair era. I do too. I should be going back here in a couple weeks to get more highlights, which is going to be nice.
Time to dye the hair blue.
[clears throat] BRB, I look like a natural blonde.
You're so open-minded. I like you. Yay.
Make sure you subscribe, like, and subscribe to the YouTube stream.
Well, that's funny because that that you say I look like a natural blonde because technically I am a natural blonde.
I am God, don't look at my teeth. I dropped my toothbrush in the toilet this morning and I'm like, well, that's uh got to get a new toothbrush now. So, um, yeah, I am actually a natural blonde because I my hair is actually something called dark blonde.
Meaning, I was I was blonde as a kid, right? Dark blonde looks like light brown basically. My hairstyles was thrilled when she saw it. She's like, "Oh, this is going to be a breeze cuz you're already blonde." like going from like one tone of blonde to another is so easy. She was like, "If you had like real true brown hair or black hair, that's where we'd have to like we'd probably have to do like a lot more.
[snorts] Lots of people are blonde as children."
Yeah, exactly. That's that's typically how like you find out if you were if you have like dark blonde hair. I I I had blonde hair that looked exactly like this as a kid. Actually, from when I was like two to three years old, my hair was this color. It was basically brown and blonde highlights naturally and then it became darker as I got older.
Do you do you have like dark brown hair now? Well, I have I have dark blonde hair, which is which looks like a light brown, especially in the summer. It looks like a light brown naturally.
Like you could even tell like when a when somebody with natural brown hair, like real true brown hair, when they like wash it and blow it out in the light, if if you see the reflection of the light on the surface of brown hair, it's still brown, right? But with light blonde hair, if you see like if you spread it out and you have like the reflection of the hair, you can actually see the blondness in it through the light.
Common sensions about I don't have a lot of gray hair yet. Hey, Phoenix.
Me blonde in the sun. I have dark hair.
My parents are the same. Yeah, it's very common. So yeah, I was like pretty thrilled to get blonde highlights. I can't wait to get more actually because I think it's starting to fade a little bit. I think how Seinfeld of you. Wait.
Light gray hair.
Yes.
So, dark blonde, it's a thing. Dark blonde is a thing.
I remember the first time I a hair stylist said that to me. They're like, "Yeah, you have dark blonde hair." And I was like, "Well, they said that I had blonde hair." And it was like the darkest shade. And I was like, "Are you sure?"
Like, "This sounds like bullshit."
And then they hit me with the then they hit me with the uh like, "Yeah, were you blonde as a kid?"
And then I remembered cuz I forgot that when I was like a toddler, like there's photos of me from when I was a toddler that had blonde hair and I was like, "Oh my god, it's true."
Dog 30 staying in the north. You're Ontario Street. Oh, you came from YouTube.
Now I have to remember that Jordan is dog 30.
Does the hair turn red for you? No.
Although to Jordan. Oh, message to Jordan. I see.
Oh, right. Yeah, you're the person that's visiting. Sorry, dog. 30 derp.
kind of miss the crazy colors of the early 2000s.
Oh, dude. Yeah. All the like pop like pop punk like hair color and stuff.
Do I have tattoos? I wish.
I said I just said I wish without thinking about it. I realized I can just go get tattoos. Like it's totally fine to do. [laughter] Maybe I should get a tattoo. Go get a bunch of tattoos.
Yo. Hey Tanner. What's up? Welcome.
Too late for me to get tattoos. Is it too late though? Is it too late for anybody to get anything? What tattoo would I get? I don't know. I have no idea.
I don't know. Probably like a [ __ ] stamp if I'm being like perfectly honest. some lower back tattoo close to my bum or like something on my sleeve. I don't know actually. I literally have no idea. I just like I like like Okay, my taste in tattoos is stupid. It's like I like trashy like stuff. So yeah, tattoos are harum. [laughter] Oh, brother. If you're worried about If you're worried about uh Wait, what does harum even mean? I don't even know.
I don't even know what her means.
Forbidden. Oh yeah. If you are worried about anything her this is not the stream for you.
[laughter] This is this is not the stream for you.
So even when I keep temp tattoos can't decide, man. Yeah.
Chat picks tattoo sub goal. Oh my god, that sub goal would have to be like a thousand because the the tattoo itself would cost like a lot of money, right?
Yeah, I I got that. That is prohibited by Islamic law.
>> [snorts] >> I'm just saying if you if you are like a disciple of Islamic law like this is probably not the stream for you anyways.
Maybe it is. I don't know.
Should have said P Dr. Zago. Hello.
Hello everybody. Nose ring too. Not that's one thing I don't like actually.
nose piercings.
Actually, I don't even really like facial piercings that much, honestly.
JKR binary. That's a lot. That's a lot of binary to write.
That's five full width octal characters.
Not octal, but like you know what I mean, right?
like basically what's uh four in binary. I think it's this.
So basically that right there is a a 00001 1 0 0 0.
That's hex 4 which I think is a like capital A.
Actually I don't even remember. I have to like test with a Oh, this is the at symbol. Uh, it's 44 41. Hex 41. Anyways, that's still like 0011 0 01.
That's just one letter. That's a lot.
A 5 by8 grid on your lower back. Doable.
[laughter] No, I'd have to get something like stereotypical like flowery [ __ ] or something. I don't know.
Portrait of Varn dress up. [ __ ] Why I like your streams? Because you doing cool stuff and not against AI. Oh, and against AI.
Well, I don't really like using AI for stuff. I actually like programming. So, I did use [clears throat] this weekend, [cough] remember how I was like stuck with the simulator project?
So, I think on Friday and Saturday, I got ripped and I was just talking with the clanker and I was like, "Make me this simulator." I was basically testing out my game ideas.
see if it could produce decent results.
And my core my core like game loop kind of sucked.
So I introduced this thing called the market wire.
And basically you would just have to like watch to see if a stock was going to collapse soon or spike soon or surge soon. And that kind of became like a cool like little game in itself. And I played that for a while.
But then I was like, well actually none of my like where's the challenge in this? Where's like none of my power progression makes any sense anymore cuz the core game loop is like actually completely different now cuz you're just kind of watching a stream of information and waiting for the right things amongst the noise to buy and sell stocks. like it's just a completely different game loop now. So like gameplay loop, I couldn't really think of anything, so I kind of gave up on it. I was like, h maybe maybe there's some stuff that needs to percolate there.
But yeah, I uh it was surprisingly capable of producing this creating this simulator, but it was also just like a React app, right? It wasn't like anything too crazy.
Predicting stock market movement is a trillion dollar business. Well, it wasn't real stock moves. It was like fake.
[clears throat] Best tattoo idea killed by automod.
Bruh, I would not tattoo any AI crap on me.
Hi, how you doing? Hey, locked. Welcome.
Favorite summertime ice cream treat. Uh, well, I used to love coconut bliss, so I'm allergic to dairy and legumes, so I don't eat a lot of frozen desserts.
I've been meaning to try Honey's ice cream here in Toronto.
Uh, but it's like kind of hard to get my hands on unless I actually go all the way over to one of their locations in Trana.
Tenna.
Maybe I'll do that someday.
Do that today. Maybe that's interesting. What the [ __ ] They have new weird flavors.
Frosty and fries. Diet Coke float flavor.
They make like plant-based ice cream that I can actually eat. Well, some of it anyways.
Yeah. Why haven't I just gone and boughten like hundreds of dollars worth of this ice cream?
It's my friend to get a Taurus ring.
Banana split remains messed going strong since the 80s.
Needing food, ice cream, and coffee suggestions in the city.
Oh, [ __ ] My favorite Portuguese place used to have a restaurant in Missaga, but now they don't. So, it's a snack.
Prototyping is where I think five coding makes a lot of sense.
Hey, S.
Thank you for the prime, by the way. Did I ask Did I say thank you for the prime yet? I thought I slept well last night, but then I'm like, maybe I didn't sleep well.
Coconut Bliss sounds like a cool reggae band. So, Coconut Bliss was this amazing coconutbased like frozen ice cream, but it was also dairy free and like soyf free for the most part. That [ __ ] was incredible.
It's very It was very expensive.
And I think they like exited the Canadian market.
You ever sleep well? I don't know if it's because you got enough sleep or edible did all the heavy lifting.
Well, I'm about to try melatonin at some point. Like, I just want to sleep real good every night.
seem very tall and photogenic. Have I considered modeling? Uh, no.
Well, actually, I guess technically I have, but every time I see like I don't know. Every time I see stuff, I'm like, nah, nah.
My hair stylist also said that. She's like, have you ever considered modeling?
Do I look like I could be a model to you? I can barely get up in the mornings.
Be an Instagram model. Like, oh my god, look how pretty I am.
I have bags under my Look at these bags.
You can't model with a bags like that, I don't think.
Unless I went and got like filler or something. Am I still in the consultant grind? Yeah, unfortunately that [ __ ] never ends.
Yes. Unfortunately, yeah, I don't know.
I'm stuck modeling or not modeling, [laughter] stuck freelancing.
Consultant pay. Yeah, it's okay, I guess.
Guys, I got to go eat an egg.
I got to do it. I got to go eat an egg.
Can you guys give me a moment, please?
Please.
Okay, we require egg. Yeah, I don't freak out. I'll be right back.
Wow. I expected people to freak out.
Egg time.
Knew you were a model. Yeah, I should just be a supermodel. I'll go get some under eye filler.
Um, [clears throat] I look nice today.
I feel a little I feel light today, I guess.
So, I haven't eaten the egg. It's just cooking in the microwave now. It's done. It's beeping. Okay, I'll be right back.
I don't know you guys. Can I actually be a model? I'm a sweatpants wearer through and through.
That's a web pants model. [laughter] That's good. That's really good.
What would be a book you would recommend a self-taught programmer learned on the job? I often feel that I put things together really well, but miss subtlety or nuance.
That's a tough one.
[cough and clears throat] Honestly, if you can do stuff at work, I feel like any programming book. What's a great programming book?
these.
Uh, uh, Christian Adams, what are you primarily working with at work?
You can do your job that probably, you know, all the nuance you need.
[clears throat] All right, inhaler time.
Dark Knights, Janette Twanet, Janet, I don't know. Uh, I'll just call you guys chat room. So, that's my my thing, I guess.
Not clean code.
I beer.
Okay, chat room. Uh, let's let's do some stuff. Let's jump in the software and gamedev category and see what's up. Hey, Fern. Fern in the forest.
Oh, wait. Did somebody Oh, no. Hang on.
Hey Paulen, good morning.
Your list base.
What's p a i wind up boy?
Sick. IB.
Uh, I need to copy the repository over.
He Oops.
Okie dos. Uh, yeah.
I was working on All right. I was trying to do stuff correctly where I have header files and then I have like C files. to like do the thing, right?
I will show you the demo here though, so you guys believe me.
Uh, actually, let's turn off full screen. So, basically, I just ported over a lot of code from the previous project. Like, basically just copied and pasted. Ignore the name.
I don't know what this is going to be, if it's going to be a game.
I have always wanted to make like a Final Fantasy Tactics clone though.
Love when you guys talk super nerdy about programming terms. It goes over my head.
Use I wanted to use either C and make a game for Game Boy Color or build a C++ extension emulator and default so I can export it everywhere.
Hooking inputs and sound through the link cape feature. Well, uh I think the GMDK or GBDK or whatever it's called is C. So I think yeah, I'd recommend C. If you want a good actually, you know what's a crazy good book that's like a good introductory book to see is like hacking the art of exploitation.
I think that's a pretty decent like introduction to like machine architecture and like all this stuff.
It's a hard book to read though. Like it is it is a dense hard book to read. Um backend language. Uh I I don't know.
JavaScript. How about that? [snorts] No, I'm just kidding. I don't know. Learn Go or something.
Let's see. Can I build the thingy?
Can I build the thingy chat room?
Oops. Make make- There we go. There we go. Do you see what I am seeing on the screen?
So, this is not something I made with tiled. This is not a map I made with tiled. This is just a square. Thanks, guys.
It is a I think it's a 7 by seven grid.
I recall correctly.
Oh god, getting I'm never going to get used to going to actual C files instead of header files.
[clears throat] Oh no, we've been here before.
Yeah, except this is not 3D. So when I was doing like isometric stuff before, that was a true 3D graphics like with an isometric camera. This is 2D with isometric pro projection.
So like old school games, right?
I mean, yeah, everybody's like, "Do Odin, but Prime is doing Odin right now." Okay. I can't be seen ripping off Prime.
It's It's a bad look for me, Soul. I'm sorry. I just can't I just can't I can't do it.
Okay. Like, I'm really proud of the grid. So, [ __ ] you guys. [laughter] I'm really proud of the grid. Okay.
Adventures of Elliot lately. Digging the 2.5D pixel Zelda clone.
It's nice grid. It's a nice grid. Yeah, good orange grid. This is one tile, by the way. And I constructed the scene programmatically.
>> [cough] [clears throat] >> Now, if I was creating maps in like tiles or something, then I would have to go layer by layer and like build up the scene.
Best grid I've seen today. [laughter] Probably the only grid you've seen today.
What I want to do though is convert uh way to go. What I want to do is convert like screen coordinates to grid coordinates so that I can like actually mouse over a tile be like what's this one if I can remember the formula Uh uh screen coordinates to grid coordinates.
I really got to log into some clankers here because Google is like garbo.
Okay. grid X and Y.
This is where I would figure it out on paper. Hi, Nora.
Where do I sell my games? Nowhere. Cuz I've never finished one.
Also, one problem with this approach too is I need to I basically load the same texture like 49 times into memory. So, it uses some resources. There's some uh tech to clean up here for sure.
like this right here. This this new tile graphics component should probably receive a texture as part of it.
Actually, I'm going to do that right now cuz it's probably worth it. It's probably worth it to do the texture thingy there. Now, every block gets one texture, one texture item.
One texture strruct or whatever.
Oh man, that's so annoying.
See, I was like, I want to do this the right way and have like header files and corresponding C files, but now every time I want to change the code, I have to change it in two places like an idiot.
With the header only approach, everything was like much better.
I just had to change it in one place.
All right, cool.
Oh, two pixels to the side and one pixel up.
Yeah. Well, uh it doesn't really matter actually. The math is all the same as far as isometric projection is concerned, which I learned about recently. So yeah, basically I'm constructing this scene for myself so that I know how I'm going to construct the scene once I start reading tile map information from tiled, right? Because you can build isometric like maps in tiled, but I needed to create a basic scene for myself to understand like how this is all going to play out. So that's where I'm at. That's where I'm at, homie.
Yes, I have I have an idea. I have an idea.
Chat room.
Maybe we can pull this off before the Is there a way to get this the mouse pointer? Ray liib get mouse pointer coordinates get mouse position perfect get mouse x get mouse y okay god ray is so goatated ray is insanely goated you guys I don't even understand uh let's see let's call it double Hover grid x equals wait. Uh yeah, we probably that'll be fine. Yeah. Yeah. Yeah. Screen.
Nope.
Get mouse.
Y.
Uh actually hang on, hang on, hang on.
What is it?
int integer mousy x mouse x Oh, I've already semantically saturated the word mouse.
[clears throat] Get mouse. Boom. Boom.
Hey. Hola. Hola. Hola. We boys. Wait, what's very goated? Ray lib go. Oh, that's cool. Yeah, yeah, yeah, yeah, yeah, yeah.
Okay.
And then we be like double highlighted grid x equals Oh, this is some math chat room. This is this is some math. Mouse Y divided by height. What's height in this case?
Single isometric tile. Oh, you can see I've got it hardcoded here because there's a lot of blank space in my tiles. Most of most tile most, as I learned, most 2D tile math assumes most 2D tile math assumes that the top point of your isometric thingy is the top is also the top of the image, right?
But I've got a bunch of blank space, so I had to I don't know how to account for it yet. But I just put the hardcoded this value in for now. We'll figure it out. It'll be fine. It's no big deal.
It's no big deal. Chat room. Okay, I'm just going to because right now I have height equals texture height. I have a better idea.
Why don't I just be like 74?
I can actually be like height here, which is nice.
Uh height divided by Okay, good old good old math. Nothing beats math mouse x / width all over two.
Great. Okay. Amazing transform. Okay.
Highlight grid Y.
It's mouse.
Mouse Y /.
It's basically this transformation here but backwards divided by width divided by d.
Okay. Actually because I changed the value two values I'm going to just run make here. Oh my god I [ __ ] up.
How did I [ __ ] this up?
Wait, what?
How?
Oh, I see. Yeah, I [ __ ] up. Never mind.
Never mind. This does need to be this because of the way the way we're projecting stuff. So, I'm just going to say double cube height= 74.
So, I actually need this for draw texture pro. So, guess I'll be like, bro, please support Canada in the World Cup. I don't really like uh I don't really like football Well, I haven't really sat down and watched If I'm being honest, I haven't sat down and watched much football. I'm not like a huge fan of it.
Okay. Where is Okay, great. Looks like everything works.
Then I will print.
If uh highlight grid x equals grid x and highlight grid y equals grid y f is that.
Oh, I got to stop smoking. I've got to switch to a vape or something.
Yeah, sorry for the ads on Twitch. There should be ads actually on YouTube as well because I turned monetization on, but Oh, wait. I didn't even turn on automatic ads.
Well, that sucks.
Okay, let's see if we can do the stuff.
Grid coordinates, I guess.
Janet, not to do drugs.
I just I just like to do a little cannabis here and there.
Okay. Okay. I don't think my projection worked cuz I'm only seeing mouse is at 0 0 and that's it.
Okay. So, why doesn't this work.
It's printing out too much junk too fast.
Mouse screen. What the [ __ ] Oh, I used the wrong slash end here. But that's weird. Oh, wait. What?
It doesn't work.
That That's not real.
Yeah, I'm getting X values of like 100 million. So that's definitely not right. That is definitely not right, bro.
Uh maybe let's try the other function towards equals get mouse position for some reason. Yeah, get mouse X and Y doesn't work.
chords.x.
I don't know why it doesn't work. It's kind of weird. chords.y.
Try that. Maybe still the same thing. What the [ __ ] going on?
What?
That's so weird.
Yeah, I'm trying to invert the projection map, but like I'm not even getting I'm not even getting like correct screen coordinates for the mouse pointer from Ray Live. It's just junk.
Literally, this is what prints out.
So obviously wrong.
This is the mismatch might be the world space, but I'm not using a camera, so it doesn't really matter.
Oh. Oh, I see what's going on.
Apparently, these are not integers.
Probably what's going on here.
Oh, wait. Oh, I'm an idiot. I wasn't even passing the value in. What the [ __ ] am I doing? No wonder it doesn't work.
Jesus. Just printing out junk in the in the format buffer. [ __ ] sakes. I'm such a dummy.
Clearly, I need some more coffee to make a mistake like that.
[ __ ] There we go. That's much better.
Yes.
Oh, I saw it briefly. I saw some thing that was like Okay, let's make these double precision doohickeys.
Now, this is at 0 0. It is certainly not.
Now I'm more confused because it's at zero like constantly.
What is the streamer doing? I'm trying to fix the projection of this this 2D game. Well, it's more like a 2D render, but so basically I'm trying to get the See how it's a grid, right? I'm trying to get the grid coordinates.
It's just 7 by seven right now. I'm trying to get the grid coordinates of the mouse, right?
Yeah, it just takes garbage from the stack. That's That is correct. Client bottle.
For some reason, the projection or the inverse projection isn't working. So, maybe we need the actual sprite height here. Try that, I guess.
Uh, absolutely no movement. Oh, wait, wait, wait, wait, wait. Just a minute. Chat room.
I think I know what it is.
There's an origin offset for the x values.
So, wait, does that mean I have to go the other direction?
Perhaps.
I think the origin offset moves everything to the right. So, dude, Emacs, please. Like, what the [ __ ] was that [ __ ] Emacs hates you when you use a mouse. It hates it.
No, nothing. There's absolutely nothing happening here.
offset needs to be on the mouse Y.
Oh, like here.
Oh, yeah. You're probably right, actually. It's probably like origin.
But that doesn't make sense cuz like the mouse is like logically unsolicited salary raise. That's always nice.
gorgeous suburban homes in Saga. That's the one thing I actually hate about Missaga.
The whole city is a giant car dependent suburb. Like even in like downtown Missaga, you have like giant like stros like separating buildings. It's not very it's not a very walkable or like pedestrian friendly city in my opinion.
Wait, how does this work?
You can get a mouse ray with Ray Lib.
I'm really looking forward to it.
Oh, my nails look really pretty. Thank you, Dirt Nasty. Yeah, I just got them done on Saturday.
Very blue.
Okay.
Half the height of a single isometric tile.
So, wait. Is it because I have this in here?
Do we actually not need this?
No. No. None of it works.
Okay.
So, subtract the map's starting offset from your screen clicks. Okay. I sick.
Sick, bro. That's probably it. Maybe origin offset.
Oh, come on.
This closure mini closure ripple is so sick. What doesn't why does it return nil? Is that a function thing? Yeah, it depends on what the function returns. I suppose you're doing something like do seek that's or do that's always going to return a nil. It's for side effects.
Yeah, this just doesn't work at all. I don't think Let's see if we can get any values here cuz I'm starting to get cranky.
Oh, interesting.
Let's uh not print out a Oh, that's probably why.
No, that doesn't make sense at all, actually. What the [ __ ] It's like backwards.
Why the [ __ ] is it backwards? It's like Okay. Uh oh. You know what?
That's right.
Is it? Is it right? No, it's not. That's the wrong one. [ __ ] Okay.
I wanted this on X, not Y. I wonder it doesn't work.
Offset.
Uh. Oh, perfect.
Okay.
Ah, I see. I see why it's uh not working. So, basically, I need to cast an integer. That's why it's not working.
It was It was like almost working, but now if I cast to integer.
Yeah, it's working now. Okay.
Lovely. I love that chat room.
All right. Sick. This is This is sick, you guys. Yeah. Hang on. Sorry. There's not really much to show, honestly.
That's why I wasn't really showing it.
Uh cuz it's all in the logs right now.
So, yeah. This is kind of cool. I can All right. This is This is super cool, actually. I've always wanted to do this.
So, I've always wanted to do like a 2D isometric thingy.
Want to make a com call it Christian Dior or not? Jewels socks. Jewels rocks.
What?
Uh, okay. Perfect. So, we figured out casting. Figured out how to cast stuff.
That's key.
Sick. Now we can be like y minus equals I don't know 20 f to see.
So basically every I just created dummy components for this dummy graphics component. But basically each tile graphics component contains its grid x and y coordinates. That's this value right here and this value. So when we do the like I guess the projection thingy um basically if if the highlighted grid from the projection thingy is this grid coordinate then we're going to move it up a little bit so it looks like we're highlighting it kind of.
Okay, moment of truth. Let's hide Emacs and see if it worked.
Oh, fun.
I see this.
It's a little bit off though, actually.
That's weird. Oh, I see.
Interesting.
So, wait, what? Okay.
Oh, that's super weird.
I wonder if it assumes that like the map will take up the whole screen.
I guess that makes sense.
It's like see my mouse is like way off in the dark stuff.
That works though. Like everything else so weird. Isometric projection is so weird.
Twice as wide as tall. Uh, something like that. Yeah.
Wait, that's not right either. Oh, wait.
It kind of is.
What am I doing with the freaking y value?
This is the best grid I've seen all day.
Yeah. Yeah. There you go.
That's true. There is an offset in the thingy. So that's uh Is that it though? That work? I don't know.
There's an offset there. And the math should check out.
Let's give it a shot.
Oh.
Okay.
It's better, but not quite right.
Oh, wait.
Shouldn't that offset actually be right here?
Okay, now it doesn't work at all.
>> [clears throat] >> No, the math is the same. It doesn't really matter.
Hello Teresa.
Uh Hm.
I Yeah. Okay. I don't know. Trying to think here.
adding 151 here.
Didn't really help, did it?
At this point, I'm just trying [ __ ] boy.
Where is the air scales in both directions?
So is the zero origin in the middle of the window instead of the top left? Yes.
Center of the 77 cube is 0 0.
Uh, [sighs] no. The 00 grid should be the at the top, I think.
Actually, I'm not sure which one is which. Here, let's just print it out just to be sure.
Yeah. So, here, I'll show you.
So, this one, this is 66. So, I'm guessing this is 0 0.
Yeah.
Oh, wait. What the [ __ ] Yeah. It's so weird. Look, talk on Insta to discuss projects.
Uh, yeah. Yeah, I mean you can shoot a message request to one of my accounts like the Genet Eclipse account, but I'll just ignore your message if it's weird.
Yeah, like it's fine inside.
in the center. But for some reason there's some weird scaling when we like uh where was it? I just had that on screen. Um, y origin offset. There's no y origin offset. Although I guess technically this is a y origin offset, isn't it? Isn't it?
Then why doesn't it work?
Right? Like I should be able to add 151 here and then everything is lovely, but it's just not depends on the window size ratio in case X's handling is wrong. No. No, X X actually makes sense. That's probably why it can select things in the center, I think. Anyways, like the X offset is correct. I I think it's correct cuz this origin here, you can't see this origin offset is actually also down here in the rendering offset. So, Oh, you message me on Discord.
Uh, okay.
Origin offset cube coordinates. Cube Z is at the bottom. No, cube 0 is at the top because it renders front to back or back to front, right?
Which directions do you cube X and Y?
point.
I'm not really sure what you're asking, Red Knife.
Uh, okay.
Cube like the grid. You mean the grid? 06 is the corner on the right. Let me see.
I'm trying to get the mouse over there, but it it won't even go over there really. Yeah. No, wait. It's the thing on the right. Yeah.
Or the left. [ __ ] Yeah, it's the corner on the left. Another corner on the right.
Wait a sec. Maybe it is the x value.
Maybe the offset Maybe.
Oh yeah, the offset makes sense.
So there has to be Yeah.
I think. Yeah, there's got to be a Y offset that I'm not missing. I tried that 151 though and it didn't do anything. So I think plus 151 will be the secret Here.
No, I don't think it's the I We can use the height of the texture there. That's the height of the texture.
Test it. No, the height of the texture just sets everything way off base.
And we definitely want the actual height of the cube in this case, I think.
Everything is off now.
Yeah. I don't know.
I'm going to use math like it's easy.
Yeah, everything on the Y works in the center. So, it's I think it's the X offset not scaling properly or something. So, when I move the mouse along the X axis and like Yeah, it scales weirdly.
Well, I need to use the bathroom, guys.
So, you're just going to have to wait a minute. Okay. Don't forget BRB.
Make sure my client doesn't have a stand up today.
Okay. BRB guys.
Yo. Hey. Um uh h chat room.
Feel like I missed something, you know.
and the QI factors in. Wouldn't it be irrelevant to figuring out the square you're hovering over?
No, cuz there's a bunch of um so like basically typical isometric projection.
Oh, wait. Oh, maybe actually.
Well, typically uh the projection matrix assumes that the height of the tile is also the height of this the sprite.
So I need to change the value to get the cube.
It looks like the X value is scaling weirdly though.
Are you blocked? No. Harley, I'm just in the zone here.
Yeah, it's the height of the picture of the cube.
You think this should be what did you say it was 1.73 should be the ratio?
Why does this work?
Yeah, that ratio is not it's not still the same scaling problem. Changing it to two.
Changing to 1.73 is the ratio.
Feel like I'm just throwing stuff at the wall here now.
Okay.
multiply two is the inverse. That's what I thought. Yeah, everything on the y- axis is fine. It's the x scaling that's not really working out here.
Maybe we need I want to try a bigger grid actually because I think part of the problem here is that our screen like the the world the grid doesn't fill the screen.
I just want to rule that out. Oh my god, I hate creating header files. Why did I do this to myself?
Plug different numbers until it works.
Yes.
No, it still doesn't work. Actually, it's the the X value isn't scaling properly for some reason, though.
I think [ __ ] know, honestly.
Hello, Mr. X. How are you?
Uh, okay. It's like basically this backwards, right?
Hey, Slater. He's strong.
I think it's obvious what's wrong.
SX is zero in the center.
Wait, what? That's not zero in the center. That's not how Ray li coordinates work, I don't think.
I'm really lost. [ __ ] Don't think that'll work. But [ __ ] Wait, what? Why? Y.88.
Hello. Uh, large Ivan.
You would think that plus I'd have to do 151 here, but that doesn't work.
Oh, [ __ ] sakes.
Come on, Emacs. [ __ ] Christ.
It's the only problem with having nails is I just hit random buttons sometimes when I'm typing.
Very frustrating.
I don't think that's it.
Something else. It's something else that's weird with the X X values, I think.
Maybe not. Maybe the whole projection matrix is just off.
It is actually needs a scaling factor.
I don't even know where you're No, I don't think that's it. Red Knife.
It might need a scaling factor.
That's what this is for. This is the scaling factor, right?
Actually, Uh [sighs] oh gosh.
What if my order operations? I just want to make sure the order of operations is correct here.
It probably doesn't matter honestly.
I mean, that's literally just normal order of operations. [ __ ] Now we're way off. Okay.
Hey, Anton.
This is basically the same as It's weird.
Okay, something's definitely up because I Okay, that actually changed what was happening on screen.
So that means everything is worked.
Oh man, this sucks. I don't know what's going on now.
[ __ ] Actually, I do think this was correct because we need the programmatically. Oh, [ __ ] sakes.
Oh, chat room. Oh my god.
Why do I do this to myself?
Why do I write C?
This makes sense because we need to do the whole thing over two. So, that's probably the right approach.
There is something scaling wrong though.
[cough and clears throat] This isn't a C issue. I know it's a me problem. A me issue.
The Y value is pretty good.
Not perfect, but it's good.
It's just the X that doesn't scale properly.
Mhm.
Hey, symmetric thing before. I remember having some issues with the mask picking. Are your tiles in one plane?
Basically, sort of. It's not a true plane.
getting addicted to these long form in real time streams.
They're pretty fun.
Any good at DSA? Do you know what DSA stands for?
Okay.
Interesting.
Turns out I didn't really need that plus 151.
Just thought I did.
[laughter] [clears throat] It does feel like a scale problem though.
position the cube lifted and indicate what the offset is. Not exactly.
I mean I was like thinking but the values are quite high and difficult to reason about.
Mr. X, I'm not even logged into Claude on this account.
this streaming account. [clears throat] Weird. His scale is like completely off.
What if I use the texture height now?
Get rid of that offset. I'm curious how this will change the It changes it. It changes everything.
That's so annoying.
Okay.
Yo, can you guys stop talking about Harry Potter in the chat, please?
the division by two. That's just the scaling factor.
Wait a second. Wait a second. Wait a second.
What's uh I need some math. Where's my [ __ ] [ __ ] at?
God, I hate hate max so much. They're so [ __ ] terrible now. Um just need a [ __ ] calculator. That's it. Literally just need a [ __ ] calculator.
This is probably it actually.
Not quite. I feel like I have the same problem as before. It's just inverted now.
Are X and Y even used? What are you talking about? Yes, of course they're used. This is these are literally the screen coordinates from the grid.
Like this this is how I figure out where to render stuff, right?
Okay, guys. I have example code in C in front of me because not it's not an example problem. It's not that I don't understand what the hell is going on.
So, there's something off like a scaling factor or a bug or something.
Like, I know the transformation I'm trying to do. It's just I don't know why it's not working.
Could be truncating to integer. I would be really surprised if that was the case, but not sure either transformation is correct. That's what it says. That's what it says. Like literally grid x equals screen y over h plus screen x over width all divided by two. That's what that's what the inverse projection is.
and I have an X offset.
The forward projection, this works. Have you not seen the thing? The forward projection works. Otherwise, it wouldn't render correctly.
Like literally none of these cubes would be like sandwiched beside each other.
Uh yeah, I think it's hang on a sec. I want to try something.
No.
It's like a scale going on here.
Um, relative to the top corner of the window.
Why does it feel scaled? Like it feels like something is like weirdly scaled even in full screen.
If I do full screen, it's like it Yeah, it's like it needs to be scaled for the ratio of the actual like window or viewport or whatever.
Yeah, there's no camera yet.
Not in world space.
But it's literally guys, the formula literally calls for screen X and Y of the mouse.
Whenever I get temp I just think of these live streams, I'm like, nah.
Oh [ __ ] I don't know. That's annoying.
The formula might assume the texture height is only the height of the top part of the cube, guys. Okay, texture height is different than the cube height.
That's why That's why like Emacs, come on.
So yeah, found Oh, there's no camera yet. just like a like a fixed frame buffer.
Oh, camera.
Classic, classic, classic, classic.
Yeah, they are being divided by two over here. climb bottle at the end. Right.
Wait, why do you have to divide by two twice? Isn't that what this divide by two is for?
I'm pretty sure that this that's what this divide by two is for past. Yeah, I mean I'll do it.
[ __ ] it, bro. [ __ ] it, bro.
Get a cheeky little divide by two in there.
Come on, Emacs.
Dude, what the [ __ ] Why did you [ __ ] freak out?
Max, why?
Pretty sure this isn't going to work, but I don't know why you have two would divide by twos in here.
That seems weird to me.
Oh, that's why.
[ __ ] I don't know why I can't slurp and barf those values. I should be able to. All right, B. Let's try it. Let's try, dog.
Kind of. Yeah, it's not bad. It's very close, actually.
There's just uh a Y offset to deal with, which means that's where this comes in because the 151 is the blank space in the tile if I remember correctly from yesterday.
Nope, wrong one. Wrong way. Should be minus, brother.
Okay, this works.
That's so strange though. Why the divide by two twice? Because of the four subtiles, I guess if you want to say that.
All right. Well, thanks. Thanks for the help, I suppose.
All right. I'll show you guys the final Am I married? No. Oh, god. No.
Right.
Check it out.
Guess you were right. Climb bottle. So climb bottle. Uh kudos to you. I guess as you can see, yeah, it works.
The scale there's still some scaling.
That's feels off a bit, but it's close enough that I'm not too worried about it, you know.
It's not perfect, but it's close enough.
I'm only married to coding. Yeah, I'm married to the job at this point.
Maybe you didn't need the 151.
Well, the 151 is the blank space in the tile.
thingy. So, I didn't need it here, but I did need it here.
That's what was wrong. Partly what was wrong. And then they would divide by two twice for some reason. But the divide by two twice actually kind of makes sense because a single like tile is supposed to be like basically a you treat like a a tile as a like 4x4 like subtitles basically.
But yeah, that's it. It works.
So now I could start like converting building a system where things happen at grid coordinates.
You know, if anything, it's a little high up actually.
Well, actually, no. If I remember correctly, the blank space is 195. I can't remember. I'll have to look at my conversation with Claude about how projection matrices work and junk.
That feels a little more poignant.
What was the 151? I don't even remember what the 151 was off the top of my head. Something.
Definitely something.
Anyways, I think it works well enough for now.
See developer here.
Yeah. Ship it. Ship it.
that 151 by two as well. No, it works fine. I think now can you see it? Yeah, you can see it.
This is like basically correct.
Uh, something feels a little off there.
Kind of read the mass horn and back towards a graphic for ejection and then determine when the tile it's on. Um, that's literally what I did right here. It's literally what we've been working on like for the whole stream. But, you know, it's all good.
It's all good.
And the isometric projection is 30° angle, not 45.
Cool, cool, cool, cool. Now I need to architect a whole game engine. Actually, I should try and build like the reading from tile maps part and stuff soon.
Zostra should be inside the brackets of computation.
multiply by tile height divided by two.
I don't know.
It works well enough for now. [laughter] I'm not too worried about it. I think it works well enough for now.
Let's try full screen.
Oops.
Yeah. Okay.
Yeah, there's definitely some offsets just to still tweak cuz like basically if I get halfway through a pixel like ver like you can kind of tell like basically I guess the like this this it's hard to explain But basically, yeah, if you cross like half the tile threshold, like the threshold isn't at the tile, it's at the center of the tile, which could be because of the actual origin of the tiles.
That's kind of interesting.
Let's try a 00 and see what happens.
Part of it might be that the tiles are actually going to split apart here, though.
Oh, what? Why didn't they split apart?
What the [ __ ] dude?
What is happening? Oh, they're just offset. That's all. That's like not correct.
Nope. Definitely need that.
I guess yeah it's not centered because if we do like if the origin is 128 and 74 which doesn't really make sense because that's the center of the image which is not actually the center of the cube.
Highlighted tile is raised so the boundaries look like they're in a different place.
Oh, interesting. Yeah. Oh, that's right.
That's a good point. Actually, I have a better idea. Why don't we just sink the tile in a little bit? Or maybe I should just highlight it somehow.
Yeah, you're you're definitely right.
Okay. Yeah. Yeah, it's just an optical illusion.
Yeah, I need some way to like highlight the change the color. I don't really know how to do that. Maybe I'll just do like a really small height increase like Yeah, there we go.
That That feels much better. Still a little bit um a bit of a whatever it was. Whatever you said thingy.
Optical illusion. My brain. My brain.
still I don't know actually even when it's down it's still you move into the next block a bit it still doesn't highlight it takes like several pixels into the next like see how it Oh, my titty hurts there. That's much closer, but not quite as close.
H.
That might be a bit too much, but that actually Oh, no. Doesn't really work.
195 feels good. I'm going to have to go back and look at some stuff, I think, though.
No, actually 195 doesn't feel good.
Doesn't chat room.
Just guessing at this point now for the most part. It works.
- 75.
You mean - 74?
No.
It's the sprite. It's Someone mentioned the sprite [ __ ] It's got to be that. I just can't remember how like deep the sprite goes here.
Where the [ __ ] is uh Oh, right.
Oh, I keep getting lost in my stuff here.
Block.
Okay.
And I'm doing some math. I'm doing math.
I Does that make sense? I don't know if that makes sense, actually.
I like math. Making a ton more shorts lately. I keep seeing your shorts now on YouTube. Yes. Yeah. A couple months ago, I really ramped up uh short form content production and a little bit of long form, too, but I kind of hated it, so I stopped doing it. Um, but yeah, basically we just ramped up short production to keep growing the channel and stuff.
Okay, that's pretty damn close.
What is it with scale though?
I mean, it's okay.
No, we haven't even moved on to the next tile here.
Change the scale. I don't know.
I'm going to stick with 151 for now. And then I'll have to figure out something to do with that. 151 feels good for now.
151 feels good, but of course you can highlight squares outside of the if you just hover your mouse around the edge, you can get the edge pixel, the edge thingy. But otherwise, it feels pretty good gameplaywise, I think.
All right. Except for that. That didn't feel good.
Get too close to this. It Yeah. I don't know if it's ever going to I don't know. It's going to be pixel perfect. It probably won't ever be pixel perfect, unfortunately.
a window from the isometric 2D isometric view. What do you mean?
It must be pixel perfect. I know. I know. I'm struggling. Okay.
Like what value is it? Should it be pixel perfect? Is that even possible?
I don't think so.
Ah, chat room. I don't know. I don't know.
Chat room. Okay, frig.
I'm just I'm just a blonde girl on the internet messing around with code.
According to my YouTube haters, I have no skills. I don't know anything.
And it's bad, embarrassing even.
151 seems the best, like most comfortable, but there are instances where I'm like, that's wrong.
She's a hack. Yeah, basically one row column. We could build a chess game. Yeah.
[clears throat] Well, we could go nuts. Let's crank this up. Let's You got to pump those numbers up, bro. Those are rookie numbers.
Let's make a 100 by 100 grid.
See if we can break this this thingy.
Got to pump those numbers up. Those are rookie numbers.
It's quite a large grid.
If we had a camera that could move around thanks to the mouse coordinates.
Actually, yeah, I'm going to have to build that. I'm going to have to add a camera that Oh, there's part of the projection is off a little bit. You can kind of see it. There's like a little little bit of like spiking on the corner here.
Well, a big grid is not nearly as fun as a small grid that we can see all of. So, yeah, I'll have to I'll have to create like a mouse system where the camera will actually move if the mouse is like in a certain place maybe.
Or better yet, it would be like uh like League of Legends or something where you use the arrow keys or use some keys to move the camera around.
That actually makes the most sense to me as a metaphor.
New floor tie floor for my washroom.
Getting tired of all the chessboard floor.
This is an asset that I'd like I got from an asset pack, which sucks cuz I need what I need is isometric assets.
isometric game assets 2D.
There's no good like there's not really a lot of good isometric tiles on it. Well, maybe there is.
What the heck?
Okay, I'm going to have to like go through these uh asset packs probably.
Yeah. Okay. So, the next thing would be figuring out how on earth like how to Okay, Arley.
How do you handle batch rendering?
I don't.
Control mouse to move or something. Yeah, maybe like or was to move the mouse. Move the camera might be interesting.
Problem is is that there's a couple problems.
So, I need to figure out how do I account for blank?
I guess maybe all the assets in this current asset pack I'm using have the same offset.
Yeah, thanks McNets. Um, so but basically I need to learn I need to take what I learned here and render tiled maps and then I need to figure out how I'm going to put this all together into a system where I can actually create like a turnbased RPG kind of fight. I guess a lot of systems to think about. Chat room, man. We've been going.
We're almost at like 3 hours already. It feels like I It feels like we we've only been coding for a few minutes.
Usually that means we had a good stream.
Hydrate, dummy. All right, I'll go get some water. One sec.
Actually, [clears throat] you know what's kind of cool is this same like projection setup could be used to build like a Diablo clone.
You know, you got like you just have to use like uh a star search to like translate basically figure out where the character needs to be like translated to.
And you can just kind of keep doing that. You're just like move around and clicking around.
Oh, wait. There's more.
But yes, I am happy.
I'll be with the doohickey.
A bot in the Discord server.
Oh, is it that new person? That person that wanted to talk to me about a project or something? I don't know. If they start spamming, just ban them. [ __ ] it. Peace out.
You know what would be so cool is if I had like this uh RPG engine that I made and then I started making all the content for it. I started scripting all the content for it in Janet, the Janet programming language. I was I was thinking that that would be like a really good way, you know, cuz the problem with like RPGs is that content production takes forever.
Where is the closure content? Uh, we have temporarily paused the closure content.
Um, I'll bring it back probably maybe eventually, but I'm just kind of burned out on closure. I use closure for my day job, too. like my freelancing stuff. So I like writing stuff in C is a really nice change of pace and I don't have to deal with any of that like [ __ ] from C++ which is like really nice. Like C is like surprisingly simple it feels like compared to C++.
Like even using Vtables and up and down casting feels a lot better than doing like C++ stuff.
Oh, I didn't realize the zoomed Emacs is kind of like blurry.
What's up with that? Why is it doing that? It shouldn't be blurry.
Is that better?
Scale filtering. I went to buy cubic. It actually does look a little better.
Yeah, if I disable scale filtering, it hurts.
Bilinear is not much different.
By cubic actually does feel a lot better. Okay. Jeez. Okay, guys. I can't believe you guys are staring at that. That's like blurry and hard to read. Now it looks okay. by cubic I think looks okay.
Yeah, that looks good.
Did it actually matter on stream or is it just OBS being weird?
It's subtle, but I feel like it does matter.
I don't even know what these other skill filterings are. Area land blank cost I do feel like by cubic is the best actually.
It's hard because you have to disconnect between rendering space and logic space.
Yes. Yes. That's That's very tough for sure.
And I am constantly trying to figure this out right now cuz I'm like, "What the frig? What have I gotten myself into?" And no wonder all the isometric people decided to do 3D instead.
You know, by cubic looked best. Yes. Yeah. Yeah.
Yeah. Yeah. Yeah. Yeah. Yeah. 100%, bro.
100%.
Cool. Sick, bro.
It's not You do calculations in logger space to project them into rendering space only when you've decided to do the rendering. I see. Yeah, translating character coordinates to like grid coordinates is going to be something.
That's for sure.
Love that coding with actual thingy and not letting AI do everything. Yeah, this is me. This is my raw coding process out in the open.
Um, yeah. Does anybody uh want to buy subs or whatever before the end of the stream?
I have to start doing sub call outs because uh editors cost money. So, or memberships if you're on YouTube.
Yeah. Welcome to my life.
You guys are following. That's nice. All right, I'll allow that as well. Um, by the way, subscribing on Twitch means something different than following.
Subscribing means the you buy a sub.
Do logic in 3D.
Huh.
Oh gosh.
anyways. No takers. I'm allowing I'm allowing the purchasing only right now. All right. You know what? [ __ ] it. I'm just going to go.
Wait, wait, wait. Yo, what the heck?
Oh, count. You didn't have to do that.
Oh my gosh. Count, [laughter] I didn't even I saw your message. I was just going to reply to you on Discord. You felt bad.
Oh, because I was like embarrassing myself by asking people to buy subs.
[laughter] You You took pity on me.
[clears throat] Well, thank you for the 10 gift subs.
That's huge.
Thank you so much.
Absolute gigachad count zero interrupted the opposite direction harder. You clicked on the screen. Which is tile did you hit? Oh, that's fine. That's just the projection on screen. You're very welcome. Back to work for me. Just listening. Heard you cry for help. Oh my gosh. All right. Thank you. Count zero.
[laughter] No big deal. No big deal.
What's up with the Twitch staff bots watching me all the time?
Have you guys noticed there's a it's either a staff or a robot that's watching?
What what does the Twitch staff staff Why are they so interested in me? Are they going to try and hire me? Try and poach me? Is that it?
Like I understand the QA moderation bot following me because I have a plugin.
Oh, Kai. Hi, honey. Kai, I want to show you what I've been working on today.
Look at this. You see it? Can Do you see it? Do you see it? See the mouse highlighting?
Isn't it cool? It's so cool. Oh, I see.
Yeah. Look, it's like a real game. Kind of. [laughter] Kind of.
I think I made a tactical error. Oh, what was your tactical error?
Oh, you said hi to Samir and he thinks that you're me. That's that's what's going on.
Now you have team fight tactics.
Yeah, basically.
Actually, I thought about recreating my uh my like battling. Remember the isometric battling game? Is that C?
Yeah, it's C.
I see said the blind man. Here it is. I just created a dummy tile graphics components and I switched all my naming convention to Pascal case now needs a character now. Yeah, I know.
See four direct messages in the past five minutes.
Oh god, that's so funny, Nora. Oh my gosh. I'm so sorry.
Used to play an isometric battle game called Tactical Arena Online.
Really?
That's so weird cuz my game back in the day, the first isometric project I did tried, I was calling a tactical battle arena.
Yeah, I'll have to add a character. I'm going to have to figure out.
Hi. Many professionals have accepted that the nature of coding is shifted toward AI orchestration. Will you be using it in the development for in the future?
No, not on this channel anyways.
Many professional. Yeah, in quotes. Many professionals.
Hey, what's up Good afternoon. Uh, yeah, I suppose it is afternoon. We just hit the afternoon mark, didn't we?
Yeah, I wish I could just keep coding this game. You guys just keep coding all day long, but you guys don't buy enough subs, so I got to I got to go work. I got to go work for a living. Am I a software engineer? Yes.
Yes. Yes. Yes.
That's how I pay my bills.
Although I don't think I want to be a software engineer anymore. I think I want to be a game developer.
And I want to slowly manually code out my games and that way everybody can tell me that I'm going to be obsolete or whatever.
Oh, Kai, you didn't have to gift a sub.
But thank you, honey. I want that swift stream. Oh, yeah. I forgot about the Swift stream goal.
Become a game developmental psychologist.
What What does that even mean?
AI orchestration. Jeez, that sounds like that just sounds like insanity to me.
I mean, I use Claude in a browser. I I do not trust agent software at all. I I don't want I don't want AI running commands on my computer. That's kind of like that's where things end for me. That's like the hard line for me.
I saw some guy on X.com complaining that Soul 5.6 had deleted his home directory.
But me, I'm just uh coding. Can you show me how you batch render, please? You asked this on YouTube and I said I don't batch render. Like I just load a texture and then I I call draw texture pro on each thing sequentially. There's no batch rendering here. I don't I don't send like anything to the GPU. I let Ray I let Ray Lib handle all that for me.
I suppose if I really wanted to I could just like No, that doesn't make sense. Yeah, I wouldn't be able to like premputee the thing. I like Yeah, it doesn't really make sense to batch render in this situation. I don't even know what batch rendering really means to be honest.
Channel randomly popped on my feed. One day I'm enjoying catching a few minutes of stream every day. It's a breath of fresh air in today's world. Thank you, SVG. That is very kind because I work very hard at making content. So, I'm glad that it's like reaching people and people are starting to enjoy things about it.
Also, if the Twitch engineering team is trying to hire me, you guys should just email me and we can talk instead of just watching my streams all the time.
Wait, the person thinks I'm you? Yes, I know, Norah. That's That's I knew that was going to happen.
Now I'm being asked where I live. Oh, just just stop talking to them then.
Yeah.
Is your freelance work mostly related to crud? Um, sometimes doesn't have many sprites, so it's not a problem.
Oh gosh, I uh the viewership number is like very appealing to my brain, but I feel like I got to go. Feel like I got to go. I got to get stuff done.
I got to eat lunch. I gotta do client work.
But all I want to do is do this all day.
Boo.
[laughter] That's pretty devious. Red Knife, which is using your stream as training material for an AI that generates programmer streams of programmers that don't use AI.
All right. All right. Before we get an ad break here, let's uh find someone to raid. Perhaps better software conference raid maybe.
AI Twitch summaries were the beginning of the end. I don't Yeah, I don't know why they do that. That's kind of like antithetical to like consuming content.
It's weird.
Who's doing cool stuff in the ch the category today?
Is anybody doing cool stuff in the category right now?
What's my favorite movie? The 1995 Ghost in the Shell movie.
Actually, I was watching the new Ghost in the Shell series on Amazon Prime yesterday and it's weird. Sorry, Count Zero.
Do the new Ghost in the Shell series on Amazon is like weird. I don't think I like it. the new 2026 series.
It's too anime. It's not serious. Like the major is like kind of this weird I don't know. It's not normal major. That's what I don't like it about it. It's kind of like almost major is like a little bit too girly, right? In previous like Ghost in the Shell movies, the major is like a stone cold killer basically.
Did you talk about Indie Game the movie Blast from the Past? No, I didn't.
Yeah, this Ghost in the Shell like Ghost in the Shell standalone complex was an amazing TV show. Even some of the stuff from like Netflix, the Netflix like produced TV series like Ghost in the Shell series was good.
Well, except the [clears throat] 3D crap, but um the stuff from like many years ago. But yeah, this new the weird thing is that this new series, it has like the the style of the new series reminds me of the style from the mangas. Like I own Ghost in the Shell mangas and the style lines up very closely with that, but the attitude in the dialogue is very different than like I'm used to. It's just weird.
I don't know. I didn't really I couldn't really get into it. And they also just like borrowed plot lines from the movies.
Like what?
Like, okay, spoilers, but in the first like scene of the first episode, they recreated the first scene from the 1995 movie. And then in the second scene of the first episode, they recreated the core plot point from the second Ghost in the Shell movie, Innocence, where they like the orphanage was like ghost dubbing and it was like causing Yeah. Anyways, so it's like kind of weird.
Kind of weird. Kind of weird. Okay. Who are we who are we raiding? Are we going to raid somebody?
But indie game the movie was crazy.
By the way, that movie's 14 years old.
The freak.
14 years old.
Why don't I use GDAU or other engine?
Perhaps you should ask the question, why do you use GDAU or other engine? H engines were sold to us by big engine to sell more engine.
[laughter] That was stupid.
Okay. Uh, seriously guys, who do we want to ren render? Who do we want to render?
Who do we want to raid?
Everybody already left. So, I need to I need to figure something out here.
Yo yo, thanks for the prime. Uh, Ruiz Mari my Ruiz my Hey, I know this guy. Let's raid this guy.
I think I know this guy. Isn't this the the YouTube guy? He's the YouTube guy.
Yes, he's the YouTube guy. All right.
Sick. All right, let's do it. Let's Let's uh hit him up. Let's hit him up.
Let's put this guy at the top of the category.
Yo, peace out, vodka. Bye, everybody.
Have a great day. I'll see you tomorrow.
Related Videos

Expanding Stikbot thumbnails
leopoldshorts
2K views•2023-09-24

Digital Discrimination: Cognitive Bias in Machine Learning
redmonktechevents2974
4K views•2019-12-18

Evolutionary Approach to Clustering by Ujjwal Maulik
ICTStalks
279 views•2019-06-26

Rose Yu "Learning from Large-Scale Spatiotemporal Data"
networkscienceinstitute
2K views•2019-03-04

Stanford Seminar - Generalization through Task Representations with Foundation Models
stanfordonline
4K views•2025-07-14

Satellite-Based Wheat Yield Forecasting using GEE & Transformer Neural Network
gisrsinstitute
634 views•2025-06-15

Paradigm Shifts in Data Processing for the Generative AI Era: Robert Nishihara of Anyscale & Ray.io
GradientFlow
2K views•2025-01-02

How to Build Your Own GenAI-Based Knowledge Management System
2150GmbH
360 views•2025-06-03
Trending

Playstation NO DISC/NO BUY Fight Is Over...
DavidJaffeGames
4K views•2026-07-23

Steam and Xbox Just Dropped The Hammer On PlayStation
OhNoItsAlexx
9K views•2026-07-23

Americans Confused in Australia for 17 Minutes Straight
IWrocker
17K views•2026-07-23

SuperBike Factory Has Gone... What's Next for the Motorcycle Industry?
thatbikersimon
11K views•2026-07-22