Monday 3 October 2022

You Don't Need Godot Tutorials...

Hello and welcome! Today you will not be receiving a Godot tutorial. Hopefully, at this point you weren’t expecting one either.

If you have ever watched a Godot tutorial before, you probably know how it goes. You are led from basic foundations up to a completed project, and you either copy what they’re doing on the screen or you make a few minor adjustments along the way. It’s a great way to become familiar with your tools.

But there’s an even better way to become familiar with your tools: use them!

The hard part of gamedev is always, in my opinion, the ideas. There’s a saying that ideas are cheap, but then again, so is water. Good ideas, much like drinkable water, are in the minority compared to all the things you could be thinking about if you wanted to.

Tutorials are great at lifting this burden because the tutorial-master already has a handle on what you should be making, and therefore he can work out what the structure of the project should look like. But engine tutorials are limited, and they are simply not able to actually teach you how to gamedev.

A tutorial project is just a placeholder. It’s only there to create problems that the engine can be used to solve, like a game that needs a character controller, or collision, or making a working “play” button. When you’re left on your own, it’s up to you to create those problems, and then it’s up to you to solve them.

If you are stuck in tutorial hell, I have good news for you: you have to start doing the fun part. Which is the creative part: the ideas, the story, and the lore. Then once you have a project in mind, start shooting for it! I mean, what’s the worst that can happen?

There’s a nice saying that is if you shoot for the moon and miss, you’ll still end up among the stars. Sadly because of the way distances work this isn’t actually true, but it does look that way if you’re observing from the Earth.

Thanks for watching, and stay tuned for more surprisingly motivational content. I think I even motivated myself when I was writing the script. Goodbye!

Sunday 12 May 2019

WHAT LUDUM DARE 44 IS HERE ALREADY AAA

Ookay so this video is kind of in a non-standard format. This first half was written on the Friday before Ludum Dare, and then I'll write the second half of the script after submissions close on Monday.

I'll be honest I only realized that Ludum Dare was soon approaching like two days ago, so I'm a little bit unprepared. I've been a bit busy with life stuff over the past few weeks, and just when my productivity is starting to improve, I suddenly have to deal with Ludum Dare too.

But at the moment I have yet to experience the trials and tribulations that lay before me, and hopefully I won't suffer too much this time around. I mean hey; this is gonna be my 7th Ludum Dare. I have experience, right? There's nothing new that could potentially throw me a curveball.... right?

[48 hour long snip]

Oh... *god*. So that didn't go quite as planned. Now that's not to say that I didn't finish because I did finish, but the game could have done with a lot more work. For instance, it doesn't have a main menu, and the transition to the win screen is just a hard cut.

Despite putting in a combined 19 hours of programming across both days, I still found that I ran out of time and more important, I ran out of energy.

The reason for this is that right from the beginning, I wasn't able to come up with an idea quickly enough. I guess I kind of lost momentum early on in the day and started procrastinating, and it was only until like 2pm on Saturday when I actually started properly coming up with ideas. This meant that I had wasted a lot of the most productive point of the day(which for me is the morning to mid-day), and I had to drink a ton of caffeine to keep up.

I'll get to the consequences of that in a minute.

So I finally had my idea. It was gonna be neat arena combat game with automatically generated "characters"(though they look identical, I'd give them all unique names and unique stats). The idea is that you beat up enough enemies, gain prestige, and sell your character to purchase a higher level one. Kind of like a whole-body upgrade, but you're given a limited number of choices. I was planning on biasing it so that you would only be given the option to purchase a better character overall, but of course this would mean I'd need to come up with a good way to sort these characters stats from highest to lowest in such a way that guarantees that the player is always moving up the ladder.

As you may have guessed from the fact that it was a pain to even explain just then, the scope of this was just way too big.

I started working on it and getting the basic stuff out of the way. I added movement, enemies, shooting, a few nice visual effects, etc. Everything was going pretty well, and since I had a very basic game working, I decided I'd wait until tomorrow to finish it off since I was getting pretty tired that late in the day. Maybe things would have been different if I hadn't wasted so much of the morning, but oh well.

So the second day comes around, I wake up and I realize "oh no, what have I done? I've only actually programmed like 25% of the code that I'll need to do all this".

Immediately, I decided that I'm going to need to re-design a lot of my original plan. At the time I had a score counter that doubled as a health bar, and although I know a lot of other people also went with that idea, it was the only option I really had at the time.

I decided I'd have to add a little upgrade menu, so I did just that. I ended up basically just tweaking the upgrade menu piece by piece for most of Sunday until I had something which was somewhat unique, if not a bit confusing for people who didn't program it. Not a great place to be at, especially when I know that I won't have suitable energy levels to add any instructions.

At about 6pm on Sunday, I realized that I didn't have a main menu. I didn't have a win condition, and I didn't have a lose condition. These are arguably pretty big pieces of th puzzle, and I already felt like I was completely flattened since I'd been programming since about 10am that day.

Somehow, I pushed through and added a lose condition. Not too hard, but I didn't end up adding a "Retry" button. You'd have to restart the game if you want to try again. The game basically pauses and plays an animation saying "you lose!", which again, isn't great.

At around 7pm, I still hadn't added a win screen. Okay, so I hadn't actually thought about how to win the game at this point and it was getting LATE. I decided you'd win when you maxed out all the upgrades. I did a quick playthrough to see how this would work, and it wasn't too bad, so I just programmed it in real quickly. No scene transitions, no retry button, no end of game stats. Just a harsh cut to some rainbow letters telling you that you won, and to have a nice Ludum Dare 44.

But hey! That's good enough for me. This isn't my most successful Ludum Dare, but not all of them can be winners and I'm not too cut up about it. As I mentioned before, this was my seventh Ludum Dare in a row, and I guess this goes to show that having experience does in no way mean you have to go be good at what you do all the time.

I finally exported and uploaded the game at around 9pm, added a real quick description and I decided to make the title of the game "Press The Space Bar To Upgrade", because I knew that not everybody would read the poorly formatted instructions and that specific gimmick isn't explained anywhere in-game. It'd be pretty easy to miss if you weren't paying attention.

And that basically sums up my Ludum Dare 44 experience. It was more difficult than usual, but hey at least I can turn that into a YouTube video! Thanks for watching and stay tuned for more videos about Ludum Dare because I always do a video whenever one of those little things rolls around. Goodbye, and good luck for Ludum Dare 45!

Sunday 17 March 2019

That Time I Tried Magic Mushrooms

It should be no surprise to any of you that I am a fucking maniac. I drowned in ACE Juice. I'll tell you in a future video how I am in regular contact with the Dark Lord Satan. I am the soon-to-be legal owner of Snail Mail, as soon as Ubisoft gets back to me, which will surely happen any day now.

This might not be as crazy as some of the above, but it's worth adding to my channel's list of stupid videos with questionable grounding in reality. I'm going to talk to you about the time I took magic mushrooms.

Magic mushrooms, for those of you who don't know, are a psychedelic drug. They're not quite as "rainbows and unicorns" as popular media might have you believe, it's quite a bit different. In fact, especially at lower doses, you might not even get any hallucinogenic effects at all.

A week ago or so, I purchased a box of Agaricus Bisporus mushrooms. For those of you who don't know, these are the standard "magic" mushrooms that most people talk about when they use the term.

Now, I don't really like the taste of mushrooms. In fact, for a long fuckin' time I've really hated the taste of mushrooms. Like a lot. So I just did what anyone would do in this scenario, and I sliced them up and placed them on pizza. Unfortunately, we didn't have any pizza, so I had to make my own. Instead of making a pizza base which takes FOREVER, I thought I'd just spread some tomato sauce on a paper towel, and since I'm vegan I can't eat the cheese.

It's a new take on pizza to be sure, but hey- I did the best with what I had. I cut up the little white mushrooms into slices, put them onto the tomato-y paper towel, and tried my best to stuff it into my mouth. That didn't really work, and I know that those of you who saw my video on ACE Juice will at this point be thinking "What the fuck Alex, why don't you know how to eat".

I just misjudged, and I was nervous. I was about to embark on a spiritual journey, I'm sure anyone else would do the same in my position. With a bit of difficulty, I eventually consumed the entire paper towel's worth of mushrooms.

I waited for about an hour for the effects to kick in, listening to music, browsing Twitter. The usual. And boy oh boy, did they kick in fast. It sounded exactly like someone was banging on my window. My curtain was shut so I couldn't verify this, and I didn't really feel like getting up to check. My first mushroom-induced hallucination. How exciting!


The banging didn't stop, and then it kinda started to sound like someone yelling at me. I was listening to music on my headphones so I couldn't really make out what they were saying. Besides, it goes back to the old saying from Timothy Leary; "Turn on, tune in, drop out". I was turned on by a stray NSFW Twitter post, I was tuned in to my music, and I dropped out of caring why someone was yelling at me.

Another maybe 15 minutes passed and the commotion finally stopped. I figured I was coming down, and went to the kitchen to make a sandwich to get the taste of tomato paper out of my mouth.

Suddenly, my door was kicked in. Someone broke into my house! Naturally, I assumed they were police officers and froze. I had just taken an illegal drug, hadn't I? Of course. My disregard for the law was catching up to me. I know they say live fast and die young, but man. I'm only 18. I would never have thought that I had lived as quickly as I did, and that I would die so young at the hands of the state. Surely I'd be given the death penalty for this. Surely.

Whoever burst down my door quickly found me making a sandwich. Breathless, he said "Alex! Stop what you're doing!"

I thought maybe he was here to warn me about the police on their way to shoot me dead for my transgressions, so I asked why.

"I KNOW what you're doing." He said. "I know that you're making a stupid fucking video-length joke about using the wrong kind of mushroom, and you're going to put this on your YouTube channel and seriously upset everyone. I'm here to just stop you, you fucking maniac."

I really had no idea what he was talking about. I stared blankly for a moment, then responded, "I don't know what you want from me man, and I don't know how you know all this information about me, but that's not what I'm doing."

Then, it suddenly clicked. Suddenly, I knew what was up.

This dude was another hallucination. I wasn't coming down at all!

"Hey! You're a hallucination, aren't you?" I asked.

"What? No, fuck off, you know what you're doing."

Straight up, and because my YouTube channel is a place for me to be honest, I'm gonna tell you that I just straight up started touching his face. I wanted to see how realistic the hallucination was, and man it was pretty realistic. I could feel his face skin, his teeth, his stubble- it was all there, and the whole time he was telling me to go away. Kind of strange how he didn't physically restrain me, but I guess hallucinations can't interact with the real world.

"This is a lost cause, I'm gonna go home and when I get home, I'm gonna unsubscribe." he said as he left, stepping over the splintered remains of my door.

Then I waited. And waited. And waited. And nothing else happened. I assumed that I was coming down for real this time and went to sleep.

Overall, it was a pretty interesting experience. I'd do it again. Didn't taste good though, the paper really ruined it.



Agaricus Bisporus seems to be a very powerful substance. The hallucinations are remarkably realistic, and non-fantastical in nature. This is of course in contrast to my experience with Psilocybe Cubensis mushrooms, which was actually a much more interesting experience come to think of it.

On My Next Game

Naturally, as YouTube's number one game-boy, I've been thinking a bit about what my next game is going to be.

I'm going to say up-front, it's probably not going to be 3D. Every so often people will ask me to try doing a 3D game, but I just don't think that Godot's 3D capabilities are really worth me going through all the effort to learn 3D programming and graphics and all that strange scary stuff.

Besides, I like 2D games. 3D games can be super cool, but it's just not what I'm after at the moment- maybe at some point in the future I'll learn how to do a 3D game, but not now.

But anyway, I've been thinking more about ideas or themes that I want my next game project to have. Primarily, I want to slow things down a bit and make a slightly less hectic game than the past few games I've made. Guns and explosions are super cool and super fun but I'm in the mood to shake things up, at least for the time being. Who knows if I'll go anywhere with this idea.

The idea is basically just to figure out how to make a game that's still fun and interesting, just without so many fast-paced aspects. I would want to create a more relaxing kind of game, but I have yet to figure out how exactly I can make that fun. I've got some ideas- for instance, the "farming simulator" archetype could be a good jumping off point, and maybe I could figure out how to introduce other elements of relaxation.

I had an idea for a system in which you would accrue points or have some incentive to just stare at the screen and do breathing exercises or something. It might come off as a bit silly, but it's a cute idea and I would like to find a nice way to make it into something good.

Also, although this isn't really related to anything I was just talking about, I'll probably keep with the monochromatic or semi-monochromatic art style, since that was really nice to work with and I'm not very good at creating other kinds of 2D art. I am able to do white silhouettes, and I guess that's basically all I need.

I think it's possible to mesh that with the relaxing vibe if I need to, although those two things don't necessarily go perfectly together. It might require a bit of careful consideration to ensure that I don't create some crazy Frankenstein's monster of a video game.

Anything I've said in this video can totally change at any moment. Hell, even as I type this script out I'm worried that I won't want to record it because I'll have changed my mind so much by then. Everything I've said here is completely tentative. Maybe you should make your own relaxing video game. If you do, send it to me and I'll post it on Twitter or something. Also subscribe to me and I'll smile in real life. Also pledge to my Patreon.

Thanks for watching and stay tuned for more YouTube videos because I am a slave to Google and the ceaseless turning of the wheels of time. Goodbye!

Sunday 24 February 2019

Game Development Is Fucking Hard

The people who watch my channel are mostly game developers themselves, so I'm sure I don't have to tell you guys that actually making a game is generally really hard work. However, I will. For the entire duration of this video.

Because I did some actual research this time, I can tell you that three quarters of developers in 2016 report having to crunch, and only 10% reported getting any financial compensation for working overtime. This works out to about 68% of game developers having to work unpaid overtime in 2016.

That's a really damn high number! Especially when you contrast this to the general rate of unpaid overtime in the United Kingdom which is only around 20%, but in some places in Europe it goes down to 0.1%. I couldn't find good statistics about this in the United States, presumably because the USA is huge and weird and varied all over the place, so these kinds of sweeping statistics might not be so useful.

The point is, the game industry is terrible at the moment because game development is damn hard.

I'll give you an example of the kind of thing that makes gamedev so hard. Imagine you're starting a new game, a generic 2D platformer. Should be pretty easy, right?

So you create your player character. You implement normal "WASD to move" type controls.

Next, you add a floor for your player to stand on.

Unfortunately, your character just falls right through the floor. Every. Damn. Time.

Upon closer inspection you realize that the reason for this is because your player character is just setting its position with no regard for collision or anything like that, so you end up being able to move through walls. 

So you have to revamp the player's movement system in order to not just set the position, but to use a physics algorithm for movement that'll check for collisions along the way. Queue an hour of finding and fixing the bugs, and you're good to go.

However, your player character controls like garbage because you have made the movement completely linear and boring. This works for some games that have something else going for them, but you're going to need to juice up those controls a bit. So you have to effectively revamp the way that your character movement works.

Instead of just adding some static coordinates to the player's position, you want to create like three more variables to track how the player is moving, how they were just moving, how they're intending to move next, and anything else that you might need. Then you have to test it out.

It now controls like garbage on ice. Okay, new plan. More variables. More functions. More methods.

Does it feel good yet?

Well, it feels a bit like bouncy garbage, but still garbage. And it's still a bit on ice.

So you add more variables. You add MORE functions. You sacrifice a fucking goat to the Dark Lord Satan, and finally you create something that is good. So you go to sleep. You wake up the next day.

You play-test your character controller, and you projectile vomit as soon as you press play. Yesterday your judgement was all off- what were you thinking? Presumably, it was the 28 hours of work powered by caffeine, cocaine and IV energy drinks. So you start again, you delete a bunch of stuff, and you try again.

More successful this time? Fuck you, you don't know game development. That goat you sacrificed comes back as a demon, and it eats your keyboard, eats your hands, your eyes start bleeding and your mouth turns to ash. You start to fall. You hear the Dark Lord Satan sentence you to an eternity in hell for wasting his time.

You spend the rest of your days in the underworld for your transgressions against forces larger than you could have ever imagined. You moron. You damn fool. You could have avoided this. Satan takes your hand and leads you to your computer, and instructs you to re-write the algorithm.

You re-write the algorithm. The devil laughs, but to be fair he supplies you with more IV energy drinks and cocaine so he kinda earned the right.

You playtest your character controller, and it's okay. It actually isn't that bad. It's not gonna win any awards but there aren't any awards in hell so that's kind of a moot point. The devil play-tests too, and he gives it a nod of approval. "Pretty good", he says.

Suddenly, you're teleported back into your house, in front of your computer.

You've finally finished the player character's movement system! Hooray! Time to celebrate!

You take a day off to recover from the time you spent in Hell, and come back to your computer. You look at your to-do list.

Item number one: "Add a dash mechanic."

Everything bursts into flames.