← Back
Scott Hanselman September 15, 2025 31m

Making Video Games in 2025 with Celeste's Noel Berry

Read full transcript 25 segments
  1. Hi, I'm Scott Hansel and this is another Hi, I'm Scott Hansel and this is another episode of Hansel Minutes. Today I have episode of Hansel Minutes. Today I have episode of Hansel Minutes. Today I have the extreme pleasure chatting with the extreme pleasure chatting with the extreme pleasure chatting with Nberry. He's the co-creator of Celeste Nberry. He's the co-creator of Celeste Nberry. He's the co-creator of Celeste and works at Extremely Okay Games. How's and works at Extremely Okay Games. How's and works at Extremely Okay Games. How's it going? it going? it going? >> Good, thanks. Thanks for having me. >> Good, thanks. Thanks for having me. >> Good, thanks. Thanks for having me. >> Yeah, thanks for hanging out. I I saw >> Yeah, thanks for hanging out. I I saw >> Yeah, thanks for hanging out. I I saw your blog post called making video games your blog post called making video games your blog post called making video games in 2025 and uh you have been making in 2025 and uh you have been making in 2025 and uh you have been making video games for like more than two video games for like more than two video games for like more than two decades now. decades now. decades now. >> Yeah, rough like since I've been making >> Yeah, rough like since I've been making >> Yeah, rough like since I've been making games since I was a kid. So I started games since I was a kid. So I started games since I was a kid. So I started like 11 12 and kind of just kept doing like 11 12 and kind of just kept doing like 11 12 and kind of just kept doing it. it. it. >> Mhm. How many games got made before >> Mhm. How many games got made before >> Mhm. How many games got made before Celeste? Before the game that kind of Celeste? Before the game that kind of Celeste? Before the game that kind of quote unquote popped. quote unquote popped. quote unquote popped. >> Oh man. Um a lot. Like dozens of games. >> Oh man. Um a lot. Like dozens of games. >> Oh man. Um a lot. Like dozens of games. If you can count unfinished games If you can count unfinished games If you can count unfinished games probably like a hundred or something. probably like a hundred or something. probably like a hundred or something. But in in terms of just like things that But in in terms of just like things that But in in terms of just like things that I would consider kind of finished, I would consider kind of finished, I would consider kind of finished, probably yeah, a few dozen. Um, probably yeah, a few dozen. Um, probably yeah, a few dozen. Um, >> is that is that bad to not finish a >> is that is that bad to not finish a >> is that is that bad to not finish a game? Because like, you know, there are game? Because like, you know, there are game? Because like, you know, there are people there there's perfectionism not people there there's perfectionism not people there there's perfectionism not finishing something and then there's finishing something and then there's finishing something and then there's like this isn't an idea worth finishing like this isn't an idea worth finishing like this isn't an idea worth finishing not finishing something. not finishing something. not finishing something. >> Yeah. I mean, I'm trying to gear more >> Yeah. I mean, I'm trying to gear more >> Yeah. I mean, I'm trying to gear more towards finishing stuff now. Um, because towards finishing stuff now. Um, because towards finishing stuff now. Um, because I'm I'm tired of not finishing stuff. I'm I'm tired of not finishing stuff. I'm I'm tired of not finishing stuff. Uh, but I do find it very hard to Uh, but I do find it very hard to Uh, but I do find it very hard to actually finish things. I think that's actually finish things. I think that's actually finish things. I think that's definitely one of the hard like it's definitely one of the hard like it's definitely one of the hard like it's it's easy to kind of start making stuff, it's easy to kind of start making stuff, it's easy to kind of start making stuff, but it's really hard to finish stuff.

  2. but it's really hard to finish stuff. but it's really hard to finish stuff. I'm trying to that's like a lifelong I'm trying to that's like a lifelong I'm trying to that's like a lifelong skill of trying to get better at that skill of trying to get better at that skill of trying to get better at that and I'm not not there yet but working and I'm not not there yet but working and I'm not not there yet but working towards it. towards it. towards it. >> So I've done like all the Metroids. I've >> So I've done like all the Metroids. I've >> So I've done like all the Metroids. I've done all the Castlevanias. I'm doing done all the Castlevanias. I'm doing done all the Castlevanias. I'm doing Silk Song. I've done Celeste like Silk Song. I've done Celeste like Silk Song. I've done Celeste like >> and I've also playing Elden Ring. So is >> and I've also playing Elden Ring. So is >> and I've also playing Elden Ring. So is is there like a punishing Metroid vania? is there like a punishing Metroid vania? is there like a punishing Metroid vania? Like is that is Soulslike Metroania? Like is that is Soulslike Metroania? Like is that is Soulslike Metroania? It's like people like to say rogue It's like people like to say rogue It's like people like to say rogue like like like >> but it's more than that. It's like pain >> but it's more than that. It's like pain >> but it's more than that. It's like pain is pleasure. When did that become a 2D is pleasure. When did that become a 2D is pleasure. When did that become a 2D thing thing thing >> and and what is where's Celeste's role >> and and what is where's Celeste's role >> and and what is where's Celeste's role in that? Like do you blame yourself for in that? Like do you blame yourself for in that? Like do you blame yourself for starting this process? starting this process? starting this process? >> Uh I don't think I No, I think I I I >> Uh I don't think I No, I think I I I >> Uh I don't think I No, I think I I I think we were definitely a moment in the think we were definitely a moment in the think we were definitely a moment in the timeline of that. Um but yeah, no, I timeline of that. Um but yeah, no, I timeline of that. Um but yeah, no, I mean I think that goes all the way back mean I think that goes all the way back mean I think that goes all the way back even like you know Mario games like old even like you know Mario games like old even like you know Mario games like old old Mario has a little bit of that old Mario has a little bit of that old Mario has a little bit of that element to it for sure. element to it for sure. element to it for sure. >> So I think we're just like a a data >> So I think we're just like a a data >> So I think we're just like a a data point in the in the timeline of of that point in the in the timeline of of that point in the in the timeline of of that stuff. Sometimes people um you know I stuff. Sometimes people um you know I stuff. Sometimes people um you know I won't name names but like just famous won't name names but like just famous won't name names but like just famous video game people make a thing it video game people make a thing it video game people make a thing it becomes the thing they become known for becomes the thing they become known for becomes the thing they become known for the thing and then you basically hit a the thing and then you basically hit a the thing and then you basically hit a home run.

  3. home run. home run. >> So then people expect that you're going >> So then people expect that you're going >> So then people expect that you're going to hit home runs on the regular. to hit home runs on the regular. to hit home runs on the regular. >> Yeah. >> Yeah. >> Yeah. >> Or you're going to come out with home >> Or you're going to come out with home >> Or you're going to come out with home run two you know like Axiom Verge 2 or run two you know like Axiom Verge 2 or run two you know like Axiom Verge 2 or whatever two and then that's the thing whatever two and then that's the thing whatever two and then that's the thing and then then for the rest of your life and then then for the rest of your life and then then for the rest of your life you're going to be like ABBA. you're you're going to be like ABBA. you're you're going to be like ABBA. you're gonna be playing dancing queen at like gonna be playing dancing queen at like gonna be playing dancing queen at like state fairs because you've did a thing state fairs because you've did a thing state fairs because you've did a thing after the success of your kind of main after the success of your kind of main after the success of your kind of main game early on. Did you get a sense of game early on. Did you get a sense of game early on. Did you get a sense of like okay I hit a home run now I've now like okay I hit a home run now I've now like okay I hit a home run now I've now I'm screwed or did that just make you I'm screwed or did that just make you I'm screwed or did that just make you feel like oh I can make more delightful feel like oh I can make more delightful feel like oh I can make more delightful things? things? things? >> Uh a bit of both honestly at like we it >> Uh a bit of both honestly at like we it >> Uh a bit of both honestly at like we it felt like that a lot and I think when it felt like that a lot and I think when it felt like that a lot and I think when it first came out and was really su first came out and was really su first came out and was really su successful we definitely wanted to successful we definitely wanted to successful we definitely wanted to intentionally try to make something very intentionally try to make something very intentionally try to make something very different afterwards because we didn't different afterwards because we didn't different afterwards because we didn't want to have that Yeah. We didn't want want to have that Yeah. We didn't want want to have that Yeah. We didn't want to, you know, make Celeste 2 or just do to, you know, make Celeste 2 or just do to, you know, make Celeste 2 or just do another thing like that. We wanted to another thing like that. We wanted to another thing like that. We wanted to explore other options and other things. explore other options and other things. explore other options and other things. Still in like a platformer genre because Still in like a platformer genre because Still in like a platformer genre because that's what we like making, but that's what we like making, but that's what we like making, but definitely something different. Uh, definitely something different. Uh, definitely something different. Uh, which, uh, didn't end up working out which, uh, didn't end up working out which, uh, didn't end up working out this time, but we're still kind of this time, but we're still kind of this time, but we're still kind of exploring those options and different exploring those options and different exploring those options and different things. But yeah, I I think in general, things. But yeah, I I think in general, things. But yeah, I I think in general, we've always been more excited about we've always been more excited about we've always been more excited about trying to do different stuff. Not even trying to do different stuff. Not even trying to do different stuff. Not even to differentiate ourselves because we to differentiate ourselves because we to differentiate ourselves because we don't want to get tied down to Celeste, don't want to get tied down to Celeste, don't want to get tied down to Celeste, but mostly just because in terms of like but mostly just because in terms of like but mostly just because in terms of like what we find exciting as like artists what we find exciting as like artists what we find exciting as like artists and creative people and stuff, it's just and creative people and stuff, it's just and creative people and stuff, it's just we don't want to make the same game we don't want to make the same game we don't want to make the same game again. Um, and so yeah, there's again. Um, and so yeah, there's again. Um, and so yeah, there's definitely been a drive to try to do definitely been a drive to try to do definitely been a drive to try to do other stuff. Um, I could see, you know, other stuff. Um, I could see, you know, other stuff. Um, I could see, you know, sometime in the future being like, oh, sometime in the future being like, oh, sometime in the future being like, oh, maybe it'd be fun to revisit parts of maybe it'd be fun to revisit parts of maybe it'd be fun to revisit parts of this again or something. But yeah, still this again or something. But yeah, still this again or something. But yeah, still even, you know, six six seven years on,

  4. even, you know, six six seven years on, even, you know, six six seven years on, I still feel like we're excited about I still feel like we're excited about I still feel like we're excited about like trying new things and exploring new like trying new things and exploring new like trying new things and exploring new stuff. stuff. stuff. >> Did moving from making hundreds of >> Did moving from making hundreds of >> Did moving from making hundreds of games, unfinished or not, to making a games, unfinished or not, to making a games, unfinished or not, to making a game with the goal of paying the rent game with the goal of paying the rent game with the goal of paying the rent >> involve a creative shift? Because like >> involve a creative shift? Because like >> involve a creative shift? Because like you're describing a focus on being you're describing a focus on being you're describing a focus on being independent, on not using commercial independent, on not using commercial independent, on not using commercial game engines, on doing your own thing, game engines, on doing your own thing, game engines, on doing your own thing, but there's also rent. but there's also rent. but there's also rent. >> Yes, I think that there was a shift >> Yes, I think that there was a shift >> Yes, I think that there was a shift there. I mean I was like before Celeste there. I mean I was like before Celeste there. I mean I was like before Celeste I was still making money from games but I was still making money from games but I was still making money from games but it was like smaller flash stuff. Um so it was like smaller flash stuff. Um so it was like smaller flash stuff. Um so it wasn't really paying rent. I was it wasn't really paying rent. I was it wasn't really paying rent. I was doing you know other contract work at doing you know other contract work at doing you know other contract work at the time web design web development the time web design web development the time web design web development stuff like that. I used to make a lot of stuff like that. I used to make a lot of stuff like that. I used to make a lot of the websites for deolver digital. So the websites for deolver digital. So the websites for deolver digital. So yeah, there was definitely a transition yeah, there was definitely a transition yeah, there was definitely a transition from kind of doing this as like a from kind of doing this as like a from kind of doing this as like a smaller games for fun and into like smaller games for fun and into like smaller games for fun and into like commercial projects and yeah, there's commercial projects and yeah, there's commercial projects and yeah, there's definitely like I'm trying to think definitely like I'm trying to think definitely like I'm trying to think about how to like about how to like about how to like >> like how does it suck it suck the joy >> like how does it suck it suck the joy >> like how does it suck it suck the joy out of it? Cuz I had a friend who made out of it? Cuz I had a friend who made out of it? Cuz I had a friend who made jewelry and I was like, "Oh, we should jewelry and I was like, "Oh, we should jewelry and I was like, "Oh, we should do a show and we put on a show for her do a show and we put on a show for her do a show and we put on a show for her jewelry and she said it sucked the joy jewelry and she said it sucked the joy jewelry and she said it sucked the joy out of it." out of it." out of it." >> Yeah, I think that happens a little bit.

  5. >> Yeah, I think that happens a little bit. >> Yeah, I think that happens a little bit. Um, I think especially like we're in a Um, I think especially like we're in a Um, I think especially like we're in a fortunate position where Celeste did fortunate position where Celeste did fortunate position where Celeste did well enough that I feel like we're well enough that I feel like we're well enough that I feel like we're allowed to explore and kind of go at our allowed to explore and kind of go at our allowed to explore and kind of go at our own pace and try to make fun stuff um own pace and try to make fun stuff um own pace and try to make fun stuff um without the pressure of like we have to without the pressure of like we have to without the pressure of like we have to like have this timeline, it has to be like have this timeline, it has to be like have this timeline, it has to be done otherwise, you know, we need to pay done otherwise, you know, we need to pay done otherwise, you know, we need to pay rent. Um, so we're in a fortune position rent. Um, so we're in a fortune position rent. Um, so we're in a fortune position in that regard, but it still feels like in that regard, but it still feels like in that regard, but it still feels like yeah, as soon as there's it it yeah, as soon as there's it it yeah, as soon as there's it it definitely shifts your thinking about definitely shifts your thinking about definitely shifts your thinking about how you're working on stuff because how you're working on stuff because how you're working on stuff because instead of it being like I'm making a instead of it being like I'm making a instead of it being like I'm making a thing and what's fun, it's like you have thing and what's fun, it's like you have thing and what's fun, it's like you have all these like, well, is it too hard? Is all these like, well, is it too hard? Is all these like, well, is it too hard? Is it too easy? Does it how how does it how it too easy? Does it how how does it how it too easy? Does it how how does it how will people talk about it? Is, you know, will people talk about it? Is, you know, will people talk about it? Is, you know, do people like buying these games right do people like buying these games right do people like buying these games right now? Um, is this genre viable? All these now? Um, is this genre viable? All these now? Um, is this genre viable? All these kind of things start playing. even if kind of things start playing. even if kind of things start playing. even if you don't really if you're trying to you don't really if you're trying to you don't really if you're trying to avoid that stuff, even if you don't avoid that stuff, even if you don't avoid that stuff, even if you don't really care about that stuff, it really care about that stuff, it really care about that stuff, it definitely impacts um things. I think I definitely impacts um things. I think I definitely impacts um things. I think I think for us, we're trying to, you know, think for us, we're trying to, you know, think for us, we're trying to, you know, trying to avoid that stuff as much as trying to avoid that stuff as much as trying to avoid that stuff as much as possible and just make stuff that feels possible and just make stuff that feels possible and just make stuff that feels fun to us because that's what's worked fun to us because that's what's worked fun to us because that's what's worked for us so far is making stuff that we're for us so far is making stuff that we're for us so far is making stuff that we're excited about. Um and just not worrying excited about. Um and just not worrying excited about. Um and just not worrying so much, trying not to worry about the so much, trying not to worry about the so much, trying not to worry about the sort of like, oh, will this sell? which sort of like, oh, will this sell? which sort of like, oh, will this sell? which is a fortunate position to be in, but um is a fortunate position to be in, but um is a fortunate position to be in, but um also I think ends up making stuff that also I think ends up making stuff that also I think ends up making stuff that is is fun or more interesting.

  6. is is fun or more interesting. is is fun or more interesting. >> I know you can't speak for Team Cherry, >> I know you can't speak for Team Cherry, >> I know you can't speak for Team Cherry, but everyone's teasing them because Silk but everyone's teasing them because Silk but everyone's teasing them because Silk Song was like announced in 2019 and it Song was like announced in 2019 and it Song was like announced in 2019 and it just came out like last week. just came out like last week. just came out like last week. >> So, let's think speculatively like what >> So, let's think speculatively like what >> So, let's think speculatively like what have they been doing for the last 6 have they been doing for the last 6 have they been doing for the last 6 years? Like is there a thing where you years? Like is there a thing where you years? Like is there a thing where you have like a burst of energy and you're have like a burst of energy and you're have like a burst of energy and you're like, "Oh my goodness, this idea, this like, "Oh my goodness, this idea, this like, "Oh my goodness, this idea, this mechanism, this game loop is exciting mechanism, this game loop is exciting mechanism, this game loop is exciting and then you're in the office 60 hours and then you're in the office 60 hours and then you're in the office 60 hours that week and then maybe another week that week and then maybe another week that week and then maybe another week there's 20 hours and you're just like, there's 20 hours and you're just like, there's 20 hours and you're just like, "This is not happening. I don't know "This is not happening. I don't know "This is not happening. I don't know what's going on." Like, were they what's going on." Like, were they what's going on." Like, were they literally working 2,000 hours a year for literally working 2,000 hours a year for literally working 2,000 hours a year for six solid years on this thing? six solid years on this thing? six solid years on this thing? >> I I don't think so. I mean, if there >> I I don't think so. I mean, if there >> I I don't think so. I mean, if there anything like how how we work, that anything like how how we work, that anything like how how we work, that stuff definitely goes in waves where of stuff definitely goes in waves where of stuff definitely goes in waves where of inspiration and burnout and I don't inspiration and burnout and I don't inspiration and burnout and I don't know, just like life, especially over 6 know, just like life, especially over 6 know, just like life, especially over 6 years, like I think your life would just years, like I think your life would just years, like I think your life would just change and things would happen and change and things would happen and change and things would happen and there'd just be like moments of like there'd just be like moments of like there'd just be like moments of like we're getting so much done right now and we're getting so much done right now and we're getting so much done right now and everything's flowing and moments of just everything's flowing and moments of just everything's flowing and moments of just like, yeah, it's kind of stuck or like like, yeah, it's kind of stuck or like like, yeah, it's kind of stuck or like we don't know exactly what to do. I we don't know exactly what to do. I we don't know exactly what to do. I definitely think that that goes that definitely think that that goes that definitely think that that goes that yeah, there's kind of like eb and flows yeah, there's kind of like eb and flows yeah, there's kind of like eb and flows of those kind of things and yeah, and of those kind of things and yeah, and of those kind of things and yeah, and what we interested in working on moment what we interested in working on moment what we interested in working on moment to moment too. I I I have a hard time to moment too. I I I have a hard time to moment too. I I I have a hard time thinking about like working on something thinking about like working on something thinking about like working on something the same thing for six years. I the same thing for six years. I the same thing for six years. I definitely feel like creatively I I get definitely feel like creatively I I get definitely feel like creatively I I get sidetracked or sometimes I'll just work sidetracked or sometimes I'll just work sidetracked or sometimes I'll just work on other hobby stuff for a bit because on other hobby stuff for a bit because on other hobby stuff for a bit because I'm like well I'm kind of stuck on this I'm like well I'm kind of stuck on this I'm like well I'm kind of stuck on this thing. I'll work on sometimes more just thing. I'll work on sometimes more just thing. I'll work on sometimes more just code related stuff rather than kind of code related stuff rather than kind of code related stuff rather than kind of creative like like game design creative creative like like game design creative creative like like game design creative stuff and more just like code stuff and more just like code stuff and more just like code engineering problems that are fun. Um engineering problems that are fun. Um engineering problems that are fun. Um stuff like that.

  7. stuff like that. stuff like that. moving to like the tech and thinking moving to like the tech and thinking moving to like the tech and thinking about how games get made. You know, you about how games get made. You know, you about how games get made. You know, you used engines like Game Maker for for used engines like Game Maker for for used engines like Game Maker for for years. Uh there's lots of like indie years. Uh there's lots of like indie years. Uh there's lots of like indie games with small frameworks like FNA and games with small frameworks like FNA and games with small frameworks like FNA and SDL. There's big engines like Unity and SDL. There's big engines like Unity and SDL. There's big engines like Unity and uh but you choose to get your pixels on uh but you choose to get your pixels on uh but you choose to get your pixels on the screen kind of on your own. the screen kind of on your own. the screen kind of on your own. Doesn't that like isn't the whole point Doesn't that like isn't the whole point Doesn't that like isn't the whole point to like layer the the tools so that the to like layer the the tools so that the to like layer the the tools so that the creativity is up here and you're not creativity is up here and you're not creativity is up here and you're not worried about the little details? Why worried about the little details? Why worried about the little details? Why are you a full stack game developer? are you a full stack game developer? are you a full stack game developer? >> Like the the biggest answer to that or >> Like the the biggest answer to that or >> Like the the biggest answer to that or the main answer to that is that I just the main answer to that is that I just the main answer to that is that I just find it fun. Um I I like I like the best find it fun. Um I I like I like the best find it fun. Um I I like I like the best answer. answer. answer. >> Yeah, I I I like programming a lot. Uh I >> Yeah, I I I like programming a lot. Uh I >> Yeah, I I I like programming a lot. Uh I like creating things. Um I like the game like creating things. Um I like the game like creating things. Um I like the game design aspect of things and making the design aspect of things and making the design aspect of things and making the gameplay fun, but I also like engineer gameplay fun, but I also like engineer gameplay fun, but I also like engineer stuff. I like learning how things work. stuff. I like learning how things work. stuff. I like learning how things work. um you know uh and that's been a very um you know uh and that's been a very um you know uh and that's been a very gradual shift for me over a long time gradual shift for me over a long time gradual shift for me over a long time because like you said I started in Game because like you said I started in Game because like you said I started in Game Maker. I did a lot of Flash um and I Maker. I did a lot of Flash um and I Maker. I did a lot of Flash um and I kind of slowly moved into more tech kind of slowly moved into more tech kind of slowly moved into more tech stuff as as time went on. Um and I just stuff as as time went on. Um and I just stuff as as time went on. Um and I just found it fun. Um and so I'm at a point found it fun. Um and so I'm at a point found it fun. Um and so I'm at a point where I think I just enjoy ultimately I where I think I just enjoy ultimately I where I think I just enjoy ultimately I just enjoy um knowing how my stuff gets just enjoy um knowing how my stuff gets just enjoy um knowing how my stuff gets on the screen. Um and I I definitely on the screen. Um and I I definitely on the screen. Um and I I definitely don't get down to the very bare bones.

  8. don't get down to the very bare bones. don't get down to the very bare bones. You know, I'm not I'm still using SDL. You know, I'm not I'm still using SDL. You know, I'm not I'm still using SDL. I'm not writing actual system calls. Um, I'm not writing actual system calls. Um, I'm not writing actual system calls. Um, but I enjoy that level of it where I can but I enjoy that level of it where I can but I enjoy that level of it where I can kind of control it the way I want. And I kind of control it the way I want. And I kind of control it the way I want. And I think I'm very opinionated, too. I like think I'm very opinionated, too. I like think I'm very opinionated, too. I like things being in my little way. Um, and things being in my little way. Um, and things being in my little way. Um, and as soon as it's not my way, I get, you as soon as it's not my way, I get, you as soon as it's not my way, I get, you know, annoyed and I'm like, "Oh, why know, annoyed and I'm like, "Oh, why know, annoyed and I'm like, "Oh, why can't this be my way?" And then I So can't this be my way?" And then I So can't this be my way?" And then I So then I write my thing to do it my way. then I write my thing to do it my way. then I write my thing to do it my way. And for context to folks that may not be And for context to folks that may not be And for context to folks that may not be familiar, SDL is simple direct media familiar, SDL is simple direct media familiar, SDL is simple direct media layer. It's a library that is higher layer. It's a library that is higher layer. It's a library that is higher than just putting a pixel on the screen, than just putting a pixel on the screen, than just putting a pixel on the screen, but still gives you low-level access to but still gives you low-level access to but still gives you low-level access to the keyboard and the mouse and basically the keyboard and the mouse and basically the keyboard and the mouse and basically everything that that happens. Now, you everything that that happens. Now, you everything that that happens. Now, you do most of your work in C, but I don't do most of your work in C, but I don't do most of your work in C, but I don't get the impression that you're like a uh get the impression that you're like a uh get the impression that you're like a uh we love Microsoft and Windows is the way we love Microsoft and Windows is the way we love Microsoft and Windows is the way kind of a person. You do your work in kind of a person. You do your work in kind of a person. You do your work in Linux. Linux. Linux. >> Yeah, I work on Linux. Um I have I I >> Yeah, I work on Linux. Um I have I I >> Yeah, I work on Linux. Um I have I I mean I wasn't Linux is kind of more mean I wasn't Linux is kind of more mean I wasn't Linux is kind of more recent for me. I I think I switched um recent for me. I I think I switched um recent for me. I I think I switched um full-time to Linux about 3 years ago. Um full-time to Linux about 3 years ago. Um full-time to Linux about 3 years ago. Um but no I think C mostly for me is just but no I think C mostly for me is just but no I think C mostly for me is just the my favorite language just in how the my favorite language just in how the my favorite language just in how it's designed. The net you know it's designed. The net you know it's designed. The net you know framework and everything uh is just the framework and everything uh is just the framework and everything uh is just the most fluid for me for like making games.

  9. most fluid for me for like making games. most fluid for me for like making games. Um, it it has a really nice balance of Um, it it has a really nice balance of Um, it it has a really nice balance of like low-level stuff where I can kind of like low-level stuff where I can kind of like low-level stuff where I can kind of control how memor is managed and control how memor is managed and control how memor is managed and different things. And when I need to, I different things. And when I need to, I different things. And when I need to, I can be like, oh, I I can, you know, make can be like, oh, I I can, you know, make can be like, oh, I I can, you know, make calls into DLS and things like that calls into DLS and things like that calls into DLS and things like that really nicely, but then it has all these really nicely, but then it has all these really nicely, but then it has all these awesome like intuitive, easy to use awesome like intuitive, easy to use awesome like intuitive, easy to use features that make it really smooth, features that make it really smooth, features that make it really smooth, especially for games like code routines, especially for games like code routines, especially for games like code routines, like I enumerators, stuff like that, like I enumerators, stuff like that, like I enumerators, stuff like that, where you can kind of easily make where you can kind of easily make where you can kind of easily make cutcenes or enemy designs, things like cutcenes or enemy designs, things like cutcenes or enemy designs, things like that where it's a bit higher level, um, that where it's a bit higher level, um, that where it's a bit higher level, um, but really smooth. Um, and like as an but really smooth. Um, and like as an but really smooth. Um, and like as an example of that, um, you know, I make example of that, um, you know, I make example of that, um, you know, I make games with people who don't always code games with people who don't always code games with people who don't always code a lot. Like my brother is working on a lot. Like my brother is working on a lot. Like my brother is working on with me on a smaller project and uh he with me on a smaller project and uh he with me on a smaller project and uh he went from no coding about a year ago to went from no coding about a year ago to went from no coding about a year ago to he codes entire enemies in C# because he codes entire enemies in C# because he codes entire enemies in C# because it's just like you can kind of get the it's just like you can kind of get the it's just like you can kind of get the idea of like oh you know he's not idea of like oh you know he's not idea of like oh you know he's not writing you know structural stuff but if writing you know structural stuff but if writing you know structural stuff but if it's like I want an enemy to move from it's like I want an enemy to move from it's like I want an enemy to move from here to here he can go in and you know here to here he can go in and you know here to here he can go in and you know just edit the code to do that or add his just edit the code to do that or add his just edit the code to do that or add his own little functions because C# is it's own little functions because C# is it's own little functions because C# is it's there's not a lot of like foot guns like there's not a lot of like foot guns like there's not a lot of like foot guns like with C++ where you can you know allocate with C++ where you can you know allocate with C++ where you can you know allocate stuff like crazy and dangle a pointer stuff like crazy and dangle a pointer stuff like crazy and dangle a pointer and things explode. Um, it's a lot safer and things explode. Um, it's a lot safer and things explode. Um, it's a lot safer than that. So, it's this really nice than that. So, it's this really nice than that. So, it's this really nice middle ground of fast and kind of middle ground of fast and kind of middle ground of fast and kind of systemsy, but also intuitive and um, systemsy, but also intuitive and um, systemsy, but also intuitive and um, easy to work with on like a moment to easy to work with on like a moment to easy to work with on like a moment to moment.

  10. moment. moment. >> So, Liam is not a programmer, but he's >> So, Liam is not a programmer, but he's >> So, Liam is not a programmer, but he's programming. Um, is he saying to the programming. Um, is he saying to the programming. Um, is he saying to the enemy, jump, or is he saying to the enemy, jump, or is he saying to the enemy, jump, or is he saying to the enemy move in this parabola? Like where enemy move in this parabola? Like where enemy move in this parabola? Like where are the physics and where is Liam? are the physics and where is Liam? are the physics and where is Liam? >> Um, so the physics are he's like >> Um, so the physics are he's like >> Um, so the physics are he's like assigning velocity values and stuff like assigning velocity values and stuff like assigning velocity values and stuff like that. So, it's kind of and and usually that. So, it's kind of and and usually that. So, it's kind of and and usually often using I numerators. So we'll have often using I numerators. So we'll have often using I numerators. So we'll have we our our enemy behaviors usually use we our our enemy behaviors usually use we our our enemy behaviors usually use in numerators which are um you can kind in numerators which are um you can kind in numerators which are um you can kind of break up the logic into different of break up the logic into different of break up the logic into different pieces. Um so he'll be like you know set pieces. Um so he'll be like you know set pieces. Um so he'll be like you know set the velocity to this value and then wait the velocity to this value and then wait the velocity to this value and then wait until they're on the ground and then you until they're on the ground and then you until they're on the ground and then you know do this attack and then wait until know do this attack and then wait until know do this attack and then wait until that's over and that kind of logic flow. that's over and that kind of logic flow. that's over and that kind of logic flow. Um but he'll do them entirely by himself Um but he'll do them entirely by himself Um but he'll do them entirely by himself now. Like for a while it was mostly just now. Like for a while it was mostly just now. Like for a while it was mostly just him editing mine like oh I think this him editing mine like oh I think this him editing mine like oh I think this guy moves too slow or too fast or guy moves too slow or too fast or guy moves too slow or too fast or whatever. But now it's the point where whatever. But now it's the point where whatever. But now it's the point where he'll just implement his own. He'll he'll just implement his own. He'll he'll just implement his own. He'll usually copy and paste an existing one usually copy and paste an existing one usually copy and paste an existing one and then just, you know, modify it to and then just, you know, modify it to and then just, you know, modify it to his to his liking. his to his liking. his to his liking. >> That's awesome. So, he's almost he's >> That's awesome. So, he's almost he's >> That's awesome. So, he's almost he's he's almost a business logic writer and he's almost a business logic writer and he's almost a business logic writer and he's writing the business logic of the he's writing the business logic of the he's writing the business logic of the game. game. game. >> Yeah, totally. >> Yeah, totally. >> Yeah, totally. >> In C#. >> In C#. >> In C#. >> Hey friends, it's Scott here. I want to >> Hey friends, it's Scott here. I want to >> Hey friends, it's Scott here. I want to welcome our new sponsor, Code Rabbit.

  11. welcome our new sponsor, Code Rabbit. welcome our new sponsor, Code Rabbit. You know, I was talking with Arvin from You know, I was talking with Arvin from You know, I was talking with Arvin from Code Rabbit recently and I was pointing Code Rabbit recently and I was pointing Code Rabbit recently and I was pointing out that developers are using AI all the out that developers are using AI all the out that developers are using AI all the time for code generation and sometimes time for code generation and sometimes time for code generation and sometimes that AI generated code gets sloppy. that AI generated code gets sloppy. that AI generated code gets sloppy. Arvvent, how does Code Rabbit tackle Arvvent, how does Code Rabbit tackle Arvvent, how does Code Rabbit tackle that problem? that problem? that problem? >> Well, uh that's a great question, Scott. >> Well, uh that's a great question, Scott. >> Well, uh that's a great question, Scott. It is ironic to think about uh using AI It is ironic to think about uh using AI It is ironic to think about uh using AI to review AI generated code. Uh but to review AI generated code. Uh but to review AI generated code. Uh but actually it works really well. Code actually it works really well. Code actually it works really well. Code Rabbit brings AI code reviews uh to your Rabbit brings AI code reviews uh to your Rabbit brings AI code reviews uh to your own dev workflow. Uh you can get line by own dev workflow. Uh you can get line by own dev workflow. Uh you can get line by line reviews, one-click fixes, and uh line reviews, one-click fixes, and uh line reviews, one-click fixes, and uh codebase aware feedback on the PR uh codebase aware feedback on the PR uh codebase aware feedback on the PR uh right where you are. uh we integrate right where you are. uh we integrate right where you are. uh we integrate well with more than 20 plus code well with more than 20 plus code well with more than 20 plus code security and code quality tools and uh security and code quality tools and uh security and code quality tools and uh provide your feedback right in the git provide your feedback right in the git provide your feedback right in the git workflow. So you can check this out for workflow. So you can check this out for workflow. So you can check this out for free folks. You can go to code free folks. You can go to code free folks. You can go to code rabbit.ai. rabbit.ai. rabbit.ai. You get free AI code reviews directly in You get free AI code reviews directly in You get free AI code reviews directly in your IDE and the tools that you're your IDE and the tools that you're your IDE and the tools that you're already using and you can ship faster already using and you can ship faster already using and you can ship faster while maintaining your flow state. So I while maintaining your flow state. So I while maintaining your flow state. So I encourage you to check out code encourage you to check out code encourage you to check out code rabbit.ai.

  12. Now C# when I started in 2002 is Now C# when I started in 2002 is different than when you were thinking different than when you were thinking different than when you were thinking about it in 2015 or 2025 like let's about it in 2015 or 2025 like let's about it in 2015 or 2025 like let's let's try to get into a little bit of let's try to get into a little bit of let's try to get into a little bit of spicy conversation here because I want spicy conversation here because I want spicy conversation here because I want to actually have the leaders not just of to actually have the leaders not just of to actually have the leaders not just of the .NET language in the .NET framework the .NET language in the .NET framework the .NET language in the .NET framework rather but also Windows to hear this rather but also Windows to hear this rather but also Windows to hear this podcast. So I might actually make them podcast. So I might actually make them podcast. So I might actually make them listen to this. How much of the work listen to this. How much of the work listen to this. How much of the work that you're doing and the work that the that you're doing and the work that the that you're doing and the work that the game community is doing with C is in game community is doing with C is in game community is doing with C is in spite of Microsoft versus as a result of spite of Microsoft versus as a result of spite of Microsoft versus as a result of stuff Microsoft has done to make you all stuff Microsoft has done to make you all stuff Microsoft has done to make you all successful. successful. successful. >> I think quite a lot of it. I mean it's >> I think quite a lot of it. I mean it's >> I think quite a lot of it. I mean it's hard I I don't it's hard for me as an hard I I don't it's hard for me as an hard I I don't it's hard for me as an outsider to like differentiate exactly outsider to like differentiate exactly outsider to like differentiate exactly which parts are are what almost. But C# which parts are are what almost. But C# which parts are are what almost. But C# the language has been very integral to the language has been very integral to the language has been very integral to me making video games. Um likenet me making video games. Um likenet me making video games. Um likenet >> how it works and where it's gone. >> how it works and where it's gone. >> how it works and where it's gone. especially in the last five. I actually especially in the last five. I actually especially in the last five. I actually stopped using C# for a few years um stopped using C# for a few years um stopped using C# for a few years um after Celeste came out and then I came after Celeste came out and then I came after Celeste came out and then I came back to it because of things that had back to it because of things that had back to it because of things that had have happened in the last few years have happened in the last few years have happened in the last few years especially. So it's hard for me to especially. So it's hard for me to especially. So it's hard for me to totally separate exactly where things totally separate exactly where things totally separate exactly where things are. But yeah, like you said, I don't I are. But yeah, like you said, I don't I are. But yeah, like you said, I don't I don't use Windows anymore. Um but I do don't use Windows anymore. Um but I do don't use Windows anymore. Um but I do use I use Visual Studio Code, I use C#, use I use Visual Studio Code, I use C#, use I use Visual Studio Code, I use C#, I useNET. Uh like my even my website I useNET. Uh like my even my website I useNET. Uh like my even my website uses C to compile the HTML and stuff uses C to compile the HTML and stuff uses C to compile the HTML and stuff like that. Um, so I use C# for like that. Um, so I use C# for like that. Um, so I use C# for everything now, but um I don't think everything now, but um I don't think everything now, but um I don't think it's because of it's definitely not it's because of it's definitely not it's because of it's definitely not Windows. Um, yeah.

  13. Windows. Um, yeah. Windows. Um, yeah. >> So XNA though is one of your favorite uh >> So XNA though is one of your favorite uh >> So XNA though is one of your favorite uh frameworks and that was a big Windows frameworks and that was a big Windows frameworks and that was a big Windows thing for a while. Microsoft supported thing for a while. Microsoft supported thing for a while. Microsoft supported that. that. that. >> What is the status of that project now? >> What is the status of that project now? >> What is the status of that project now? >> That's being deprecated for I think 12 >> That's being deprecated for I think 12 >> That's being deprecated for I think 12 years. Um, but that was the shift for me years. Um, but that was the shift for me years. Um, but that was the shift for me from Flash to console games or desktop from Flash to console games or desktop from Flash to console games or desktop games. So, I was making stuff in Flash games. So, I was making stuff in Flash games. So, I was making stuff in Flash and then I I wasn't using like Flash the and then I I wasn't using like Flash the and then I I wasn't using like Flash the um the the actual like uh um the the actual like uh um the the actual like uh >> Macromedia Flash Yeah, Macromedia Flash. >> Macromedia Flash Yeah, Macromedia Flash. >> Macromedia Flash Yeah, Macromedia Flash. I was using a thing called I think it I was using a thing called I think it I was using a thing called I think it was Flash Develop, which is a very was Flash Develop, which is a very was Flash Develop, which is a very similar it looked kind of like um Visual similar it looked kind of like um Visual similar it looked kind of like um Visual Studio, you know, it had like it was Studio, you know, it had like it was Studio, you know, it had like it was just a code window and you had a just a code window and you had a just a code window and you had a debugger and stuff, but it wasn't any of debugger and stuff, but it wasn't any of debugger and stuff, but it wasn't any of the macromedia flash drawing stuff. So I the macromedia flash drawing stuff. So I the macromedia flash drawing stuff. So I was making flash games like pixel art was making flash games like pixel art was making flash games like pixel art flash games in flash develop and to go flash games in flash develop and to go flash games in flash develop and to go from that um AS3 language to C XNA was from that um AS3 language to C XNA was from that um AS3 language to C XNA was very nice. It was a very gradual like oh very nice. It was a very gradual like oh very nice. It was a very gradual like oh the complexity level here is a very nice the complexity level here is a very nice the complexity level here is a very nice step up from you know flash calls to oh step up from you know flash calls to oh step up from you know flash calls to oh I have a a sprite batcher and I draw I have a a sprite batcher and I draw I have a a sprite batcher and I draw stuff on the window and but now it's now stuff on the window and but now it's now stuff on the window and but now it's now it's a desktop game and runs a thousand it's a desktop game and runs a thousand it's a desktop game and runs a thousand times faster um and is so XNA was times faster um and is so XNA was times faster um and is so XNA was integral I think to uh me making desktop integral I think to uh me making desktop integral I think to uh me making desktop games for sure um and and us in general games for sure um and and us in general games for sure um and and us in general like Towerfall before that um was also like Towerfall before that um was also like Towerfall before that um was also an XNA game um and I worked on a game an XNA game um and I worked on a game an XNA game um and I worked on a game that didn't come out for a long time that didn't come out for a long time that didn't come out for a long time called Skystorm which was an XNA game.

  14. called Skystorm which was an XNA game. called Skystorm which was an XNA game. So that was very much like how I learned So that was very much like how I learned So that was very much like how I learned to make and I don't I don't even know I to make and I don't I don't even know I to make and I don't I don't even know I don't know what I would have done if not don't know what I would have done if not don't know what I would have done if not for that at the time because for that at the time because for that at the time because >> flash what about what about Monogame's >> flash what about what about Monogame's >> flash what about what about Monogame's open source implementation of XNA like open source implementation of XNA like open source implementation of XNA like do you because XNA is not supported it do you because XNA is not supported it do you because XNA is not supported it still works you know it's not Microsoft still works you know it's not Microsoft still works you know it's not Microsoft discontinued it but there there's people discontinued it but there there's people discontinued it but there there's people still talk about it like there's still talk about it like there's still talk about it like there's literally threads on Reddit they're like literally threads on Reddit they're like literally threads on Reddit they're like if XNA is dead is it still good to start if XNA is dead is it still good to start if XNA is dead is it still good to start from 12 years ago from 12 years ago from 12 years ago >> and then people are like, "No, you >> and then people are like, "No, you >> and then people are like, "No, you should still do it. You should use should still do it. You should use should still do it. You should use Monogame." Monogame." Monogame." >> Yeah. I mean, I know people starting XNA >> Yeah. I mean, I know people starting XNA >> Yeah. I mean, I know people starting XNA games now, like in 2025, games now, like in 2025, games now, like in 2025, >> uh, who who who are still using it. Uh, >> uh, who who who are still using it. Uh, >> uh, who who who are still using it. Uh, but then they're using, yeah, uh, but then they're using, yeah, uh, but then they're using, yeah, uh, Monogame or FNA, um, which are ports, Monogame or FNA, um, which are ports, Monogame or FNA, um, which are ports, >> um, uh, ports or like, you know, uh, >> um, uh, ports or like, you know, uh, >> um, uh, ports or like, you know, uh, continuations. Um, so those are really continuations. Um, so those are really continuations. Um, so those are really awesome that they exist and I think they awesome that they exist and I think they awesome that they exist and I think they Yeah, I mean they added I I I doubt Yeah, I mean they added I I I doubt Yeah, I mean they added I I I doubt people would still be saying like you people would still be saying like you people would still be saying like you should make an X XNA game even in 2015 should make an X XNA game even in 2015 should make an X XNA game even in 2015 if it wasn't for Mono game because they if it wasn't for Mono game because they if it wasn't for Mono game because they you know since Microsoft just you know since Microsoft just you know since Microsoft just discontinued it um that was the only way discontinued it um that was the only way discontinued it um that was the only way kind of forward in terms of like making kind of forward in terms of like making kind of forward in terms of like making sure it ran forever. I mean the the XNA sure it ran forever. I mean the the XNA sure it ran forever. I mean the the XNA version of Celeste is still on Windows version of Celeste is still on Windows version of Celeste is still on Windows is still the XNA version that is the is still the XNA version that is the is still the XNA version that is the main version of Celeste but then you main version of Celeste but then you main version of Celeste but then you know we use FNA for Linux and Mac and we know we use FNA for Linux and Mac and we know we use FNA for Linux and Mac and we use Monogame for consoles. So um so yeah use Monogame for consoles. So um so yeah use Monogame for consoles. So um so yeah without monogame and FNA then uh it without monogame and FNA then uh it without monogame and FNA then uh it probably XNA probably would have probably XNA probably would have probably XNA probably would have completely stopped in you know 100% in

  15. completely stopped in you know 100% in completely stopped in you know 100% in 2013 I guess. So when you build when you 2013 I guess. So when you build when you 2013 I guess. So when you build when you run build to build Celeste as an example run build to build Celeste as an example run build to build Celeste as an example and you make n number of target and you make n number of target and you make n number of target executables how many executables are executables how many executables are executables how many executables are there and is it basic are you just if there and is it basic are you just if there and is it basic are you just if deafing your way to glory? deafing your way to glory? deafing your way to glory? >> So we're actually in the middle of >> So we're actually in the middle of >> So we're actually in the middle of reshaping a little bit of this just to reshaping a little bit of this just to reshaping a little bit of this just to keep the project or keep it you know uh keep the project or keep it you know uh keep the project or keep it you know uh maintainable as we go. But yeah maintainable as we go. But yeah maintainable as we go. But yeah historically the way it is there's a historically the way it is there's a historically the way it is there's a bunch of if defafs. Um it's not too bad. bunch of if defafs. Um it's not too bad. bunch of if defafs. Um it's not too bad. There's a bunch of if deaths for console There's a bunch of if deaths for console There's a bunch of if deaths for console stuff, but in general like the main game stuff, but in general like the main game stuff, but in general like the main game has very few if defafs. Kind of the has very few if defafs. Kind of the has very few if defafs. Kind of the launching point of it does. And yeah, launching point of it does. And yeah, launching point of it does. And yeah, >> gameplay loop is like reliably. You >> gameplay loop is like reliably. You >> gameplay loop is like reliably. You don't have situations like, oh, she don't have situations like, oh, she don't have situations like, oh, she jumps differently on Linux. jumps differently on Linux. jumps differently on Linux. >> No, no, that stuff's all the same. And >> No, no, that stuff's all the same. And >> No, no, that stuff's all the same. And so I've I've been slowly like updating so I've I've been slowly like updating so I've I've been slowly like updating it to use like net 9 and modern FNA and it to use like net 9 and modern FNA and it to use like net 9 and modern FNA and stuff because it is still it's still stuff because it is still it's still stuff because it is still it's still like at this moment the version that you like at this moment the version that you like at this moment the version that you see everywhere is uh framework uh 4.7 see everywhere is uh framework uh 4.7 see everywhere is uh framework uh 4.7 whatever whatever whatever >> really >> really >> really >> um yeah >> um yeah >> um yeah >> okay so there's a interesting question >> okay so there's a interesting question >> okay so there's a interesting question so why would you upgrade it if it works so why would you upgrade it if it works so why would you upgrade it if it works why like 9 has crazy perf improvements why like 9 has crazy perf improvements why like 9 has crazy perf improvements like it might be five times faster like it might be five times faster like it might be five times faster >> but it's not like it needs to be like >> but it's not like it needs to be like >> but it's not like it needs to be like how many frames a second do you need how many frames a second do you need how many frames a second do you need >> you're right it runs at 60 frames um >> you're right it runs at 60 frames um >> you're right it runs at 60 frames um there's a few there's a few reasons why there's a few there's a few reasons why there's a few there's a few reasons why um one is I I would like it to be 64 um one is I I would like it to be 64 um one is I I would like it to be 64 four bit and and doing that I kind I four bit and and doing that I kind I four bit and and doing that I kind I know that framework can do that too know that framework can do that too know that framework can do that too >> and you get armed for free as well.

  16. >> and you get armed for free as well. >> and you get armed for free as well. >> Yeah, but mostly it's just that I it's a >> Yeah, but mostly it's just that I it's a >> Yeah, but mostly it's just that I it's a longevity thing I think like I would longevity thing I think like I would longevity thing I think like I would like it to just run on the modern.net. like it to just run on the modern.net. like it to just run on the modern.net. Um you're right there's a lot of perf Um you're right there's a lot of perf Um you're right there's a lot of perf stuff that is really cool. Um I don't stuff that is really cool. Um I don't stuff that is really cool. Um I don't know how much of this I get into but for know how much of this I get into but for know how much of this I get into but for consoles for example like original um consoles for example like original um consoles for example like original um Celeste is is ported basically it uses a Celeste is is ported basically it uses a Celeste is is ported basically it uses a tool called brute which takes the C# I tool called brute which takes the C# I tool called brute which takes the C# I and converts it to C++ and recompiles and converts it to C++ and recompiles and converts it to C++ and recompiles that um but now um there is uh like with that um but now um there is uh like with that um but now um there is uh like with net AOT which is the reason I came back net AOT which is the reason I came back net AOT which is the reason I came back to C# actually because now there's AOT to C# actually because now there's AOT to C# actually because now there's AOT compiling um you can compile it natively compiling um you can compile it natively compiling um you can compile it natively to uh pretty much any platform you want to uh pretty much any platform you want to uh pretty much any platform you want even platforms that don't support uh a even platforms that don't support uh a even platforms that don't support uh a just in time compiler. Um and so I'd just in time compiler. Um and so I'd just in time compiler. Um and so I'd like to longterm, you know, use that like to longterm, you know, use that like to longterm, you know, use that because then we get the benefits of all because then we get the benefits of all because then we get the benefits of all modern performance stuff um from .NET modern performance stuff um from .NET modern performance stuff um from .NET and also um have that working for all and also um have that working for all and also um have that working for all platforms. Um those are the main platforms. Um those are the main platforms. Um those are the main reasons. It's mostly just like a I want reasons. It's mostly just like a I want reasons. It's mostly just like a I want to maintain the game for as long as we to maintain the game for as long as we to maintain the game for as long as we can. Um, and I'd like to just use, you can. Um, and I'd like to just use, you can. Um, and I'd like to just use, you know, the versions of .NET that have know, the versions of .NET that have know, the versions of .NET that have just, you know, uh, improved a lot. Um, just, you know, uh, improved a lot. Um, just, you know, uh, improved a lot. Um, and there are a few things like, yeah, and there are a few things like, yeah, and there are a few things like, yeah, like we will sometimes depending on like we will sometimes depending on like we will sometimes depending on stuff that happens, it'll like hit the stuff that happens, it'll like hit the stuff that happens, it'll like hit the 32-bit memory limit and, uh, die. Uh, 32-bit memory limit and, uh, die. Uh, 32-bit memory limit and, uh, die. Uh, and you know, things like that I'd like and you know, things like that I'd like and you know, things like that I'd like to fix.

  17. to fix. to fix. >> So, if you sit down and you do a hello >> So, if you sit down and you do a hello >> So, if you sit down and you do a hello world today, okay, you're like, "Oh, world today, okay, you're like, "Oh, world today, okay, you're like, "Oh, hey, we're going to make a game. You hey, we're going to make a game. You hey, we're going to make a game. You want Linux, Mac, Switch, PS4, like you want Linux, Mac, Switch, PS4, like you want Linux, Mac, Switch, PS4, like you want them all." want them all." want them all." >> Yeah. Yeah. >> Yeah. Yeah. >> Yeah. Yeah. >> Do you use your own C# layer foster on >> Do you use your own C# layer foster on >> Do you use your own C# layer foster on top of SDL? Is that your hello world? top of SDL? Is that your hello world? top of SDL? Is that your hello world? >> Yeah, that's my hello world usually. Um, >> Yeah, that's my hello world usually. Um, >> Yeah, that's my hello world usually. Um, and that's mostly just because SDL is and that's mostly just because SDL is and that's mostly just because SDL is awesome. Um, but I just like I basically awesome. Um, but I just like I basically awesome. Um, but I just like I basically built my own sort of XNA like on top of built my own sort of XNA like on top of built my own sort of XNA like on top of SDL. So SDL is like the the thing that SDL. So SDL is like the the thing that SDL. So SDL is like the the thing that you know actually runs it crossplatform you know actually runs it crossplatform you know actually runs it crossplatform on everything and opens a window no on everything and opens a window no on everything and opens a window no matter what device you're on. Um, but matter what device you're on. Um, but matter what device you're on. Um, but then I kind of have my own XNA that's then I kind of have my own XNA that's then I kind of have my own XNA that's just like my thing. It's very similar to just like my thing. It's very similar to just like my thing. It's very similar to XNA honestly in terms of the API design. XNA honestly in terms of the API design. XNA honestly in terms of the API design. >> Um it's a bit it's not it's a bit more >> Um it's a bit it's not it's a bit more >> Um it's a bit it's not it's a bit more like me. So it's a bit flavored to like like me. So it's a bit flavored to like like me. So it's a bit flavored to like what I like and things like that. But in what I like and things like that. But in what I like and things like that. But in general it's basically like oh like I general it's basically like oh like I general it's basically like oh like I want .NET 9, I want you know C 14. I want .NET 9, I want you know C 14. I want .NET 9, I want you know C 14. I can't remember what C# but yeah I want can't remember what C# but yeah I want can't remember what C# but yeah I want all these things. Um and I basically all these things. Um and I basically all these things. Um and I basically want X and 8 but so this is my like want X and 8 but so this is my like want X and 8 but so this is my like little thing little thing little thing on your blog post that I'll put a link on your blog post that I'll put a link on your blog post that I'll put a link to in the show notes. Making games in to in the show notes. Making games in to in the show notes. Making games in 2025. We've got this cool screenshot 2025. We've got this cool screenshot 2025. We've got this cool screenshot where you basically stop and inspect an where you basically stop and inspect an where you basically stop and inspect an object with reflection at runtime.

  18. object with reflection at runtime. object with reflection at runtime. There's like it's almost like F12 design There's like it's almost like F12 design There's like it's almost like F12 design tools in Chrome except you're doing it tools in Chrome except you're doing it tools in Chrome except you're doing it in Is that a U thing? in Is that a U thing? in Is that a U thing? >> That's a me thing. Yeah. Um it's I mean >> That's a me thing. Yeah. Um it's I mean >> That's a me thing. Yeah. Um it's I mean it's very simple in C#, right? Because I it's very simple in C#, right? Because I it's very simple in C#, right? Because I you know I I have all the game objects you know I I have all the game objects you know I I have all the game objects kind of in like a just just a list kind of in like a just just a list kind of in like a just just a list ultimately. Um but all the game objects ultimately. Um but all the game objects ultimately. Um but all the game objects are there and I know they're bounding are there and I know they're bounding are there and I know they're bounding boxes. So I can click on it and then if boxes. So I can click on it and then if boxes. So I can click on it and then if I click on it I can just loop through I click on it I can just loop through I click on it I can just loop through recursively and just show stuff um in recursively and just show stuff um in recursively and just show stuff um in >> presumably change it I assume if you >> presumably change it I assume if you >> presumably change it I assume if you wanted to in real time. wanted to in real time. wanted to in real time. >> Yeah, you can just change them. Um, and >> Yeah, you can just change them. Um, and >> Yeah, you can just change them. Um, and you know, I just hit if I hit most you know, I just hit if I hit most you know, I just hit if I hit most primitive types, uh, at that point primitive types, uh, at that point primitive types, uh, at that point you're just iteratively going through you're just iteratively going through you're just iteratively going through the different objects and you can kind the different objects and you can kind the different objects and you can kind of see everything. And it's a really of see everything. And it's a really of see everything. And it's a really nice way to just be like, why is this nice way to just be like, why is this nice way to just be like, why is this thing's velocity not what I or maybe thing's velocity not what I or maybe thing's velocity not what I or maybe it's velocity is what it is, but it's it's velocity is what it is, but it's it's velocity is what it is, but it's not moving or something weird. And you not moving or something weird. And you not moving or something weird. And you can kind of it's a nice way to I mean, can kind of it's a nice way to I mean, can kind of it's a nice way to I mean, ultimately I'll I'll go into the actual, ultimately I'll I'll go into the actual, ultimately I'll I'll go into the actual, you know, debugger in C# if there's like you know, debugger in C# if there's like you know, debugger in C# if there's like deeper issues, but for just a kind of at deeper issues, but for just a kind of at deeper issues, but for just a kind of at a glance like what's happening, it's a glance like what's happening, it's a glance like what's happening, it's it's really convenient. it's really convenient. it's really convenient. >> Mhm. the uh and you're doing this again >> Mhm. the uh and you're doing this again >> Mhm. the uh and you're doing this again on on Linux, on Windows, it's on on Linux, on Windows, it's on on Linux, on Windows, it's crossplatform, it runs everywhere. You crossplatform, it runs everywhere. You crossplatform, it runs everywhere. You do your primary development. Do you do do your primary development. Do you do do your primary development. Do you do it in Visual Studio Code? Are you like a it in Visual Studio Code? Are you like a it in Visual Studio Code? Are you like a Vim or Emacs person?

  19. Vim or Emacs person? Vim or Emacs person? >> I'm I'm a VS Code person still. Um so >> I'm I'm a VS Code person still. Um so >> I'm I'm a VS Code person still. Um so yeah, I like I I've never I haven't I yeah, I like I I've never I haven't I yeah, I like I I've never I haven't I haven't gotten the patience level to haven't gotten the patience level to haven't gotten the patience level to learn uh Vim or anything like that. Uh learn uh Vim or anything like that. Uh learn uh Vim or anything like that. Uh so I I still yeah, I like VS Code a lot. so I I still yeah, I like VS Code a lot. so I I still yeah, I like VS Code a lot. Uh and I use I use that. Um but yeah, I Uh and I use I use that. Um but yeah, I Uh and I use I use that. Um but yeah, I mean the nice thing about C# and is that mean the nice thing about C# and is that mean the nice thing about C# and is that you can kind of like I think in our you can kind of like I think in our you can kind of like I think in our office like we have I'm working on office like we have I'm working on office like we have I'm working on Linux, someone else is working at Mac, Linux, someone else is working at Mac, Linux, someone else is working at Mac, another person's working at Windows and another person's working at Windows and another person's working at Windows and it just you're kind of just going and it it just you're kind of just going and it it just you're kind of just going and it doesn't it's neat cuz you just you build doesn't it's neat cuz you just you build doesn't it's neat cuz you just you build stuff and have changes and then the stuff and have changes and then the stuff and have changes and then the other person pulls them and it just other person pulls them and it just other person pulls them and it just works. There's no like Yeah, this might works. There's no like Yeah, this might works. There's no like Yeah, this might be a dumb question, but I've always be a dumb question, but I've always be a dumb question, but I've always wanted to ask a game developer this wanted to ask a game developer this wanted to ask a game developer this because I noticed as I'm starting to get because I noticed as I'm starting to get because I noticed as I'm starting to get like achievements in certain games that like achievements in certain games that like achievements in certain games that like the percentage is getting really like the percentage is getting really like the percentage is getting really low. So it's like I'm on Xbox and it's low. So it's like I'm on Xbox and it's low. So it's like I'm on Xbox and it's like 68% of people got this achievement like 68% of people got this achievement like 68% of people got this achievement now. like I'm deep into the game and now. like I'm deep into the game and now. like I'm deep into the game and it's like 0.3% of people and it's like I it's like 0.3% of people and it's like I it's like 0.3% of people and it's like I just finished some DLC for something and just finished some DLC for something and just finished some DLC for something and it was like low 1%. it was like low 1%. it was like low 1%. >> So there's this feeling that I'm like >> So there's this feeling that I'm like >> So there's this feeling that I'm like I'm really deep into this game like I'm I'm really deep into this game like I'm I'm really deep into this game like I'm many layers into Celeste. No one gets many layers into Celeste. No one gets many layers into Celeste. No one gets this deep. So here's the dumb question.

  20. this deep. So here's the dumb question. this deep. So here's the dumb question. How do you test that? Do you just become How do you test that? Do you just become How do you test that? Do you just become the world's best Celeste player because the world's best Celeste player because the world's best Celeste player because you're the the the writer or do you just you're the the the writer or do you just you're the the the writer or do you just like change a bunch of variables and like change a bunch of variables and like change a bunch of variables and then teleport her to the end? Uh, a bit then teleport her to the end? Uh, a bit then teleport her to the end? Uh, a bit of both. Um, at some point, yeah, like of both. Um, at some point, yeah, like of both. Um, at some point, yeah, like we like we definitely played through all we like we definitely played through all we like we definitely played through all of Celeste on her. Like we beat of Celeste on her. Like we beat of Celeste on her. Like we beat everything that you can do pretty much everything that you can do pretty much everything that you can do pretty much except for there's this extra challenge except for there's this extra challenge except for there's this extra challenge at the end called Golden Strawberries. I at the end called Golden Strawberries. I at the end called Golden Strawberries. I don't think anyone on our team has done don't think anyone on our team has done don't think anyone on our team has done all of those. Definitely a few of them. all of those. Definitely a few of them. all of those. Definitely a few of them. Yeah. But mostly not. Yeah. But mostly not. Yeah. But mostly not. >> You know it's possible though. Like how >> You know it's possible though. Like how >> You know it's possible though. Like how do you know it's possible? Yeah. There's do you know it's possible? Yeah. There's do you know it's possible? Yeah. There's been people on the internet who do it. been people on the internet who do it. been people on the internet who do it. Um, but yeah, for those ones that was a Um, but yeah, for those ones that was a Um, but yeah, for those ones that was a test of just like turning on invincible test of just like turning on invincible test of just like turning on invincible mode and dragging her around until she mode and dragging her around until she mode and dragging her around until she gets to the end and seeing that it like, gets to the end and seeing that it like, gets to the end and seeing that it like, you know, completes successfully. Um, you know, completes successfully. Um, you know, completes successfully. Um, but most most things, yeah, at some but most most things, yeah, at some but most most things, yeah, at some point I'm not anymore, but when it, you point I'm not anymore, but when it, you point I'm not anymore, but when it, you know, when it first came out, we were know, when it first came out, we were know, when it first came out, we were definitely all um, able to play through definitely all um, able to play through definitely all um, able to play through it and stuff, but it's a combination of it and stuff, but it's a combination of it and stuff, but it's a combination of like we had a lot of play testers who like we had a lot of play testers who like we had a lot of play testers who would come and play through it and then would come and play through it and then would come and play through it and then we would play through it a lot. Um, I we would play through it a lot. Um, I we would play through it a lot. Um, I think by virtue of just making the game, think by virtue of just making the game, think by virtue of just making the game, you get pretty good at it because I I I you get pretty good at it because I I I you get pretty good at it because I I I probably have, you know, a thousand probably have, you know, a thousand probably have, you know, a thousand hours in the game or something just from hours in the game or something just from hours in the game or something just from sitting here working on it every day you sitting here working on it every day you sitting here working on it every day you open, you know. Um, so you get pretty open, you know. Um, so you get pretty open, you know. Um, so you get pretty comfortable at it, I think. But yeah, comfortable at it, I think. But yeah, comfortable at it, I think. But yeah, there was some some very specific stuff there was some some very specific stuff there was some some very specific stuff that was Yes. Yeah. Turn invisibility that was Yes. Yeah. Turn invisibility that was Yes. Yeah. Turn invisibility mode on, drag her around, and see that mode on, drag her around, and see that mode on, drag her around, and see that it actually uh, you know, performs the it actually uh, you know, performs the it actually uh, you know, performs the the thing it's supposed to.

  21. the thing it's supposed to. the thing it's supposed to. >> Mhm. And you've got this other tool >> Mhm. And you've got this other tool >> Mhm. And you've got this other tool called, it looks like, I don't know how called, it looks like, I don't know how called, it looks like, I don't know how to pronounce this, dear. or I am guey. to pronounce this, dear. or I am guey. to pronounce this, dear. or I am guey. >> Yeah. So, um that means like it's imue >> Yeah. So, um that means like it's imue >> Yeah. So, um that means like it's imue is like immediate mode guey. is like immediate mode guey. is like immediate mode guey. >> Oh, >> Oh, >> Oh, >> and so that's pretty that one is a >> and so that's pretty that one is a >> and so that's pretty that one is a pretty popular tool in games in general. pretty popular tool in games in general. pretty popular tool in games in general. I've seen it, you know, in there's like I've seen it, you know, in there's like I've seen it, you know, in there's like debug screenshots of Pokemon games where debug screenshots of Pokemon games where debug screenshots of Pokemon games where they're using that same tool. Um so it's they're using that same tool. Um so it's they're using that same tool. Um so it's it's all over the place. Um, but it's a it's all over the place. Um, but it's a it's all over the place. Um, but it's a really really nice uh guey system really really nice uh guey system really really nice uh guey system because what it immediate mode guey because what it immediate mode guey because what it immediate mode guey means you're not you're not constructing means you're not you're not constructing means you're not you're not constructing like a a model and then having stuff like a a model and then having stuff like a a model and then having stuff render or whatever. You're just every render or whatever. You're just every render or whatever. You're just every frame it just runs through whatever you frame it just runs through whatever you frame it just runs through whatever you give it and presents that and then the give it and presents that and then the give it and presents that and then the next frame if you don't call it or you next frame if you don't call it or you next frame if you don't call it or you know an if statement that has stuff in know an if statement that has stuff in know an if statement that has stuff in it. If that if statement doesn't happen it. If that if statement doesn't happen it. If that if statement doesn't happen this next frame it doesn't show it. Um this next frame it doesn't show it. Um this next frame it doesn't show it. Um so it's a nice it's a really nice for so it's a nice it's a really nice for so it's a nice it's a really nice for like quickly very simple quick UI. Um, like quickly very simple quick UI. Um, like quickly very simple quick UI. Um, which is okay. I mean, which is okay. I mean, which is okay. I mean, >> I was thinking about the I was thinking >> I was thinking about the I was thinking >> I was thinking about the I was thinking about the gameplay loop. Everyone talks about the gameplay loop. Everyone talks about the gameplay loop. Everyone talks about the gameplay loop. Is the gameplay about the gameplay loop. Is the gameplay about the gameplay loop. Is the gameplay loop fun, but I was imagining what is loop fun, but I was imagining what is loop fun, but I was imagining what is the development loop for a game? So, the development loop for a game? So, the development loop for a game? So, like whatever you're working on now, I like whatever you're working on now, I like whatever you're working on now, I presume that it would suck to make an presume that it would suck to make an presume that it would suck to make an edit to a map, hit control shiftb, leave edit to a map, hit control shiftb, leave edit to a map, hit control shiftb, leave for 10 minutes, hit control F5, now for 10 minutes, hit control F5, now for 10 minutes, hit control F5, now you're back in the thing, drag someone you're back in the thing, drag someone you're back in the thing, drag someone to the level. So, can you be on a screen to the level. So, can you be on a screen to the level. So, can you be on a screen and move the screen around and then jump and move the screen around and then jump and move the screen around and then jump the guy around and then reset without the guy around and then reset without the guy around and then reset without having to recompile?

  22. having to recompile? having to recompile? >> Yeah. So, um uh Yes. Yes. Um there's >> Yeah. So, um uh Yes. Yes. Um there's >> Yeah. So, um uh Yes. Yes. Um there's there's different layers of different there's different layers of different there's different layers of different things that we can do. Um so, things that we can do. Um so, things that we can do. Um so, >> reload kind of thing. >> reload kind of thing. >> reload kind of thing. >> Yes. Yeah. So, things that are like >> Yes. Yeah. So, things that are like >> Yes. Yeah. So, things that are like level based I would say. Um those are level based I would say. Um those are level based I would say. Um those are all in a tool that are just like a JSON all in a tool that are just like a JSON all in a tool that are just like a JSON file that's just serialized C# and those file that's just serialized C# and those file that's just serialized C# and those you can just drag around in. We have a you can just drag around in. We have a you can just drag around in. We have a little level editor set up and you can little level editor set up and you can little level editor set up and you can just drag those around, save the level. just drag those around, save the level. just drag those around, save the level. It's working almost like a, you know, a It's working almost like a, you know, a It's working almost like a, you know, a text editor or an image viewer, you text editor or an image viewer, you text editor or an image viewer, you know, something where you can easily know, something where you can easily know, something where you can easily just kind of edit them and save them and just kind of edit them and save them and just kind of edit them and save them and run the game and stop. Um, and that run the game and stop. Um, and that run the game and stop. Um, and that requires no rebuilding. Um, but then requires no rebuilding. Um, but then requires no rebuilding. Um, but then when you get into more sort of specifics when you get into more sort of specifics when you get into more sort of specifics um of like, oh, how fast does this um of like, oh, how fast does this um of like, oh, how fast does this object move or what's the behavior of object move or what's the behavior of object move or what's the behavior of this thing or um that's when it gets this thing or um that's when it gets this thing or um that's when it gets into more you're editing actual code uh into more you're editing actual code uh into more you're editing actual code uh and then you have to rebuild or or hot and then you have to rebuild or or hot and then you have to rebuild or or hot reload. I mean, I use hot reload a lot reload. I mean, I use hot reload a lot reload. I mean, I use hot reload a lot now. Um, which is really nice for game now. Um, which is really nice for game now. Um, which is really nice for game development because you can now you kind development because you can now you kind development because you can now you kind of have a combo of like I'm editing of have a combo of like I'm editing of have a combo of like I'm editing rooms by just dragging, you know, rooms by just dragging, you know, rooms by just dragging, you know, objects around. I hit save and like I objects around. I hit save and like I objects around. I hit save and like I don't like how this thing moved, so I'll don't like how this thing moved, so I'll don't like how this thing moved, so I'll just tweak that and then it instantly just tweak that and then it instantly just tweak that and then it instantly pretty much uh loads that in and then I pretty much uh loads that in and then I pretty much uh loads that in and then I can test that. So, uh, at this point I can test that. So, uh, at this point I can test that. So, uh, at this point I can usually go I can often go like, you can usually go I can often go like, you can usually go I can often go like, you know, half an hour without having to know, half an hour without having to know, half an hour without having to rebuild the game at all. I'm just rebuild the game at all. I'm just rebuild the game at all. I'm just letting it run and you know editing data letting it run and you know editing data letting it run and you know editing data files and stuff and then the code I files and stuff and then the code I files and stuff and then the code I tweak can usually just reload and yeah tweak can usually just reload and yeah tweak can usually just reload and yeah it's very fast and even C# like a full it's very fast and even C# like a full it's very fast and even C# like a full rebuild of C# is I had a few seconds so rebuild of C# is I had a few seconds so rebuild of C# is I had a few seconds so um um um >> compared to my C# days it's or C++ you

  23. >> compared to my C# days it's or C++ you >> compared to my C# days it's or C++ you know work it's uh yeah very smooth know work it's uh yeah very smooth know work it's uh yeah very smooth >> that's awesome you currently work is >> that's awesome you currently work is >> that's awesome you currently work is there something you're working on right there something you're working on right there something you're working on right now that you can tell us about or is it now that you can tell us about or is it now that you can tell us about or is it still secret? Yeah, I'm working on um still secret? Yeah, I'm working on um still secret? Yeah, I'm working on um two games. I'm working on a game with two games. I'm working on a game with two games. I'm working on a game with XOK um that's more in a prototype phase XOK um that's more in a prototype phase XOK um that's more in a prototype phase that we haven't really publicly posted that we haven't really publicly posted that we haven't really publicly posted about yet, but we'll at some point soon. about yet, but we'll at some point soon. about yet, but we'll at some point soon. Uh and then I have another game I'm Uh and then I have another game I'm Uh and then I have another game I'm working on with my brother called City working on with my brother called City working on with my brother called City of None. of None. of None. >> Um and that's further along. Uh and we >> Um and that's further along. Uh and we >> Um and that's further along. Uh and we have a website for it. Um we don't have have a website for it. Um we don't have have a website for it. Um we don't have a trailer out yet, but we should soon. a trailer out yet, but we should soon. a trailer out yet, but we should soon. But yeah, But yeah, But yeah, >> City of City of None has the color um >> City of City of None has the color um >> City of City of None has the color um scheme. It's it's kind of limited it and scheme. It's it's kind of limited it and scheme. It's it's kind of limited it and I'm trying to figure out is it trying to I'm trying to figure out is it trying to I'm trying to figure out is it trying to be Super Nintendo or Nintendo NES, you be Super Nintendo or Nintendo NES, you be Super Nintendo or Nintendo NES, you know, adjacent and what's the style know, adjacent and what's the style know, adjacent and what's the style there? there? there? >> So, it's kind of inspired by that stuff >> So, it's kind of inspired by that stuff >> So, it's kind of inspired by that stuff for sure, but the main reason is I for sure, but the main reason is I for sure, but the main reason is I wanted a limited art style because, you wanted a limited art style because, you wanted a limited art style because, you know, it's the game me and my brother know, it's the game me and my brother know, it's the game me and my brother are working on for fun. Um, and it's are working on for fun. Um, and it's are working on for fun. Um, and it's neither of us like we do a lot of pixel neither of us like we do a lot of pixel neither of us like we do a lot of pixel art and we do a lot of art in our time, art and we do a lot of art in our time, art and we do a lot of art in our time, but we're not I don't consider myself but we're not I don't consider myself but we're not I don't consider myself like an amazing artist by any means. I I like an amazing artist by any means. I I like an amazing artist by any means. I I you know I have fun with it. Um so the you know I have fun with it. Um so the you know I have fun with it. Um so the intention there was to do an art style intention there was to do an art style intention there was to do an art style that I thought was limited so that we that I thought was limited so that we that I thought was limited so that we could still make it look good but uh it could still make it look good but uh it could still make it look good but uh it it's almost like a I'm trying to think it's almost like a I'm trying to think it's almost like a I'm trying to think of the word like a scope decision of of the word like a scope decision of of the word like a scope decision of just like uh or limitation decision.

  24. just like uh or limitation decision. just like uh or limitation decision. >> No it's constraints right that's where >> No it's constraints right that's where >> No it's constraints right that's where creativity happens. creativity happens. creativity happens. >> Exactly. So the constraint of that makes >> Exactly. So the constraint of that makes >> Exactly. So the constraint of that makes it so that we can kind of push the art it so that we can kind of push the art it so that we can kind of push the art in fun directions and do really in fun directions and do really in fun directions and do really interesting things things with it but interesting things things with it but interesting things things with it but yeah the constraint of like well there's yeah the constraint of like well there's yeah the constraint of like well there's only four colors so we have to work only four colors so we have to work only four colors so we have to work within this space. Uh, and it creates within this space. Uh, and it creates within this space. Uh, and it creates fun yeah fun stuff out of that which I fun yeah fun stuff out of that which I fun yeah fun stuff out of that which I like a lot. like a lot. like a lot. >> What I think is fun about it is not just >> What I think is fun about it is not just >> What I think is fun about it is not just that there's only four colors. The thing that there's only four colors. The thing that there's only four colors. The thing that's interesting is that there's four that's interesting is that there's four that's interesting is that there's four colors but it's not always the same four colors but it's not always the same four colors but it's not always the same four colors. So like if someone gets hit the colors. So like if someone gets hit the colors. So like if someone gets hit the colors change and there's a bloom or colors change and there's a bloom or colors change and there's a bloom or there's a filter but you're still there's a filter but you're still there's a filter but you're still constrained even in those moments. So constrained even in those moments. So constrained even in those moments. So you're not jumping out of the palette, you're not jumping out of the palette, you're not jumping out of the palette, which I thought was an interesting which I thought was an interesting which I thought was an interesting choice. choice. choice. >> Yeah. So that's where it deviates from >> Yeah. So that's where it deviates from >> Yeah. So that's where it deviates from an actual like Game Boy Color game or or an actual like Game Boy Color game or or an actual like Game Boy Color game or or NES game or something like that where NES game or something like that where NES game or something like that where you Yeah. We do a lot of dynamic weird you Yeah. We do a lot of dynamic weird you Yeah. We do a lot of dynamic weird stuff that you would not be able to do stuff that you would not be able to do stuff that you would not be able to do in a normal, you know, old console. in a normal, you know, old console. in a normal, you know, old console. >> Yeah. And the background's moving, too. >> Yeah. And the background's moving, too. >> Yeah. And the background's moving, too. Like the idle animation of the Like the idle animation of the Like the idle animation of the background as well is extraordinary. background as well is extraordinary. background as well is extraordinary. >> We have particles and all sorts of Yeah. >> We have particles and all sorts of Yeah. >> We have particles and all sorts of Yeah. And we have lighting and all sorts of And we have lighting and all sorts of And we have lighting and all sorts of things that, you know, definitely do not things that, you know, definitely do not things that, you know, definitely do not exist without a modern GPU, but we exist without a modern GPU, but we exist without a modern GPU, but we constrain it all down to the four constrain it all down to the four constrain it all down to the four colors, which makes interesting effects, colors, which makes interesting effects, colors, which makes interesting effects, I think.

  25. I think. I think. >> Mhm. >> Mhm. >> Mhm. >> And but you're having fun, I think, is >> And but you're having fun, I think, is >> And but you're having fun, I think, is the most important part of all of this. the most important part of all of this. the most important part of all of this. >> Totally. Yeah. That's I mean that's kind >> Totally. Yeah. That's I mean that's kind >> Totally. Yeah. That's I mean that's kind of where I've come back to a lot with of where I've come back to a lot with of where I've come back to a lot with game stuff is just like I've enjoyed game stuff is just like I've enjoyed game stuff is just like I've enjoyed doing this since I was you know a doing this since I was you know a doing this since I was you know a teenager. Uh and it's just fun to work teenager. Uh and it's just fun to work teenager. Uh and it's just fun to work on stuff. So I just want to keep on stuff. So I just want to keep on stuff. So I just want to keep hopefully doing that for as long as I hopefully doing that for as long as I hopefully doing that for as long as I can. So folks can check out everything can. So folks can check out everything can. So folks can check out everything that you're working on at nullberry.ca that you're working on at nullberry.ca that you're working on at nullberry.ca CA and they can also explore extremely CA and they can also explore extremely CA and they can also explore extremely okayame ex.com okayame ex.com okayame ex.com and I'm looking right now at and I'm looking right now at and I'm looking right now at cityofnun.com cityofnun.com cityofnun.com and you can sign up for uh your Substack and you can sign up for uh your Substack and you can sign up for uh your Substack and learn about when that's going to and learn about when that's going to and learn about when that's going to come out and I assume with all of these come out and I assume with all of these come out and I assume with all of these things the answer is it'll come out when things the answer is it'll come out when things the answer is it'll come out when it's done it's done it's done >> pretty much. Yeah, >> pretty much. Yeah, >> pretty much. Yeah, >> that's awesome. Thank you so much >> that's awesome. Thank you so much >> that's awesome. Thank you so much Nullberry for hanging out with me today. Nullberry for hanging out with me today. Nullberry for hanging out with me today. >> Yeah, thanks for having me. I had a lot >> Yeah, thanks for having me. I had a lot >> Yeah, thanks for having me. I had a lot of fun. of fun. of fun. This has been another episode of This has been another episode of This has been another episode of Handsome Minutes and we'll see you again Handsome Minutes and we'll see you again Handsome Minutes and we'll see you again next week. next week. next week. [Music]

Summary

This episode of Hansel Minutes features a conversation with Nberry, co-creator of Celeste, discussing his two decades in game development and the challenges of finishing projects. The discussion touches on the "pain is pleasure" aspect of games like Metroidvanias and Elden Ring, ultimately concluding that while starting projects is easy, the difficult but rewarding skill is seeing them through to completion.

View original episode ↗