All right. So, the first thing, what do we want to do? We want to talk about the the scripting first. Sure. Happy. Okay. 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 left 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 the Unity term for it. What's What's the GDAU term? Uh these are scenes technically. Uh but nodes can also be scenes. So 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. Oh, I see. And asynchronously load those in. And my opinion is it seems like Unity is starting to move in the GDAU direction where like things are more like scenes. like groups of objects are more like scenes that you load into a bigger scene. But anyway, yeah, no, 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 weird. 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 Mhm. 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? 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. And let's 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 technically 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 cuz 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 was working on 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. 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 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. 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, it's good feedback. Yeah. So go just spend the next three weeks on that. Okay. Sure. My next devlog. 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 bolt 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'd 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. Yeah. 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 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 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 as 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 exa 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 there's, 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 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 gonna 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. 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, GDAU has no support for Switch 2. I don't know if they do, but that's scary to me. Yeah, I mean,
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 GDAU 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 web shops 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 · 2026
Comments