 Hi, my name's Brett. I'm a hobbyist game developer who recently started using Godot after evaluating various game engines. As part of learning Godot and wanting to make a lot of small projects quickly, I made Godot Skeleton. It is a template repository and source code base for you to use for your Godot games. What you get is a bunch of scenes, some commonly needed functionality in games. That's not your gameplay and a script to make it easy to export your game and upload it to itch.io. So, you can see here, here's it running in the browser. You can go to settings and toggle these options. Those are then accessible via a single thing called global. You can start the game and you see some gameplay, which you would replace with your game. You can press P or escape or the start button to pause the game and then you can return to the main menu. All of this works with a controller, mouse, and keyboard by default out of the box, which is pretty nifty and, yeah, let's show you how to get started and how quick it is to make a new game in Godot using Godot Skeleton. So, you go to github.com slash Britulupa slash Godot Skeleton. Click use this template. Create new repository. We'll call this Godot Skeleton test. I'm going to make it public. You can make yours private or public, depending on if you want your game open source. It will generate the repository. Click code. I'm going to use get for this. You could also just download the zip and not do that. I'm going to open up a new shell. We'll hide this. I'm going to go into my game.get folder. I'm just going to run get clone for Godot Skeleton test. I'm going to change into that directory. And then if I open my finder so that you can see what's in here, it's all of that. And from the template, and you just double click project Godot. You can run play. And we'll see what we just had in the browser. But you might notice something is a little different, which is that the start settings and then quit quit is available, whereas before quit was hidden. And that's because the options are operating system aware. So based upon what functionality is present, you will see different settings available and not available. So if we click settings, and if we go to full screen, you can't make a web full screen that's handled by the browser. But on desktop, you can make a full screen and you can change these things. You can quit and we can relaunch the game and we'll see that those were persisted to disk. If we go back and quit and full screen, launch it again, it launches into full screen. And those files are stored in. Let's just go ahead and look at that. Those are stored in the files called Oh, that's sorting your user space. So that's dependent on each OS, but that's a function that's built into Godot. You can click start. And now we see this all here. Let's go into Godot's editor, the everything is organized into folders here. It's a little small. Sorry about that. But let's just go into gameplay, open that scene, and we'll go ahead and move this icon. Of course, I grabbed the wrong one. We'll move gameplay over here in the icon over here, save that. And then in our running game, we have see that that's updated. So you go into this scene gameplay, which is a 2D scene, but you could just delete it, change it to a 3D scene and you'd be good to go. And that's how that works. Main menu here. You can go and edit these labels as you wanted. Like we'll make this title, we'll change it to be Godot skeleton test. And we'll make the credit again by me, Brett for instructions. We can just say, just testing this out. And then how it works is that you'll see here in menu options, it uses scenes for the gameplay and settings. Some of the other ones use strings because they're pretty constant, but your gameplay might change. So I made these export variables so you could go and quick load and select a different scene if you needed to. That seems like something that would change a lot where like main menu doesn't change a lot. You could change this background color, save it, run the project. Now you'll see that that's red and things are slightly different or gameplay has changed around. And yeah, you have these settings that load to disk and persist to disk. Let me actually show you the global script because that's kind of useful. So you would do global dot play SFX, right? So like let's actually code something here. We have gameplay script. And let's just say, let's just find, oh, well, sound effects funny, but I'll just show you the code anyway. We'd say like if input, how about this, instead of switching to the main menu on UI accept, we'll say, you know, if global dot play SFX, then we have some audio stream, right? You know, whatever, and we call that play, whatever that code is, that might be wrong. But you can then check here for those types of things. You could even have functions that you call out that just play the SFX. And if it's not enabled, you know, the settings disabled to checks. So sorry, long-winded explanation of that. But that's how you would use global. What else is interesting in here? Probably the deploy process. So let's go ahead and show you that. So in your Godot skeleton, there's an INI dot slash CFG file, because that's what Godot uses, where you can specify the metadata, which is used for the itch version, which just can be nice to change. You could also access this export CFG file in your Godot code via the config file API here. So like you could do config file, and instead of settings file, we would make it export config, and you could display the game version there. Let's actually, well, yeah, so anyway, I'm off in the weeds, but you can change your version here. That's used for itch. And then eventually I'm going to make it so you can show that in your game easily. And then you can set your itch user, and you can set your itch game project. So let's go ahead and launch a new itch project with these changes. So we would go to here, we would make a new project, we'll call it Godot skeleton test. This slug here is what we want. I already typed that in, so we don't need it. Go here. I'll probably delete this, so it might not be around in the future, but it won't be public. But it defaults to 1280 by 720 because that's pretty common, and it's 169. So if we save that, we don't have anything yet. But if we go here back to our shell, and this part of Godot skeletons may be a little less polished because it requires Ruby, because that's the scripting language I know best and was able to get this working pretty easily. But you might not have Ruby, and I don't know if this works on Windows. I've only tested it on macOS and Linux. So those are areas to make better, but the cool thing is you can just run dot slash export. There's an export script, and it goes and then headlessly builds all of the Godot exports that are managed in the Godot project. So like, while we'll let this run over here, let me move this here. If we go to project, export, it comes preconfigured with a web export, a Linux export, a macOS export and a Windows export. So it's going through, it loads it from this config file, and then creates all of them. And then since we configured itch, it goes and pushes these builds to itch. So you can see right now it's pushing the web build, now it's pushing the Linux build, and we'll look at those files that are generated here and then on itch. But within however long I've been recording, right, five minutes or so, got a new project set up, we have all these foundations, we built the project, we're deploying it to itch. These itch deploys will be even faster each time because it's smart about patching and diffing the versions. So that's, yeah, pretty neat. This is early gaze, you know, this is like, you know, I'd consider it version one, but and I'm going to use it for my projects. I think more things will be added and changed. And the intention is that with each project I make, I'll customize it. And as you use this template, you customize it to your needs, don't worry about keeping it updated. You can always come back to it in the future and use it again. And then, you know, after each game, I'll just go and make it better and take what I learned. So let's quick look at the exports directory, which is something that's configured for Godot Skeleton. So we have a zip of Windows, web, macOS, and Linux, because I want those to be easily compressible. Then you could push these to GitHub or itch or wherever, right? It's default goes to itch. And then there's the exe is there and then the web source that's there. Now if we go here back to Godot Skeleton tests in itch, we see that the files are uploaded. They have the proper channels and the proper operating systems in itch. We have the HTML. We'll set this here for Godot projects. You have to enable shared array buffer support. It's just part of what's required. So you click save, go to view page, run the game. It's going to go and load up our game. And within that time frame, you know, within that short time window, we have our game deployed to itch and you can see version is 0.1 and that's coming from our metadata and that's helpful for your users, you know, your players to know what version you've got. I've noticed these take a long time to load and initialize sometimes. I don't quite know what the reason for that is. Maybe there's a way to reduce the size of the builds or something like that. I don't know, but it should eventually load. We can check the browser console. Okay, there it goes. Yeah, that's that's something interesting. I'm curious why that takes so long to load. But I don't know if that's me or Godot. I mean, there's not much going on in this project. So I don't know why it would take so long. But yeah, that's Godot Skeleton. Hope it's useful. Let me know if you use it because that would be awesome. And let me know if you have issues. I'll try to make it better. And let's go and make some cool games with Godot. Again, it's at github.com slash bretchalupa slash Godot underscore skeleton test. If you don't want to use git, you can just click download zip and open that. And then here you go, you've got, oh, why did I do that? Wow, that's a good, good flood at the end of the video. Well, don't open all the files, but just open the, you know, the Godot project. Oh my gosh, launched X code VS code, all the codes, yeah, just double click this and you'd be good to go. So it's even faster if you don't use git. All right, thanks. Take care. See you. Bye.