I Made a Video Game: Dodge the Creeps DX

“In this case, DX stands for D-eluxe X-edition”

Oy yoy yoy. Woah mama. Wowee. Ho-ly cow. He’s back! Whattya know? The prodigal son has returned! Odysseus has come in from the sea! Brendan Fraser is acting again! Martin Guerre has removed his lookalike! Jesus has come- well, now that seems a little blasphemous, doesn’t it? I have the draw the line somewhere, after all. Let’s not get too far ahead of ourselves, hmm?

Yes, that’s right! I’m back! I’m still alive, and writing again! Or at least for the time being, anyway, because, well, I don’t want to get anyone’s (i.e. my mom, my grandparents, my ex’s step-uncle Matt, etc.) hopes up. Truth be told, this’ll be a one-off again, probably. Maybe! Jokes aside, I don’t really know what the future of this blog will look like (or if anyone reads it anyway), but for now, I’m here, I’m writing on this blog website that I still owns for some reason, again, and I’m sharing, hmm, let’s see… is it political gibbering around how much I hate the establishment? No, not quite. Is it a bunch of photos of my vacations that serve more as a memory bank for me than for any sort of marketability? No, not that either. Actually, it’s a, uh… well, it’s an advertisement! Yay?

If you aren’t selling something to your friends so that they can turn around and sell it to someone else, are you even hustling?

Well, advertisement is a strong word, since the product I’m telling you about is a) free, and also b) not very big or interesting. Perhaps “journal entry” is a better term for what this post is? Well, no, my therapist and I agreed that I should not do anything related to journaling, so to get around that little nit-pick, I’ll call this a… Development log? Game Design Post-Mortem? Horn-tooting boasting post? Yeah, something like that, probably. Because, yes, as the title says, I made a video game, it is posted online for you to play, and I wanted to share/document that exciting moment here for the world to see and read! And like I said, it’s free! So go try it now! Right here! Click this link! It’s on itch.io! It’s not a virus, I promise!

No, instead of a virus, what it is instead is a little score-chasing arcade game based off of a tutorial game I built as part of my quest to learn game development with the Godot engine. All you really do is move around on the screen and try to survive as long as possible without running into the enemies, but let me assure you, my DX game is a far sight from the base tutorial experience. I’ve added new music, new sounds, new artwork, new gameplay mechanics, new score system, and maybe the most important thing of all: a quit button. I figured that the best way to learn a little bit more about game development and coding in the Godot engine is to expand on a stable, established product (i.e. the original tutorial build), and try stapling things onto it like some sort of crazy man building a tower out of sticks and super glue. And it worked! I wouldn’t say it’s the most original or unique experience, but it is complete, and it works, and I’m proud of it! What more could I ask for?

You can even see that excellent quit button up there. Trust me, you have no idea how important a quit button is until you don’t have one.

Admittedly, this begs the question, why bother posting this game online at all? If it’s just a learning tool that I made for myself, without any intention of selling it or earning money off of it, and it isn’t even a particularly novel experience, why put it out there for the world to see? Surely it can’t just be because I’m a little warm-fuzzy-heart proud of baby’s first video game? Well, actually, that’s almost entirely it. I am proud of it, for a first attempt at making a real, complete thing, and not just some shitty microgame in WarioWare D.I.Y. or a half-baked Minecraft arena map or whatever. And I want to share it with people! Namely my parents, so they can hang it up on their (virtual) fridge.

But therein lies the other reason I uploaded this thing to a real storefront instead of just emailing it to them; the game is 100 fucking megabytes. And I can only email 25mb at a time. Sure, in today’s world, 100mb is nothing, but why is it so big? What the hell did I do to it? I don’t know. The entirety of the assets I used to make this game aren’t more than 15mb, if that, so why is this crazy size? I don’t really know (it’s probably because of how the engine is compiled with the game in the executable), and also, I don’t care to find out. I want to move on to other projects that are actually, you know, original and interesting. But if I want anyone to see what I’ve done, up the game goes onto the great wide world of Itch.io, along with all the wonderful games about inflatable furries and meat wizards. What illustrious company. So, well, I guess that’s reason enough, anyway?

And also an infinite number of Sonic the Hedgehog OCs, presumably. (editor’s note: I DID NOT MAKE THIS! I’M USING IT TO ILLUSTRATE A POINT! My Fursona is far higher quality anyway.)

But let me back up a minute; why make this game at all? Why am I making games all of a sudden? What’s a Godot engine, and why are we waiting for it? Well, to make a moderately-normal explanation shorter, we can say that I just like video games (if you couldn’t tell), and I’ve always wanted to make my own. It’s fun to create something, and I love coding, and I think game development could be a fun little creative outlet for me. The thing is, game development has a pretty steep learning curve if you want to do it all by hand. Instead, you can use a pre-built game engine as the scaffolding of a new project, and lower that learning curve to slightly more manageable levels. That’s what Godot is, and that, right now, is what I’m trying to learn to make new games. And what’s the best way to learn? By doing, of course. So I do’d that. Er, I did that. And I followed the tutorial, and I said to myself, huh, this would be pretty easy to bolt some new things onto it. I bet I could learn something from that. And you know what? I did learn something! I learned that this shit takes a long fucking time!

I started learning the Godot engine around the end of January this year, and I started this tutorial project somewhere in mid-February. Since then, tinkering around with this over evenings and weekends, it took me about two months to get this shit-ass game into a state resembling an actual product. This game, which takes seconds to play, has no real end-state, and you’d probably get bored of it in two minutes, took me roughly 30 hours of my life to make, start to finish, with art, research, and coding all together. Sure, by game development standards, 30 hours isn’t that bad. But as a return on investment, for time put in versus fun time gotten out of it, as a game? Not looking too good.

It took 30 hours to make, I thought it would take 30 hours to play!

To a certain extent, I did know that going into this. I was not under the impression that I’d be able to crank these things out in a couple of hours. At least not in a totally-completed form. But hot damn! I at least thought the tutorial would be a little quicker, and I also thought that I’d be able to slam together some new mechanics and get a practice thing out the door a little bit quicker than I did. Part of that is, too, the learning curve. But the primary part of that, I suspect, is that just that making video games is hard. But hey, we all have to start somewhere, right?

Anyway, point is, I made this game. Everything beyond the most basic aspects of the tutorial game are made by me, including the pixel art and animations. Those of you who don’t know me will probably look at the art in this game and think, ok, yeah, pretty standard pixel art. Those of you who do know me may be looking at these and thinking “holy shit, Andy did that? Have you seen his handwriting?” Or at least, that’s the reaction I’m hoping for. The only thing I didn’t make here is the music and the fonts, both of which are skillsets way outside of my experience that I also have no interest in learning. You’ve gotta outsource a few eggs to make an omelet. Godot is just the frying pan, after all. Assets are the ingredients. And I am the chef, complete with small French rat pulling my hair.

All I wanna do is- *bang bang bang*

So what else did I learn from this, besides that game development is hard and time-consuming? Well, a lot and also very little at the same time. They say that the best way to learn game design is to iterate, make prototypes, and practice with a bunch of copies of games you’ve already played. This is, in a way, an iteration of an existing game, and I certainly learned a lot about coding and using the Godot engine by building it, but I’m not going to go into the details here. That’d be more of a design doc kind of thing, or a craft essay, or a coding tutorial, or something, and that’s not really what this blog is about. Maybe I’ll do something like that for other games I make! On a different website! Because I did learn a lot of techy, nitty-gritty stuff. But as for big ideas? I don’t know if I learned much worth writing home about.

But I will say this is something that did surprise me a little that I learned: bugs can sneak into your game in the most unsuspecting ways. I feel like my game is pretty stable, as far as a beginner project on a pre-built engine goes, but I had to do way more bug squashing than I expected for such a conceptually-simple project. And often those bugs are for such random edge cases, too. What does you game do if you collide with an enemy in the same frame as your shield going on? What happens then? Nothing good, typically. Or at least nothing expected. I’m sure if someone tried hard enough, there are a ton of ways to break this game into something it isn’t supposed to be. But then again, bugs and glitches are the things that speedrun dreams are made of. Not that anyone will be speedrunning this. But you know what I mean.

I think my favorite animation I made is the little shield, which is also the buggiest part of the game. It also has a little sperm comet running across it. Fun!

Sometimes you can turn those bugs into something fun, though. Maybe they give you an idea for a new mechanic, or introduce something unexpected to the game that can be pretty fun. There’s lots of famous cases of this in video games; the Spy in Team Fortress 2 was originally a glitched character color, I already mentioned how speedrunning lives and dies on glitches, the ultraviolent police in GTA began as a bug controlling how their cars chased you, hell, even Space Invader’s difficulty progression was a sort-of glitch, since the game would move faster as you blasted enemies and opened up more computer memory. And I would like to tentatively add my name as a small post-it note to that pile of legendary game design choices because I, too, have turned a glitch into a feature.

I knew I wanted the shield to protect the player against one enemy hit, and then destroy that enemy before taking down the shield. However, when I was testing the game, because of the order in which the shield events happen, I realized that you can actually take down several enemies in quick succession, if you do it before the shield totally disappears. This, in a way, turns you into a sort of quick-fire battering ram, putting you, for once, on the offensive. Realizing this, I had two options; “fix” it by making the shield disappear immediately on contact, or roll with it and incentivize a more aggressive but risky playstyle. I, of course, decided to do the latter. Now you can use the shield to ram into three or four enemies at once and clear some space on the screen. I even made it so killing enemies gives you some extra points. Neat!

One bee can bee-come many
I don’t feel so good Mr. Stark…

Overall, I don’t think there’s much more to say about the game without getting into too much detail about the coding and the methods I used behind the scenes. But being honest, I really, really enjoyed making this thing. It was fun! I had a great time! I’ve been sort of burnt out on writing for the last couple of years (in part because of that book I wrote), so it was thrilling to be able to get into a hobby and reach that flow zone where I’m not thinking about time or how long it’s taking or whether or not it’s good enough. So, I’m looking forward to getting into making more of these things, and making ones that are totally my own. I’m also looking forward to getting back into writing, too, I hope! I have a couple stories I haven’t posted here yet, and a few I want to finish up. We’ll see how that goes.

Anyway, give the game a try, if you want to! It’s a fun little 5-minute thing to do. You don’t even have to pay me for it. But be on the lookout for any future games I might make. I’ll post about them here, certainly, but you can also find them over on my itch.io page for my “game company,” named, fittingly, Owlman Games. Let’s be honest here. What else would I ever have called it?

You can try Dodge the Creeps DX for free here.

And thus begins the grand saga of the paper plane versus a swarm of happy bees…