Hello World!

Reading Time: 6 minutes

Welcome to Snoeyz’ Godot Blog! Here I’m striving to bring light to little known or infrequently leveraged tools either inside of Godot or related to Godot in order to expand the toolset of gamedevs using the Godot engine.

I will aim to post at least once a month, each post covering a particular topic with a walkthrough and a GitHub repo so you can follow along and play with the code if that interests you! We’ll see how well this works out, but I’ll give it my best!

This first post is just going to introduce me to you, my background, why Godot, and answer a few questions you may have!


Who am I?

Heyo! I go by the online pseudonym snoeyz on pretty much on all platforms. I’m a 90’s kid with a wife and kids, living in Minnesota. I graduated with a Bachelor’s of Science in Computer Science and immediately went to work for a private company in the healthcare field where I worked for 7 years as a full stack web developer, but have now since moved to backend software where I have a primary focus on data science and data movement.

I’ve always had a passion for software and technology, even before I knew I wanted a career as a Software Engineer. When I was in high school, my brother bought me an HTML book and a PHP book, and from there, it all started. Before I knew it, I was creating websites for my high school friends’ bands. I even played around a lot with the RaspberryPi project boards. Oddly enough, going into college, I had no inclination toward selecting a CS related major and I originally went to school for Biochemistry, Cell and Molecular Biology, with the intent to go to medical school after I graduated. It wasn’t until sophomore year that I took a CS intro course and it struck me that I was way more passionate about computers than I was about biology (I was actually quite fascinated with chemistry, but biology was never my favorite). And the rest, as they say, is history.

In college, I first worked at the IT support desk and in my junior year, I took charge of the school wide online voting system (the bespoke website my school used for voting for both student body type elections, but also staff and faculty elections). The whole thing was written in Java and hosted on premise in my school’s data center on an Oracle WebLogic server. From there, I earned an internship at my current company working at their support desk, where I was eventually hired full time, after graduation, to join, and eventually lead, the development of a B2B e-commerce platform.

Besides professional work, I’ve always been extremely passionate about technology, whether software or hardware. Since my senior year in college, I’ve maintained a self-hosted homelab with things like a NAS, Minecraft servers, OwnCloud, Plex, etc. I’m a very beginner hobbyist when it comes to electronics, but I’ve played around with project boards a fair amount and even have designed an RP2040 based flight computer I designed by myself to control and monitor model rocket launches, in-flight.

So that’s me in a nutshell. Can you tell I have ADHD? It was so obvious, I was diagnosed in the 5th grade (which was VERY progressive for the time, as mental health wasn’t, and in my opinion still isn’t, as big a priority as it should be). But what’s my Godot story?


Godot and Me

My first exposure to Godot, was back in maybe 2014, or so, I was kicking around the idea of developing a video game for a hobby project. I had taken a look at the heavyweights (Unity, Unreal) and was pretty intimidated, not to mention legally illiterate and wasn’t fond of the idea of signing some crazy complex agreement or whatever, especially for what was going to be an introductory project. Eventually I took a look at other engines and considered jMonkey, Panda3D, Torque, and Godot (just to name a few). Eventually, I settled upon designing my own, from the ground up, like all foolhardy indie game developers do and got to work, following a quite thorough and helpful YouTube tutorial. I had grand plans for that game, that, ultimately, never came to pass and the project lays abandoned to this day.

From there, we fast-forward to 2024, living in a post-pandemic world and I was deeply entrenched in Twitch culture, mostly hanging out in Minecraft and variety streams, even modding a handful of streams. At this time, Thor, founder and lead of Pirate Software was blowing up on Twitch, breaking hype train records left and right. Thor was, in my opinion, being a net good for the gamedev field by encouraging everyone who had any passion for games, to just try and make a game, and not let anything get in your way. From his stream (I always tend to lurk in streams over 500 viewers, just because, for me, it’s hard to feel like a part of the community and that my voice is really heard), I was eventually funnelled to a smaller streamer, jackie_codes. While Thor had gotten the wheels in my head moving about gamedev again, I was still daunted by his success: he had industry experience (He worked for almost 20 years in the AAA games industry), he had his own team, he was hugely successful. I still wanted to dip my toes, even signing up for the Pirate Software Game Jam 14, though I never submitted anything.

As I became more involved with jackie_codes’ community, I was eventually talked into joining, and actually submitting my first game, for Jackie’s first game jam. I had a blast, and as Jackie uses the Godot game engine and her content was probably the most gamedev content I had consumed at that point, I decided to use Godot for my game. I was super nervous, but ultimately shrugged off most of the pressure since this was my first game I had ever developed. Much to my surprise, I had won the jam with my entry! Following that jam, I dove headfirst into Godot.

At the urging of many of my online friends that had tried the jam entry, I decided to embark on a journey to develop my prototype into a full fledged game. I became more active in other gamedev streams (not all of them Godot), an active community member (and eventually, moderator) for the r/godot subreddit, and set my sights on participating in more jams and just generally broadening my experience with both Godot and gamedev, in general. I started talking to several of the members of the Godot Foundation, as well as several contributors to the open-source project, itself. During these discussions, talk about the observer pattern came up and one of the Foundation members offhandedly mentioned that custom resources are hugely overlooked. My interest piqued, I set out to build a minimal demonstration of what I had discovered, as well as test the boundaries of this new (to me) tool in my toolbelt.

My demo wasn’t only helpful for me learning about this oft overlooked resource (pardon the pun), but I shared it with a few online Godot communities I was a part of, and many people found it helpful! Then, later during a discussion about another jam (one I didn’t participate in), a streamer I was watching was flabbergasted that Godot didn’t seem to have any native drag and drop functionality supported out of the box. Thinking this surely couldn’t be the case, I dove into the docs, only to find just that, and my second demo came to fruition. At this point, it had occurred to me, I should just make this a regular thing and jokingly suggested to a friend that I should start an educational blog where I dive into various Godot based topics and explore little known or undervalued corners of the engine. And thus, this blog was born.


So, What Now?

Well, I fully intend for my first two posts to be about custom resources and drag and drop, respectively, as I have a head start on them already. That being said, I do plan on expanding the drag and drop post to include other common implementations as some people might find the native implementation lacking. I’ve also started to build a list in the background of various topics I find daunting and want to simplify for my benefit and learn about along the way. My posts will have accompanying repositories on GitHub to demonstrate the concepts I’ll be exploring in each post. The code will always be done in GDScript, for accessibility to beginners and because the vast majority of C# developers (or other languages through the use of the GDExtension) are advanced enough users to figure out how to translate the concepts into their language of choice. That being said, once the bug preventing web exports in the C# build of Godot gets finally patched in .NET 9 (which should be out around November 2024), I plan on diving into C# development in Godot. Once that happens, I might start showing code for both GDScript and C#, but for now, it will be just GDScript.

In addition to those types of posts, I may occasionally post about my personal game development journey. For instance, I may post post-mortems about game jams I participate in or post about major gamedev related events, particularly if they deal with Godot.


One thought on “Hello World!

Leave a Reply

Your email address will not be published. Required fields are marked *