Making games on the side is really, really hard as a hobby or working at a desk job. Doing it completely alone is is brutal. But after my conversation with Dev Duck, I don't want to hear your excuses anymore. He's been working on his game Dolphin completely alone for years. And by the way, from the pixel art to the coding to the music, he does it all. Frankly, his passion and discipline motivates me. And I'm sure you're going to feel the same way after listening to this podcast. Every morning, he wakes up at 5:00 a.m. and he sticks to a schedule, making his indie game solo. On top of this, he has a massively successful YouTube channel where he breaks down his psychotic, can I say that? Schedule, making indie games, all while working a full-time job during the day. We also talk about how he uses indie gamedev as a creative outlet. why gamedev is so difficult and how you can craft an optimal schedule making your dream project while working a desk job or maybe you're a student. He
also talks about why YouTube is so valuable for game devs. Why his game and why your game might be taking forever to make. And at the end of the podcast, we open up his GDAU project and he explains how it's built and it's really impressive. And by the way, if you're making a mobile game, maybe it's similar to Dolphin or something much bigger, and you want to sell it directly on your own website, it's now possible with Exola. This is no longer a niche thing. It's becoming mainstream, which means devs can grow the revenue from live games. Even better, Apple has finally opened up the US market, making it legal to link out to a web shop and take direct payments for your mobile games, bypassing that 30% Apple fee. Exola has been doing this since the beginning, pioneering their web shop back in 2021. And now they have a new buy button solution that lets you drop an external purchase link right into your iOS game. Whether you're AAA or you're making a casual game or core, Exola has launched over 500 webops and they know what
works. From a fully custom web shop to maybe a no code template and going live much faster, they've got you covered. Click the link below and you get access to the super simple, worldclass, and easy to implement live ops and payment tools and add direct sales to your game. Typically on this podcast, I'll talk to full-time game developers, right? And they that's what they do. And the reason I want to talk to you is because you have such a great way of communicating your journey towards full-time gamedev. Your your YouTube channel's incredible. You're getting way better views than I ever get. you. It's because your content is so clean and precise. It's typically, especially your devlogs, they always follow the same format. Um, everything is very um precise. Like the content isn't just like random. It's very, very precise. And so that's why I wanted to have you on because you're in the midst of you're in the midst of this journey
of making Dolphin. First, really quick, how how long you been working on Dolphin? I think fiveish years at this point. And how long have you been doing devlogs about it? Uh well, so I started the channel I think between seven and eight years ago if I'm not mistaken. Um that was back when I was using Unity and working on smaller projects. Um at some point I transitioned to you know Dolphin which I guess is my attempt of Magnumopus I suppose you would say and that's that's really when I started to pick up some traction. And I think people really resonated with what I was trying to do with the project and everything you've been talking about, right, with the devlogs. So, yeah, it's been a while. It's been so long, dude. Five years. And when do you think you're going to be done? Uh, would it be great if I could answer that question? It's always like every time I ask that question to people, and when they ask it to me, like when my brothers, they always ask me like, "How's Twister Tower? Are you almost done?" I always get irritated. I'm like, "How dare you?" Yeah. You know, my parents and my
in-laws are always like, "Hey, how's that game you're working on?" It's like, "I'm still working on it. No updates." Well, it gets to the point where it's kind of um it's not embarrassing, it's that they're they're never going to understand. Yeah. I mean, they can a little bit, but like my brothers and my friends, they're not going to understand why this stuff takes so long. It like you you just did a devlog about making a menu, and it was like almost the full devlog was like, "Here's some buttons." you know. Sure. Yep. Yeah. It's I don't know. It's a It's a tough thing to think about. Um I will be the first to admit that when I approached this question, I'll always say like I I've just bitten off so much with this project, right? It has over scoped. There were years, and I still do this, but like there were years where like I would just be in the shower thinking about cool stuff I wanted to add and I'd go out of the shower and throw it on the backlog without a second thought as to like, does this actually add to what I'm trying to build here? Does it work with the other systems I'm
creating or is it just something like, hey, I just remembered I love this from this game that I used to play when I was a kid. I want to build it. Let's give it a try. Right? Dolphin's just my sandbox. And I'm I think I'm in a place now where I'm past that and I'm starting to hone in, but boy is it taking a long time. I totally agree and I I think that um I'm curious if you resonate with this. Would you ever do that in your day job? Would you ever just say, you know what, I want to work on this. I don't care what my boss says. I'm just going to do it. You know, would you ever just come up with a random feature and then tell tell your boss later about it? Unfortunately, so my job doesn't really quite allow for that. Um yeah, and it's not for like any bad reason or anything. So I tip I'm a software engineer, but I'm also kind of a consultant. So, I work for a company that helps kind of match me with clients where we're building something for them. In the client world, it's not a great idea to just start building stuff that they can sign off on. Yeah. And so, my point in saying that is why why all of a sudden do we give ourselves as developers if we want to be professional
and we want to like do this full-time and run a game studio? Why would we why would be we be so flexible to just add random crap to the game just because we thought about it in the shower, you know? Oh, for me it's definitely the creative outlet. Um, 100%. Like I I the reason I got into software development in college and went on for that to become my career cuz I love the problem solving aspect of it. I love thinking like how would I build this and then coming up with an architecture or whatever that supports that and going out and building it. So like like I said for a long time Dolphin was just my sandbox where it's like you know I've loved RPGs ever since I was little and got into gaming. And so if I think of a system that I love like fishing or something, it's like yeah, I would I just I don't care. I want to build it. Let's drop everything and build it. So yeah, for me it's just like having that creative freedom because I don't have that at work, right? So that's where I get stuck for sure. Well, here's the thing though. You mentioned that you're starting to tighten that and make it make yourself less free with Dolphin because no more just integrating stuff
just because it's a fun idea. Are you getting to this point now where you're like, "Okay, I need to I need to like get this thing tightened up and ready for release, or are you still giving yourself that freedom?" Oh, I'm definitely past the point where I should have been tightening it up and getting ready for release. But, you know, I I'll never strip away all that freedom, right? I think what it comes down to for me and my approach is instead of just throwing that idea that I had in the shower right on the backlog and think, "Oh, you know, I'll start a devlog on Saturday and we'll build it for fun, right?" It's it's more of an iterative process of like thinking about how does this really fit into my design and you know some things survive that process and some things don't. And I'm trying to get better at that process of like weeding out the the fun well not the fun stuff but you know the stuff that just seems like a great idea all of a sudden that I I might want to just go build no matter what impulse. Sure. I was just talking to um Jeff Vogle about this and he said, you know, he's been making games for 30 indie games for 30 years
and he said he doesn't enjoy his job. He said he stopped enjoying his job as an indie game developer. And you know, he's he this man is like tongue and cheek all the time. So I don't know what's true, but he said he stopped enjoying it like a week after he started making indie games. I'll speak for me and then I want to know your thoughts. 90% of game development I don't enjoy or maybe 80% but the 20% is what's so exciting. You know, there's that those moments when the you finally play the build of the game and it's just great. When you release it and people love it, when you get a paycheck, when you sign with a publisher, when you land, you know, get a Kickstarter campaign or you come up with the story, like there's these just little blips where it's like, oh yes, this is why I do what I do, right? And I'm curious for you, like are are you always enjoying game development or is it is it is it work? I think I have a couple thoughts on this. Um, one, and I I like briefly touched on this in the devlog that I released this morning, but
my whole process that I have on my YouTube channel in terms of the way that I do work or don't do work and take breaks and just approach all this, my biggest goal with that is to keep gamedev as a fun thing for me because right now it is a hobby, right? As much as I would love to be sitting down doing this full-time, that's just not the reality for me right now. So, I love it so much and I feel so it's such a powerful creative outlet for me that I would never want to get to the point where I felt like it was work, at least right now, right? Because I already have a job. I already work. And so, this is like my free time. This is what I do to unwind. And so, I I try to be really careful about not letting it get to the point where I'm not enjoying it. So, I feel like I'm probably enjoying 80% of my gamedev right now. You know, I'm trying to do it all. I I you know, the code is my favorite part cuz that's what I'm definitely passionate about. The artwork is a struggle, but boy is it exciting to like finish up a piece of pixel art that I'm like super stoked on. The music is just a whole a whole thing. Uh, I'm struggling there, but I'm
learning. I don't think you are. I I found it fascinating that you said your music is bad or you didn't say it was bad. You just said you didn't like it or something and I'm like, it's amazing. It sounds great. I'm I'm happy with the few tracks that I've created so far. And I I don't think, you know, if you watch my last two videos, I've snuck those in there, but largely I think they're unheard so far. Um, I'm happy with them. They're very simple, right? There's not a lot of technique there because I just haven't developed that technique. I'm drawing on like six years of childhood piano lessons to carry me through the music process. Same here, dude. It is what it is, right? Well, that's the beauty of uh You're using Logic Pro, and that's what I wrote my games soundtracks with was Logic Pro. The beauty of Logic Pro is oh man, it's something like um if you know what sounds good, you don't have to be good. So, what I mean by that is, let's say if I just threw like random notes in the key of C into Logic Pro, I might not be the best pianist or composer, but if I know what
sounds good, if in my head I know what good music sounds like, I can twist and change those notes in Logic Pro until it matches what I hear and hear, right? Yeah. And so it really does come down to this sort of like you're a curator and you're and the same is true with pixel art and game development. You're a curator and the person with the best taste wins. Especially with AI and all the tools available to us now. It's really not about the creation process. It's more about the curation process that makes and your level of taste that makes you a good game developer or a game musician. I'm curious what you think about that. I think I agree. Yeah, I don't know if I've ever really thought of it that way. Um, you know, it's funny you mentioned that kind of process for the music. That is my process. I would use what formerly was like the music memos app on my phone. I would just hum things into it throughout the day if I thought like, oh, this could be like a cool vibe for like, you know, jogging down the beach on Dolphin and then I would just struggle through Logic Pro to try to turn that into something that was
actually playing out of my computer speakers. But yeah, especially, you mentioned AI with the curation part. I'm definitely seeing that come into play. Um, yeah, for sure in my work and I'm trying to figure out like what that looks like for gamedev, too. Yeah. Okay, let's shift gears here. I want to hear about how jam-packed your day is. Are you married? Yes. Do you have kids? Not yet. Okay. Get your game done before you have kids or you won't you won't finish your game. That's what my wife's saying. It's so true. Um, you're but you're living a typical I I say this because I'm trying to reflect you. I I see a little bit of a reflection in your life and my life. I live kind of a typical white dude life. You know, I live in the suburbs. I live on the East Coast. I have kids. I'm married. I go to church on Sunday. It's just everything's pretty much pretty standard. And then gamedev is this place where I can be edgy, you know, and be different. I'm curious if you if you identify with that
at all. I think um I don't know it feels a little bit different to me. I mean my relationship with gamedev I feel like is so different than yours because for you you are full-time and this is a business that you you know you're your own boss here which is kind of the dream in my opinion. Um you know for me you know I work 40 to 50 sometimes more hours a week at my job. You know thankfully I have the flexibility to work from home right now so that takes like a big part of the stress out. Um, but for me, gamedev is like it's part like side hustle. Um, you know, because there is some I'm I'm trying to do something with it, right? I'm trying to whether that's just a little bit of revenue from YouTube or like trying to release something on Steam, which I did recently, like trying to figure out if there's a path forward with it. Like I said, it's also just this creative escape where, you know, when I go into work and I have code to write, it's like follow the Jira ticket, do it perfectly, no room for error. whereas this it's like man I can just get in here and jam
and create stuff and I love that. So yeah, you know it's it's kind of I wouldn't say it's a small part of my life but when I look at my day it kind of objectively is I think right because it's just it takes up a small part of my time but yet it's so important to me. So what's the what's the schedule look like for you? Um what's what's the day of the indie life look like for you? Yeah, I mean um I think this is so funny. you know, I I post my videos where, you know, I say I wake up at 5:00 and I get so many comments like, "This guy doesn't do that." You know, he's just hamming it up for YouTube, right? And it's like, I really do do that. And it's not always fun, but yeah, I do. Um, I mean, today I woke up at 5. I worked on getting my video today out the door. That didn't take too long. I worked on Dolphin for a little bit to try to fix some bugs before we do a demo later in this podcast. Um, well, this is a Saturday, so it's a little different, but you know, I mowed the lawn. I went to the grocery store. Now I'm here. Uh, for a typical work day, it's like I wake up at 5. I typically will try to work on video or game until about 7 in the morning. At
7, I will work out, whether that's my garage gym or a run. And if it's my turn to walk the dog, I'll walk the dog. And then it's like make breakfast, get ready for work. So, we're talking about like an hour and a half of time between 5:30 and 7 maybe where I'm really jamming on this stuff. Yeah. Is it hard to let it go once you're at 7:00? I have big problems at 7:00 sometimes. Like if if if I am if I'm just locked in on a problem, especially if I've been working all morning on something and I'm just so close to get it working. Um becomes a real problem to like drop it and go work out or something. And I've definitely skipped a workout or two for that. But yeah, it's a challenge. It's so funny you say that people comment that. It's like, is it really is it really that unbelievable that somebody gets up at 5? I totally get that. It's it's mostly and you know I'm I'm as guilty of this as every other YouTuber does, but like you know I make a video with the title day in the life of and I think I think a lot of those are definitely uh the truth can
be stretched in some of those, you know. Um I try not to, but I definitely still get the comments. So this is funny. Well, your your first mistake was reading comments. Um, yeah, that was I mean that's that's a whole topic, right? The the YouTube thing, getting adjusted to that. So, well, tell me about that. Um, what what what's the adjustment? I mean, I started the YouTube channel, like I said, seven or eight years ago. I was working on a little Unity mobile game. Um, my whole idea behind the channel at the time was I had fallen into this loop that I'm pretty sure everyone has of like just starting ideas for game projects and then working on them for a month or two and then discarding them for the fun new idea that comes up, right? And I was kind of determined like let me finish something, right? And one of my ideas for how I could actually stick with it was to maybe get some other people engaged as a way for me to hold myself accountable. It's like, hey, if people are commenting on this and giving me feedback, like maybe it'll help me stick with it. Uh, and it did. And, you know, obviously
something I'm very grateful for is that the YouTube thing really kind of blew up. Um, which was not what I was expecting. You know, my my goal with setting out the channel was like maybe a thousand subscribers if I was lucky. And, you know, very fortunate to have gotten way past that point. But with that, where are you at right now? Like 170, I think. Something like that. Yeah. But with that comes, you know, with some amount of internet popularity comes a lot of stuff you have to adjust to, I think, would be a fair thing to say. Whether it's negative comments or Well, I guess that's probably the worst thing, right? It's like you're always going to have haters, which is something that can anyone really be prepared for that, I guess, getting into the YouTube game. Probably not. No, the only way to prepare for it is to experience it. I think that's, you know, like this morning for example, I I did the cardinal sin that you mentioned, which is I was just scrolling on my phone this morning and because I saw that in one of your videos, you said I shouldn't be doing that. So, I did do it this morning. I was scrolling and one of the
things I scrolled through accidentally cuz I don't usually read comments. I was scrolling through yesterday's video with Jeff Vogle and someone said, "I love Jeff. I and hate Thomas. And I just But what was so funny is it doesn't bother me anymore. I just wrote, "Haha, that's funny." I mean, it's just funny to me. It's like, yeah, whoa. Like, what what did I do to you to make you so upset? Um, but these comments, man, it's like I've realized that it's just it's par for the course for anybody on YouTube or social media. You're just going to have to get in a way it helps you. It makes you less um I don't know, less self-involved. Yeah, I think um yeah, I think that's a great way to put it. Thankfully, I've been like over this hump for, you know, years now since five years ago before I started Dolphin. You know, I I kind of figured out how to like, all right,
let's stop checking the studio app like every morning when I wake up. Let's let's turn off the comment notifications where I get emails about comments or whatever. Let's just like let's just, you know, let's figure it out, right? And so I'm I'm happy that I'm past that point now. But yeah, what a what a weird thing to kind of learn how to adapt to. It's it's definitely not natural uh to be to have random people in uh Saudi Arabia commenting on my face. It's like who are you, you know? Yeah. But you put yourself out there, you you need to expect that 100%. Yeah. Do do you identify with Is your channel a huge part of how you identify? Is it a is it a huge part of your identity as a person? No, I don't think so. Um, does it make you feel confident? I have gained confidence. I've gained tremendous confidence through the YouTube stuff. 100%. I think that comes down to what you're saying in terms of like you kind of get hardened through the experience of like putting yourself out there and
dealing with the ramifications of that. I've certainly become a better public speaker, which has helped with my job uh through the re-recording a single attempt to talk about my code 20 times before I get something that actually makes it into the devlog. So, that's been great. Um, I've benefited tremendously from it, but I don't think it's part of my identity. You know, I don't if you give if you ask me for an elevator pitch for myself, I'm not going to leave with that. I guess you're not going to say I'm a YouTuber. Most people will, dude. Um, I've I've been guilty of that. You know, people will people will say, "Hey, Thomas, what do you do?" Like, I'll be at church or something and people will be like, "What what what do you do?" And I'll say, "I'm a YouTuber and a game developer." And they're immediately their kids will come around them and say, "Oh, you're a YouTuber. I want to be a YouTuber." And it makes you feel cool. But in reality, it's just talking to a camera. You know what I mean? Well, let me ask you. Um, you said, you know, I'm a YouTuber and a game developer. Uh-huh. Have you ever asked
yourself the question, am I a YouTuber or a game developer? Yeah. I I I don't know if I'll ever have the answer to this, dude. I don't know if I will either. And if you ask Reddit, Reddit will say Thomas Brush isn't a game developer. He's a sleazy YouTuber. Mhm. That's what Reddit will say. If you ask X, everyone's like, "You're great. You're doing great. You're both. You're a game developer and a a YouTuber." and they're they're combined. It's this one business model. I don't care anymore about what's what. Like if I use YouTube for a season to pay for my games, I don't care. For example, like I take sponsorships now. This video will be sponsored. It helps pay for my game. Why? Because we ran out of funding and I need more money. Am I Am I ashamed of this? No. I don't care anymore. I used to care. I used to be like, I have to
get my funding source from a publisher or or a Kickstarter for me to like justify it, but now I'm like, I don't care. Whatever it takes to make the a great game, I'm going to do that. Whatever it takes. So, I will say though that this podcast has become a very reliable business model. Podcasts are incredible. The reason why is because, and I hate to say it out loud because I don't want anybody else to copy me, but it's so cheap. So, you and I are having a conversation on Saturday. It's 11 o'clock. I'm going to take this hour and a half content and I'm going to cut it into three videos and that's my editor's going to do that. So, I pay my editor to do this and then we get sponsored. So, you take the sponsorship money, you you pull a cut from that, give it to the editor and then we have this net revenue of 70%. And then you can you can after the sponsorship, you can also get drive traffic to whatever you want. like you have a Patreon, so you can drive traffic to Patreon. You can drive traffic to uh your games, wishlisting, uh to your email list, whatever you want, you know. So podcasts are great. So it's this
podcast is like this um business model that I think I'm probably going to do forever. Uh it's just really it's really wonderful. That's cool to hear that. I never really, you know, thought too much about it, but you're getting dude, your views are way better than mine. So like your your devlog skills are next to none. Like they're so good. Um because you there's courage in what you do. What I was listening to your to your latest episode today and I wanted to ask you about this. Mhm. You don't approach devlogs with a commercialized mindset. It's not like you start with like I'm going to I'm going to show you at the very end of this video what my main menu looks like. Stick around through the entire and I do that, you know. You're just like, "It's 8:00 on Saturday and I'm going to make a video." Yeah. I mean, that's that uh what you bring up there is kind of why I asked, "Do you feel like a YouTuber or game developer?" Um, in my mind, when I've
been kind of daydreaming about what it could be like if I did the DevDuck stuff full-time, you know, right now and I look at my and and you know, I'm not making like a bunch of revenue from these things. I post infrequently. You know, I do get ad revenue from the videos and I have some awesome supporters on Patreon that I'm grateful for, but like think about that versus the game I work on. I pretty much never release games. Uh, so like YouTube kind of would be my if I was going to go full-time, I'd have to lean further into YouTube and I feel like I'd have to start taking sponsorships and I'd have to change the way I make my videos to try to optimize them for the algorithm, you know, a little bit or whatever. I think you would, dude. you. So, I I've always said that 10,000 views is worth2 to $4,000 of something. Something. Yeah. Now, the something can be sponsorships. It can be selling a course. It can be uh community, Patreon, memberships. Mhm. The problem is is nobody knows how to do
it. I agree with that. I certainly don't. I mean, if you wanted to go full-time, I I was thinking about this before I started this podcast. I was like, Thomas, do not do not annoy Ben with a bunch of advice about his YouTube channel. But I will say if you wanted to go full-time and make 70 to $100,000 a year, which maybe that's not enough for you, I don't know. But if you wanted to make 70 to $100,000 a year, you could do it easy. I actually could live on a full-time salary working one day a week from this channel. All the content all the content that comes out from this channel takes me eight hours a week and I make enough money on this channel to to for a full-time salary. Now, I make money other ways. Um, and the other four days are making games and stuff. Um, which I used to just do full-time game development, you know, 40 hours a week. But now it's like I do the podcast and then I do four days
uh Tuesday through Friday if you wanted to do it. My point is if you wanted to do YouTube full-time you the views you're getting, you could do it, but you'd be a YouTube you'd be a full-time YouTuber, you know. Yeah. Uh I mean that's that's certainly food for thought and something I'm I'm always kind of thinking about. Um, I think one thing that has always been holding me back as well is the thought of the lack of stability that a, you know, full-time salaried job provides, you know, what do you mean? Well, the the paycheck is always going to come, right? As long as I don't get fired or something. Yeah. I've got benefits. Um, it feels very secure from that perspective. Whereas with YouTube, it feels like it's very kind of performancedriven. And you know, this would obviously be way different if I were to one day quit my job or something. But, you know, I go through serious content droughts where I need to take a break from game development. More
frequently, I just need to take a break from YouTube. Like, I'll work on Dolphin for a couple months. Yeah. In the background because I just don't feel like making videos cuz it's so much work on top of what I already do. What I would do if I were you is, and I know you're not asking my opinion, but um get dolphin to be the greatest thing ever. That's what I would do right now because every other every other rope that you try and attach to the mountain, they're not going to attach if you don't have dolphin, right? You need that credibility. Mhm. To then monetize anything else. Otherwise, people are going to be like, "Why are you trying to monetize this when you haven't even released a game, right?" Yeah. No, 100%. Yeah. You know, I definitely thought about that. So, if you're gonna if you're going to do the YouTube thing and establish credibility, make Dolphin the greatest thing ever. And dude, this is my theory. I'm looking at Dolphin right now. It's like, let me look at it really quick. So, Dolphin Dolphin's not on Steam, is it? Oh, no. That's actually
part of part of the reason I built that little timer app a few months ago and released it was to familiarize myself with the Steam process. So, I think you'll be likely to see a Steam store page pop up soon. Please do that. Something else I'm behind the curve on. That is wild to me. So, I'm looking at Anyway, I'm looking at at Dolphin and I'm like, it looks so much fun and it's beautiful and it looks like there's so much heart there, so much personality here. And I see this and I say, "Go all in and make this thing great." Yeah. And see how much money you can make and see how much credibility you can you can build and do not get distracted by by creating all this other stuff. You're already doing devlogs. If you do devlogs and game and then you do I'm going to do a GDAU course and then I'm going to take sponsorships and blah blah blah. It's like whoa, that's a lot to do. The advice that you're giving me is the decision I've made, right? That's why I've kind of stayed in my lane and I've continued to make these devlogs slowly and I've continued to work on Dolphin
and I've, you know, kept my job and, you know, you know, I talk about potentially going full-time. Um, the other thing here is I actually like my job. Um, I enjoy the work that I do. I enjoy the people I work with. You know, I'm not looking for an out. That's not really the goal of all this, right? Yeah. So, I don't know. These are all things that bounce around in my head all the time. But what you've said makes sense and it's a great counterpoint to the way I've thought about, you know, giving up some of the the safety net, I guess you'd call it. Sure. So, what's the what's the big big challenge you have right now with this game? Like, why is it taking so long? Um, well, I think from a game design perspective, I've gone for a long time kind of what we already talked about, right? not having the core the vision of like what's the foundation that I'm driving towards and and sticking to that foundation instead just kind of like dropping in things that I really would like to build and I think would make it fun without a bunch of dependency stack. Yeah, this is just a nice way of me saying scope creep, right? Absolutely destroyed me the slow pace of my development and that's something I'll
always be honest about, right? It's just it's an important part of my process that this stays fun. And if I am like absolutely grinding it every day, I I've gone through periods of that and I've had to take like an extended break from it because I just kind of burn out between that and work. And so I'm I'm intention I'm deliberately, you know, moving at not a snail's pace, maybe to some people a snail's pace, but at a pace that feels right to me. Right. Right. Um, and yeah, you know, I I certainly there are times when I have there's a lot of times where I have opportunities in the evening. I'm back at my computer. I could be working on Dolphin, but I give myself time to just goof off, play a game, whatever. Y and that's just I don't know, it's just how I do things. And and it may be very well the case that a change there needs to kind of click if I'm really going to lock in and get this thing across the finish line. Um, but right now my my priority is just like I want to stay on the the wagon basically. You know what I mean? Uh, no
no no days off or or what's the word? Um, yeah. No zero days. I Yep. I'm definitely a subscriber of that mentality. Um, you know, even if it's just five minutes of brainstorming, writing something down in my notebook. Um, or you know, I try to keep a really a good list of like little defects where it's like, h, I feel like I've just got like 15 minutes of brain power. I mean, knock out some simple defect in the morning, right? So, what's the what is the can you explain that that no zero days or no zero what is it? Uh no zero days is what I've heard it called. It's the idea that um you know, you kind of apply yourself towards this project or goal that you're working towards in some small capacity every day. Um you could say, you know, you're not taking any days off. I think that's a little bit harsh. um you know no a no zero day could be anything from me or really locked in in the zone for an hour and a half working on dolphin in the morning all the way down to man I didn't sleep that well like I'm not looking forward to this workout afterwards I just kind of need to like chill out let me sit down with my notebook and ideulate for
like 15 minutes with a cup of coffee and if I've written some ideas down that's a no zero day right so trying to stay engaged because if you go too long without that engagement I think you just get further and further away and it's harder get back into it. I wonder what the psychology is there. Um the same is true with the gym, right? Um when I miss a day, and I'll I'll be honest, I miss I miss a day like every other week. So, I'll do four days instead of five at the gym. But there is something about if you miss one day, you'll then miss two days the next week, and then you'll miss three days the ne the week after that, and then all of a sudden, you're not doing it anymore. Right. Right. Is that what the goal of this is? is to keep yourself touching the dream. 100%. Yeah. Just stay engaged. Keep the pilot light on at all times. Yep. Yeah. That's a I love that. That's a really good metaphor. Keep the pilot pilot light on. Um Okay. What's your goal with in in
putting you on the spot here? What's the goal with the game with Dolphin? What's the goal? I mean, I want to release it. I want to build it. I want to release it. Um, it is an absolute passion project for me. It's an idea that I feel very strongly about. You know, it's got these undertones uh that are important to me about like what we're doing to our planet, right? And I'm not trying to shove that down people's throats with Dolphin, but I want it to be part of the emotions that they experience as they're playing the game in terms of like when they're exploring the islands, they're interacting with organisms. Like, I just want people to think about that. Um, and that is like really important to me. So, I would like to get the notion of all that out into the world. Um, that comes before me, you know, going full-time or anything. It It's really just I'd like to finish this project. I'd like to put this out in the world, I think. Yeah. Seriously, like the goal, the the main primary driver is you want to You mentioned one, which was have fun. It's an outlet. But number two is to to show the world about conservation and
cleanliness and and protecting the environment, right? Yeah. That I I love it if people can I I just want I'm not trying to like virtue signal here because, you know, I'm not I'm not the bastion of, you know, being great for the environment and everything that I do, but um you know, I think it'd be great if we all thought about it a little more and yeah, I' I'd like to get that out there and I'd like to have fun doing it. I think you put it well. You know what's funny is you're you're you're tiptoeing around it because it's like you don't you don't want to be political or whatever, but it's like conservation conservation like in 2010 might have been political. Like people would argue about it, but now I think everybody's seen the trash island, you know, that big island that's trash. We've all seen it now. So we're like, "Oh, this is okay. This is a problem." You know, so I don't think it's political anymore. I think everybody knows like, yeah, we need to we need to clean up the oceans. What's the problem with that? Yeah. It's like we're all here like it's it's going to be part of all of our lives at some point if it's
not already. So, right, let's just think about it. So, this game it's it's called Dolphin and you explore different procedurally generated islands. I want to talk about the game. I want to talk about GDAU. Yeah. And then I want to open it up. But tell me a little bit about Dolphin and the premise and the mechanics of it. And then let's move into why you're using GDAU. Yeah, sure. So, I'm going to start this uh story a while back, I guess. So, I grew up in Rono, Virginia, uh southwest Virginia on a lake, and it was like a 12acre lake. You couldn't have like speedboats or anything. Just like it was super beautiful lake. I mean, that's where my parents still live, so I go visit them and and go fishing and swimming and stuff. But I spent like every day in the summer of my childhood snorkeling and swimming and kayaking and just I lived in that lake, right? caught turtles, frogs, went fishing, all sorts of stuff. Um, that was like my identity when I was a kid. And my next door neighbor was my best friend at the time and still really
is. He was the best man at my wedding. And, uh, we we did that all together, right? That was like just who we were. I went into college thinking I was going to go into biology and become a marine biologist. I think my friend Sai, who I mentioned in one of the first dolphin devlogs, did the same. We actually ended up going to the same school and he actually just got his PhD in uh marine biology which is amazing. I obviously pivoted at some point to computer science because I just found out I love programming, problem solving and all that stuff. But um that that background is important to me because that's absolutely what has informed kind of the whole core concept behind Dolphin. Why I think it would be cool if people thought a little bit more about this stuff happening to our planet. Um, in fact, kind of the main idea behind Dolphin right now is you're playing as Sai and you know, you'll be able to create your own character, but I kind of think it'd be fun to have him be the default character when you start up the game just to kind of throw a nod his way. Uh, since he is a marine biologist out there now doing stuff in the real world. So,
that's kind of how this came about, I would say. Okay. So, that's the that was the impetus is to recapture this sort of childhood feeling of being at the lake. Um, now what's the what are the mechanics in particular? I think it's procedural, right? Procedurally generated. Um, yes and no. And this is actually something where I've had a really interesting discussions in the comments of some of my videos. So, I've put a lot of work into yes, being able to generate these islands procedurally. However, that doesn't actually happen at like runtime in the game. I have these tools as like tool scripts in the GDAU engine such that I can tweak a bunch of parameters and have these islands created for me in the editor. The reason for that, uh, at least part of the reason for that is because I set out to get into my pixel art program and create a big island that was like 2048 by 2048 or something. I just had like no prayer of doing that. I don't have the artistic
skills. I don't have the creativity. Um, I couldn't make it look natural. So I was like, what if I just, you know, people have solved this problem, right? What if I just kind of write some code that could help me do this in the editor? So that's what I did. Um, so the idea here is that I am tweaking parameters and using some of these tools that I've written to help me get something great into the game that I can then go in and tweak manually. Every player in Dolphin will see the same islands once I finish them. But and that's very important to me because I want this to feel like uh one world that people can kind of share as they explore it in their own way. Isn't Stardew Valley the same way? Yeah, Stardew is the same way. The town I've never played Stardew. They're not my kind of games. I I I'm sure you played it a million times. My My brother loves it. I've never played it. Uh but I there's something about that which is like, okay, to be an American, we know what Colorado looks like. you know, we know what Yellowstone and we know what the what Hawaii and the East Coast feels like and it unifies people, right? And
so, is that kind of what you're saying, which your player base is unified around these different islands and they all know the islands and the geography and the layout? Yeah, I think um trying to think of what drove me towards that decision. I think a big part of that was just I have always enjoyed talking to other people about games that I like and also just reading online about uh people's shared experience with games whether that's like you know my buddy and I sigh and I we were kids we'd play Ocarina of Time together and we we both knew everything about the game and could talk about like going to Lake Ha or Judo Valley or whatever right I don't know something about that experience what what is wrong with you I'm just I'm just kidding I should know that it's Funny that you say that because it's completely related which is the way me and my brothers when we talked about Ocarina of Time it it was Lake Halia and Gerudo Valley right but and then but in your world it was totally different and that right there
is completely related to what we're talking about which is there is a culture around these places right and the way that certain people say certain things I'd love people let love to know in the comments what what's the correct way to Okay. And some people say Ocarina and some people say Ocarina. There's a lot of different uh cultures around that game. You know what I mean? Just from how it's spelled, I'm willing to I'm willing to move towards Halia, but I'm not moving from Derudo. I'm stuck in my ways. Which I think we can both agree is one of the best songs ever written. Oh yeah. Um for sure. Love it. Okay, so you've got it's not procedurally generated, which is pleasing to me because I don't like procedurally generated games. Something feels I don't know. What do you think about it, man? Like, what is it about procedural generation for me that makes it feel so unexciting? I I I just don't I don't feel grounded. It feels random. Um, which it is. I mean, it's I I know that
the big driver there is infinite replayability, right? But it loses it loses the personality and that feeling of a place that you'd want to revisit, I guess. Yeah. I don't know. It's a it's a that's a tough question. I think it's a there's a lot of good discussion to be had around that, but I agree. I've you know, there are certain procedurally generated games that I love. Diablo, the whole franchise is something I've always really liked, but I don't like it for the level design. I guess it's the dopamine loot drops, right? So, I don't even know if I could name I don't know if I could name like a procedurally generated world that I really love off the top of my head. Bro, I didn't I don't play these top down games. I didn't know Diablo was pre I didn't know it was procedurally generated. I'm reading right now. Yeah. Oh, yeah. Maybe you load these dungeons. It's just the different layout of the same tile set every time. Okay. When I watch a dev a dev duck video, I I know what I'm going to get, right? I know it's going to be you being very precise
and calm and guiding me through your day, and it's going to be cozy, and I'm going to see your fish and your aquarium, right? I know what I'm going to get, right? And I've always struggled with this with YouTube, which is like, and it's related to what you're saying about procedural generation. I'm trying to make a point here, but with my with my channel, it used to be kind of random. Like, I never really knew what I was going to do. And sometimes I wanted to change my lighting and I would change my logo. But now with like the content that I've been creating lately, I hope people will agree it's very consistent. It's like you get a clip for the podcast, then you get the full podcast episode and it always has the same thumbnails and it always has the same vibe and the same music. It's home, right? And that that's I think what Stardew Valley and hopefully what Dolphin does, which is it just gives this feeling of home. This you know what to expect. You know what the island is and you and everyone else knows what that island is, right? Right. I want it
to be a place that you want to come back to. You know, whether it's, you know, it can be for a number of reasons, but yeah, that's kind of how I look at it. Okay. Why is GDAU the answer? Well, so I started out with Unity seven, eight years ago. I, you know, I have two, I think they're still on the Apple App Store. I think Google kicked me off a while ago, but you know, I have two small mobile games that I built with Unity. What are those called? Blink is the iOS version and or the iOS game. They're both iOS games. Blink is the first one. Snow Pounce is the second one. These are very simple mobile kind of like hyper casual games, right? Cool. And you know, I'm super proud of those. I was happy to to finish those up. This was kind of in a phase where I was thinking that my foray into game development could become more of a side hustle by working on kind of small mobile hyper casual type of things. Maybe there was like an an ad in it in inapp purchase ad revenue play, which obviously there is. That's a thing. And, you know, I kind of made those two games
and I realized that that just wasn't the type of game development I wanted to do, right? I had I'd been sitting on this idea for this grand RPG, you know, you know, following everyone's advice to start small, you know, make Pong first and finish that. And so, I was trying to do that with these two mobile games. Um, but at some point, I was like, I'm not having this isn't like the full creative outlet that I need. it feels a little more like a a chore or a job if I'm just like trying to crank out some like simple hyper casual ideas. So that all is to say that when I started down that path, I've had analysis paralysis for a long time looking at different engines trying to understand what I wanted to do. Um even if I wanted an engine or if I wanted to like do monoame like the Stardew Valley creator, right? Don't even have a a visual kind of helper and just get in there and use frameworks and build this thing up. Wow. Um, but Unity was a clear winner for like the mobile game space because it seemed like there were a lot of examples of mobile games made with Unity. They had really nice plugins for Google ADM Mob and all this stuff. So, that ended up being the way
that I went. And also just so much content out there about Unity. It's there's so much to help a new game developer learn. You know, this was at the one of the heights of Brachies that I probably know was just loving all that and taking all that stuff in. So that was a great place to start. When I shifted to the idea of building a bigger project for PC rather than mobile, that felt like an opportunity to re-evaluate um the tools I was using. I definitely have some gripes, well I should say had gripes with Unity cuz I really haven't touched it in a long time. I kept hearing about GDAU being this upand cominging open source. You know, they're not going to make you have a splash screen at the front or anything. They're not going to take a piece of the pie if you're super successful. You know, a a couple things also really drew it to me. It's It's super small and lightweight. I mean, it's like 400 megs or something. Maybe. Maybe I'm making that up, but it's pretty small. It is very, very light. I I Dude, I've opened up Unreal. I'm sure you have, too. I opened up Unreal. I've opened up Unity and I've opened up GDAU. GDAU is like instant. It
just appear. Now, obviously, I was opening up a blank project, but even opening a blank project in Unity, my computer starts to take off and heat up. It's so weird. Unreal is worse. I I don't know if it's just my experience, but Unreal, it's like so heavy. It is so heavy. Well, the other thing for me, too, is like I knew that I wanted to stay in this, at least for now, this 2D kind of pixel art space, excuse me, because that's just what I I don't know. This a lot of the games that I like to play are kind of in that space. Um, and it feels like the art was more approachable cuz I knew I wanted to be doing this all myself and it's like I could probably figure out pixel art a little bit better than I can figure out Blender and things like that. And so GDAU really stuck out because, you know, I think one of the early selling points is that they have kind of like this dedicated 2D viewport rather than Unity lock lock in the Z-axis or whatever the implementation is on their side. So I actually made a video where I did like a small prototype in GDO just to try it
out because I was learning the engine at the time and I really liked it. I think I ended up in the early days of Dolphin, I started it in Unity and you know I made some minor progress but I just kind of hit a breaking point with some of the things that I wasn't a huge fan of that engine for and decided to like give this GDO prototype a shot and breaking points. So this is about five years ago. Um I'll try to try to remember some of my bigger ones. Um, I really really hit some tough points getting Blink out the door in terms of keeping Unity up to date. And this is probably like a minor thing that I don't know, maybe maybe this is just me, but like it seemed like at least once a week Unity was prompting me to update to the latest version, which is a multi- gigabyte download. It takes forever and then things would break in my project like every time. And this is like a simple mobile game project. It's like I I really wanted to keep this up
to date because I just, you know, I don't know. I was on I just wanted to have the newest features. I was already close to being up to date. Let's just try to make that effort. That drove me nuts. Um you know the trick to that is never update it. Don't update it. Yeah. Yeah. It's a simple solution, I'm sure. Yeah. No, but it's it's I'm being tongue and cheek. It it sucks that that's true, but it is true. You know, like uh Twisted Tower, we're going to launch that game with Unity 2022. I'm not updating that thing. Everyone's like, "Update to Unity 6. Come on, Thomas. What are you doing?" I'm like, "The whole thing will explode if I do that." Exactly. It will. And even worse, I've done it. I did update to Unity 6. It's all the stuff on the surface looks fine. And then you try and play the full game and there's like a a billion small things that you're like, "Wait, what? How did that happen? Why is that? Why is that texture pink? What just happened?" And it's all this little stuff that you could easily miss. It you're spinning in the chamber, you know? Yeah. Um, so I just keep it as is. And you're right,
the update size downloads that the the size of the update is huge. I'll say this, one of the issues with all these updates is you might get an update to one of the render pipelines and you might get but the problem with all the render pipelines is there's three render pipelines and then inside of this render pipeline is forward and then deferred and then there's forward plus and there's all these different quality settings. It's just it's like nested rendering pipelines. I don't even know how to describe it. Um it is a mess. And is GDAU that way? Does GDO have a bunch of different render pipelines? And to my knowledge, no. I mean, I have a, you know, a selector in the top right for forward plus mobile and compatibility. Those are my three options and they're pretty clearly defined in the documentation what they do and I'm pretty grateful for that. So, but it's not really a 3D engine, is it? So, it has a Vulcan back end as of Gdau4. Um, like I said, I'm not much of a 3D person yet, but they are striving to kind of work towards that. They've got the Vulcan renderer now, and I think in GDO4
as well, they did a bunch of work on like the global elimination system. So, they're they're working towards that. But what you said was that was going to be like my next point for Unity. It's like, and maybe you can tell me if this is just a few examples of this, but it always felt like there was more than one official way to do something. Am I wrong? cuz like it is multiple rendering pipelines. It's multiple input managers. Like I don't know. I when everything is official, nothing's official, right? And you're absolutely right. It's so frustrating, you know, and I'll be the first to admit I will use Unity probably until it dies because it's the same reason why like I drove Stick Shift for for years. It's like I just knew how to do it. That's how I knew. That's just what I knew. and you just get used to it, but it is way too heavy. And and to your point, everything has an official And then they tell you stuff. I was just I was just griping with David Whe on
Discord. It's like they say one thing uh stat uh dynamic batching is the greatest thing ever, dynamic batching, and then you try and do it and it doesn't work at all um the way it was explained. But sometimes it does work and sometimes it doesn't work. Yeah. And it's just it's uh it's what it is is it's just too complex. It's a bloated engine. Um so yes, that's that I agree with you about the documentation or the the official way to do things. Yeah. Yeah. Yeah. I mean Yeah. And apart from all that, it's like I'm making simple little 2D games. There's just so much of Unity that I never touched. And that hit me every time I was downloading a multi- gigabyte update, right? It's like, I'm not using so much of this stuff. Like, yeah, can I simplify? And GD could always answer that. It reminds me of an infomercial where they're like, you get the you get the spaghetti gr or the the the cheese grater, but you also get the
uh the the the what are we going to say here? Some random thing that is also for the attachment to spin it. And then you also get the backpack to store it in. And then you also get special sneakers with the cheese grater logo on it. It's like I don't need any of this stuff. What am I paying? But wait, there's more. There's always more. Wait, there's more. And everything is low value at that point, you know, including the the main product itself. This is the problem with software is they can try to strip it down to bare bones and make it good again, but it's better to just start fresh because it's so hard to it's it's like a it's like I've been working on this game Twisted Tower for almost four years now. I can't imagine stripping this thing down and cleaning up the project cuz it's just so like one little If I clean this up, it breaks this down here. And if I clean this up, it breaks this. And it's it's so hard to predict what's going to break when you clean stuff up.
And I think the same is true with software. So might as well just start over. Yeah. I'm just thinking that if Unity is the newest version six, you know, if they came out and said Unity 7 the cleanup patch, you know, we stripped a bunch of stuff out, I would have no interest. But if they said Unity 2.0 built from the ground up to be simple, I would I'd be interested. I' I'd look into it. Right. Curious. That's called GDAU. I mean, here we are. Yeah. Here we are. You're right. Yeah, it would be I I I I would not be surprised at all if in a year Unity's like Unity 2.0 is out. We are getting rid of prefabs. Everything is something called nodes. You know, it's like oh yep. So, what what tell me about GDAU like um what what are some key differences between GDAU and and Unity? I think uh well something that obviously comes to mind is GDScript which I think is a good thing for some and a bad thing for others. You know it's it's not a language that you use anywhere else like
C. You know I've written C for work. I've actually done Unity work at at work u which is great but you know you're not going to you're not going to take GDScript anywhere that at least it seems to me. Of course it's kind of like Python. So I didn't find it to be a tough thing to learn. Um I thought it was similar to C. No, it's it's pretty um really it's not very verbose. Yeah, we can look at some obviously when we will when we open it up. I'm surprised to hear that because I I I took a look at it and I could read it. Well, so GDAU supports C. So maybe you were I don't know if you were looking at you know there's a .NET build of GDAU that supports C# officially. That's the problem. Okay. But it's not the official one. Correct. Yeah. The language that really ships with the the engine is GDScript. Would you could you think that the C is just as effective as the GDO script or G gdcript? When I first evaluated GDAU five plus years ago, um I actually started with the the Mono orn net build because you know I've come from Unity. I already know C#. Yeah. At that time there was slightly
less functionality with the C stuff as they were trying to incorporate it. So it's like you couldn't export to mobile if you did C and some things like that. So that's all been resolved now. Microsoft actually I think provided like a ton of grant money to the GDAU whatever the foundation is now and and helped with its implementation. So now I think it's caught up and all of my gripes with it are gone at this point. But I like GDScript. Um you know it seems to work well in the I people think this is crazy but I use the the editor that's part of the engine. You know, I'm not using VS Code or anything right now, even though there's, you know, plenty of extensions and support for it, but it feels very tightly integrated into the scene tree and the node system and everything. I find it to be very intuitive. So, it's actually a big plus point for me. I really like GDScript. Okay, let's go ahead and open it up. All right, so the first thing, what do we want to do? We want to talk about the the scripting first. Sure, happy. Yeah, tell me about it. So yeah, we're
looking. So I guess from top to bottom, the way this is set up is that over here on the left hand side, at least I have it on the lefth hand side. I think this is default is our scene tree, which is kind of like the hierarchy of all of our game objects. I guess that's the Unity or yeah, the Unity term for it. What's what's the GDAU term? Uh these are scenes technically. Uh but nodes can also be scenes. But there's like a little bit of weirdness there. That that makes a lot of sense because then you can have asynchronous loading. Is that correct? Um yeah, depending on yeah if it's kind of interfacing with the the UI or not, I guess would be the the reason I bring that up is because in Unity in order to do asynchronous loading where things don't cause frame hitching and they load in the background, you cannot load objects. You can only load scenes. So that's why sometimes with a level you have to break it up into like five or six different scenes. and load. And my opinion is it seems like Unity is starting to move in the
GDAU direction where like things are more like groups of objects are more like scenes that you load into a bigger scene. But anyway, yeah, I think that's correct. I mean, you know, so just as one example here, we're looking at the this scene is my main island that you see in all my devlogs. So, I've got a bunch of stuff that you might expect, typical stuff, camera, tile, map. Um, I've got this parent that's just an empty node of like a bunch of every organism and thing that you actually see in here. Then a bunch of helper things like weather controller, dayight controller, various spawners which add organisms to the world, right? And I could kind of open up any one of these as its own scene. So like my research vessel, which is this little sailboat down here, this is its own scene that has its own huge tree of stuff going on. Yeah. Right. And so it's a prefab. It's a
prefab. Yeah. So but but look, is a scene a prefab? What who's more correct, GDAU or Unity in your opinion? So that's tough for me to say with authority because I've really been disconnected from Unity for so long. I haven't like done much in it in five plus years. I would argue that GDAU is correct here because there is literally no difference between a prefab and a scene in the context of Unity. The only difference is literally what they're named because if I open up a prefab in Unity, it's effectively opening up a scene. Yeah, just like in GDAU. So, it's just a weird discrepancy. It's redundant language. Um Yeah. Cool. So, that's a sprite. What? So, inside of this research vessel docked sprite or I'm sorry, scene, what do we have? Yeah. So, I mean, this one's quite complex. I don't suppose that's a bad thing. Um, this is important because, and this was actually quite tricky for me to figure out because the player
should be able to walk up this gang plank, be on top of the gang plank, walk underneath the sail, be in front of these sideboards and on top of the wood, but be behind these sideboards and stuff. So, there's kind of like a lot going into how this is constructed. In fact, um I'm pretty sure that yeah, these are all different sprites which comes into play with, you know, where the player actually ends up being spawned in this scene tree so that you can be behind certain sprites and in front of others. Are there like sorting groups? So, the way that this works, at least the way I have this working, there's kind of an implicit rule here where things at the bottom of your scene tree are rendered at the top. Mhm. So, how I actually have this is that, you know, I have my sails. I have that's just the little like ripples at the bottom of the boat. I've got what I call the near deck, which as you can see is kind of the forward deck portion here. Then I have this node called entities. This is where I actually end up putting
the player when he walks onto the boat. That's I've got sprites behind it. So, because these are further up in the scene tree from where the player is rendered, they render behind the player. So, I'm kind of using this implicit rule here to achieve that. Is entities a random word or is that intentional? That's just what I named it. Um, it's just a plain empty node 2D. It's like the simplest little placeholder. Um, I use this keyword entities pretty consistently throughout any scene that really the player or NPCs can inhabit. just as a a way for me to think of, all right, I know that when I put things into the world, they're going to go here. It lets me collapse them, get them out of the way, and make sure that they're ordered correctly with other stuff. Can you can you enter play mode for me and show us this player walking on this? Yeah. Cool. So, we've we've spawned inside the research vessel is kind of like my version of In Stardew Valley. You spawn in your house every day. This is kind of your home base. Depending on where you last sailed to,
you'll you'll appear at that island. And in our case, it's going to be this kind of coral island is this one that I'm always showing. Awesome. Looks like it's raining and thunderstorming and lightning. Was that randomized? Uh, yeah. The weather is chosen at random based on time intervals. So, as if we play long enough here, the weather could change. Hey, can you explain to me how the pixelation is so precise? It looks like all of your pixel sizes are exactly the same size. That was probably one of the biggest and most uh common pieces of feedback I got from my earliest projects on my YouTube channel. People were just like, "Make the pixels the same size." It's like the number one pixel artist need to do. I didn't know that, right? And in fact, in in Blink, I've got pixels of different sizes all over the place. Um, so I'm very intentional about that in Dolphin. You're right. Every pixel is the same size here. Are the trees pixels rotating? So these have a shader applied to them that gets activated during storms or windy weather where they sway. And so this is not like a pixel perfect effect
obviously. So these are just moving um by you know float small float numbers back and forth. This is just a shader that so technically the technically the pixels are rotating. Yes, their positions changing. They're rotating here. Yeah. It's hard to tell though. That's not accurate to 90s games because 90s games they just could not rotate pixels. Um but I couldn't tell. I was just curious. Yeah. And there's more of that, right? Like when you walk through these guys, they'll they'll kind of shake a little bit. So that's I try to do it sparingly, but I think it's I don't know. It feels a little bit more modern and it certainly feels more immersive to me to have this type of effect. Oh, sure. No, I think it's great. I couldn't I couldn't fully tell that that's what was happening. Um, cool man. Okay, so if we go back on the boat, let's see all that. It's It's so important for people to know how complex that boat was all to just achieve a s It's like a normal person looking at this would be like, "Well, it's just
it's just a boat, right?" So, another another fun thing about this that just took me so long to get working properly, you'll notice that when the player is on the boat, the camera is fixed. When they exit to the island, it becomes a follow. There's a very good reason for that. In order for all the stuff that we were just looking at in the scene tree in terms of its ordering to work properly, when the user crests this gang plank, just like that, I have to move the location of the player out of the entities bubble in the island to the entities bubble of the boat, right? And so that has to happen. And I don't exactly remember how I achieved that kind of smoothly because, you know, reparenting nodes in that way at runtime, especially when they're the focus of the user, can sometimes be a little choppy. But that's what's happening here is I have to reparent this node to an entirely different scene and still have all the controls work seamlessly. But that's what allows him
to all of a sudden be on top of the gang plank and under the sail and behind this railing here. So, well, the the thing about game development is the things that you think are easy are hard and the things that you think are hard are easy. Um, yeah, this is what I love. This is, you know, when I talked about getting into computer science because I love problem solving, like, oh man, I eat this stuff up. It was tough, but I I love problem solving like this. For me, parenting a, let's say, a persistent object that is core to your game, like a game manager or the player controller, parenting and moving that character around in nesting it inside of different objects is so dangerous because if if that object deletes, the game doesn't play, you know. So, I don't I don't think I've ever I don't think I've ever decided to parent my my my player controller onto anything else ever. It's always outside everything else. And I've tried it and it always breaks things. So, I
understand 100% what you're saying. It could be that there's a much easier way to do this as well that I just haven't figured out. But when I built You're Well, you can ride the boat, right? Yeah. So, if we enter the boat and go to the map, this is where we can say we want to set sail. This is so fun. There's a lot of stuff in progress here, so you'll have to forgive how janky it looks, but this is where you actually kind of spawn into the ocean scene. So, the ocean is one big scene. Yeah. Um, and this is where you can pilot this little boat around. There's not a lot to do here. Actually, trying to remember the other thing we're not progress for 5 years. I know. Wind Waker. A huge inspiration for this part. [Music] Oh yeah, see we crashed there from trying to do something that I have not fixed. Let me boot this back up. Okay, what else can we take a look at here? So we looked at we we we saw the scripts and we saw the scenes. You know you talked about procedural generation. And there is one place in Dolphin where I am
intentionally doing procedural generation and that is when you dive down underwater. And the reason for that is because I it is important to me that the player could dive down anywhere that they wanted to um and not have to wait for certain little quest areas or something to be able to dive down. So in order to achieve that, I had to Oh, I don't want to fight this guy right now. I had to uh come up with a way to kind of always have a place for the player to go if they chose to dive, right? So, I can swim out here over this coral and use my dive flag. And this is going to put me into so fun. It's amazing a procedural underwater scene. So, I didn't make this right. There's a couple things that went into play here. like because I chose to use the dive flag over top of coral that I could visually see. Coral is going to be spawning here and that'll be even more impactful in the future when you know because the water's clear maybe you'll see certain fish or something. This scene will be
populated with that. And so this is kind of the entry into the diving mechanic which is something that I need to spend some more time fleshing out but you know you've got your air gauge up here and your depth on your little dive computer watch. And I've got some cool interactions where, you know, if you don't have a mask on, it's blurry. And if you don't have a tank on, you obviously can't spend as long underwater and things like this. But this kind of underwater exploration is something I'm really excited about for the game. I love that mask thing that you can take it off and it gets blurry. I wish it looked more pixelated. Um, oh yeah, I've just got some Gossian blur uh shader. I wish that you could make it like more like a mosaic fractal. Oh, that's a good feedback. It felt It felt um like it this cuz like if you pull me out of the SNES experience, I feel like you're cheating me. Does that make sense? Yeah. I feel like you're not trusting me. I feel like you think that I don't know that this looks like modern game. Okay. Whereas if it's
Stardew Valley, everything about that game feels like you could literally put the cartridge in an SNES and it would play. So there's part of me that's like, "Oh man, I wish you could find a filter that makes it look like pixelated blur." You know, I'm sure I could. Yeah, that's good feedback. Yeah. So go just spend the next three weeks on that. Okay. Sure. My next dev. Yeah. Yeah. Oh man, that's such a cool mechanic that you can It's So is the is the diving kind of like a miniame type thing? Um, so I really intend for it to be part of a core part of exploration. Um, so just as you'll be able to kind of visit different islands and fight organisms that have this corruption on them and stuff, I want that same level of kind of interest and explorability to happen underwater. So, this is a very shallow island scene, but my intent is, and this is where we crashed a moment ago, um, a while back, I I definitely had the ability to anchor the boat in the middle
of the ocean. And when you dive in the ocean, it is super deep because I have kind of like a global notion of a depth map that informs all of these major scenes. And so, when you are in the ocean, um, all of a sudden it's like, I don't know, 200 m deep. And you know, this is where we're going to break some realism, but I'd love the player to be able to quickly get down to where it's super deep, maybe find some caves, find some exotic angler fish. Uh, you need a light source when you go deep. You know, I've got the light that filters out once you get past a certain point. So, yeah, I want I want all that. Tell me how you did the particle effects. The way I think about GDAU is I think everything has to be from scratch because there's no assets, there's no real systems. Is that an incorrect idea that I have about? I mean there's there are so many built-in nodes that give you I mean these these are all particle nodes that there is exactly like the particles in Unity right you get a little configurator you change all these properties like velocity direction
explosion all this stuff um we we've got all that stuff yeah I see but yeah we it's like a religion which by the way it is um the whole unity religion or the unreal like everyone's in a cult and they yell at each other. It really annoys me. It's like, "Guys, it's a game engine." Yeah, that part is silly for sure. Okay, can we can we open up the artwork in Photoshop? I I would love to take a look at how you're doing this. Yeah. What is this? Wait, what? You're wondering what this program is. Yeah. What am I looking at? So, this is Photoshop. Yeah, this is a sprite. Um, this is probably I mean I might be stepping out of line here cuz I'm just not super familiar, but I think this is probably the most popular pixel art authoring program out there. Um, it's clearly got quite a lot of uh personality to it as you can see just from the UI here. Yeah, this is ridiculous that it has to be even the UI of a sprite looks like, you know. Yeah. Looks like you're playing a game, right?
Pixel pixel art. This is cool, dude. Wow. How beautiful. So, this is like uh one of my finest pieces of pixel art. Probably just this uh this title screen here that I worked on somewhat recently. I'm I'm pretty proud of this. But, I mean, yeah, this is there are certainly I'm trying to build a habit of working on pixel art like this so that I can really achieve what I want to with Dolphins's visuals. And it's saying that it's a process is certainly an understatement. So, so the premise of this tool is forcing limitation on the artist. Well, it's just um it's just made for pixel art, right? That I think the definition of pixel art, as most people think of it, is intentionally placing each pixel, not just like, you know, doing something up cool in and then applying a pixel Sure. filter over it. So, it's really a tool that is designed to help you make the best decisions possible about where you're putting pixels, I think, is probably the best way I'm looking at it. Sure. The reason I bring up limitation is pixel art looks bad if the artist had the has
the freedom to create anti-aliasing, blurring, uh scaling up their objects, um, and getting resampling. You know, it's forcing a very very strict pixel grid onto the artist. Whereas Photoshop, if you're not careful, there's too much freedom in Photoshop. Right. Right. Um, and that makes bad art. It looks like bad pixel art. So, okay. So, let's talk about sizing really quick. The challenge with pixel art is that like I was just saying, if you do the wrong pixel size, it looks like trash. Everything has to be exact. It's a mosaic, right? Um, how are you deciding on the size of your your canvases? How are you deciding on the size of your pixels? So, um, good question. These were kind of decisions that I feel like I made a long time ago. um just to be honest. So I know that Dolphin's viewport is 320 by 180, which I think is a pretty common like pixel art viewport size. Um and
from there, to be honest, I think really what I what I did here was create my first version of my player sprite first and use that as my frame of reference for like everything else that I make. Like here's how tall the tree should be based on the player. Here's what the here's how big the boat the sailboat should be based on the player. Things like that. So, um, I kind of got to a design for the player that I was pseudo happy with and I've just been going from there. What's the, um, that 2D up there and then that at the very top, very very top of, uh, keep going in the middle. There's 2D, then, and then there's game. This, uh, is like the place to actually preview visually this this tree of nodes, right, in the scene. I see. Yeah. So, this is a visual preview of the scene. Script is taking you to and I actually don't like this part about the editor, but Oh, it takes you to like it takes you to Yeah, that's why I have this disabled,
but it takes you to like the last script you had open and instead of tabs at the top, it has like this left hierarchy of like all Yeah. So, I keep that closed to be perfectly honest. And if I jump around, I just, you know, use a shortcut. But if I want to, I can be on the 2D view, which is effectively scene view. Mhm. And have Visual Studio opened. Is that correct? Yes. Yeah. So there is built-in support for external editors. You can configure an external editor to pass like command or like arguments to it so that when you would click on this script icon, it would open this script in VS Code or okay zed or whatever you had. And what does the game view do? This is new. Uh, game embedding is not available on Mac. Look, I lose. Should have been on PC. Yeah, you're going to No, I know what you're going to do. You're going to end up on Linux. That's That's what you're going to do because you I've been there. Just seems like something you'd do. I've tried them all. I've landed on Mac, but I did like uh actually the only
reason I'm not on Linux is because I just couldn't get like the OBS and video editing stuff working as well for me as I would have liked, frankly. And you know, that's that's actually why I've accepted the bloat of unity because I I I really don't like that terrifying feeling of in an emergency, I need a tool, and then I'm like, "Oh crap, GDAU doesn't offer it." Like Linux, all the it's you get your whole PC built, you've got Linux running, and then you're like, "Wait, I can't run OBS, you know?" And that's scary to me. So, I I accept the bloat. And I know this isn't fully logical, but I'll accept the blow of Unity to avoid something like that. Like, if I need to build out Switch 2 and it's like, wait, GDO has no support for Switch 2. I don't know if they do, but that's scary to me. Yeah, that's I mean, I think the console support issue is actually important to a lot of people and a reason why a lot of people don't use GDO because it's open
source. They can't really embed all the tools that you need for a platform like Nintendo or PlayStation. So, you kind of have to you have to work with a third party to get that working. Yeah, exactly. Or or like Microsoft you said Microsoft supports GDAU. Um, didn't you say that? Yeah, I think uh they provided uh monetary help for the C support if I'm not mistaken. Well, sweet, dude. Thank you so much for showing me everything. I'm really impressed with what you've got and you definitely have really good taste. I think you're on the right track for sure. I appreciate it. This is um you know this is more feedback than I typically get you know just scrolling through YouTube comments and it's been super valuable. It really has been valuable to hear uh all the stuff about Dolphin and just about game development in general. So I appreciate it. You bet dude. Thanks for coming on. Um there is a link in the description for take your pick. What would you like in the description? Oh uh I guess either my channel or you could go check out Range on Steam since I just that's been
out for like two months now. Oh, we didn't even talk about range. We can talk about the next time you come on. Yeah. Um, okay. Yeah. Links in the description for I'll do your channel uh for DevDoc. Devdoc devlogs are incredible. Ben's Ben's really good at making videos. So, check that out below, guys. And thanks for coming on, Ben. Take it easy. Thanks for having me. Yep. Cheers. And by the way, if you're making a mobile game, maybe it's similar to Dolphin or something much bigger, and you want to sell it directly on your own website, it's now possible with Exola. This is no longer a niche thing. It's becoming mainstream, which means devs can grow the revenue from live games. Even better, Apple has finally opened up the US market, making it legal to link out to a web shop and take direct payments for your mobile games, bypassing that 30% Apple fee. Exola has been doing this since the beginning, pioneering their web shop back in 2021. And now they have a new buy button solution that lets you drop an external
purchase link right into your iOS game. Whether you're AAA or you're making a casual game or core, Exola has launched over 500 webops and they know what works. From a fully custom web shop to maybe a no code template and going live much faster, they've got you covered. Click the link below and you get access to the super simple, worldclass and easy to implement live ops and payment tools and add direct sales to your
Auto-generated captions from YouTube — names and numbers may be misheard.
Distilling the key insights…
Thomas Brush · 2026
Thomas Brush · 2024
Comments