Friday, 8 December 2017

Ludum Dare 40: An Evaluation

I recently participated in the latest Ludum Dare event which took place just under a week ago. My submission was called "Bring Your Own Bullets", wherein the player has to play a small minigame to fire bullets which they collect from the surrounding arena. Let's get the self-promotion out of the way, if you haven't played this game already then I recommend you do so- it's legitimately one of the better games I've created.

So why am I recording this video? Well, I decided that I'd document some of my thought process during the planning and development of Bring Your Own Bullets.

At the start of the jam, I wrote out maybe 7 or 8 semi-developed ideas for what my submission could be. The idea that I chose was a game wherein you collect bullets around the arena, and each bullet you collect makes you weaker in some way.

I initially though I'd make the player deal less damage for every bullet they collect, though at some point I reasoned that the player should want to feel as powerful as reasonably possible so I decided I'd find a different way of making something worse, as per the theme.

Next, I tried out making the player have less health. However, I quickly realized that each match was taking forever to complete and rather than making the enemies deal more damage(which would effectively nullify the core gameplay hook in the first place), I decided to make the player die in a single hit and find a different way for them to get weaker with the more bullets they collect.

Finally, I decided I'd make the player slower. I didn't really expect to keep this one since I realized a problem before I even started- the player eventually got so slow that they physically could not dodge the enemy projectiles and they would lose immediately after getting to a certain threshold.

I decided that the player would only be slowed down based on the number of bullets that they currently hold, rather than the total number of bullets they collected. This helped a lot and created something bordering on interesting gameplay.

Somehow, I came up with the idea of a quick reflex-based minigame to make it a little bit more interesting for the player. I don't know exactly how it popped into my head, but I think I made some connection from the idea of a physical pool of bullets possessed by the player and a revolver being difficult to quickly reload.

I was pretty happy with this system, so I kept it. I promised myself that I wouldn't change the mechanics any more after that since I was approaching the upper boundary of how much I can program in a day and still remember how to breathe and blink. I spent the rest of the day coming up with ideas to juice up my game, or making it more satisfying and pleasant to play.

I added some very light screenshake, some particle effects and a nice pulsating background for good measure. Also, several things work off of the same hue value- I did something similar in Super Displacement, where the enemies' red hue was mixed with the current colour of the background grid. Nothing too complicated, but it helped everything feel a bit more unified by more than you'd expect.

As an aside, the sound effects were actually the easiest part of the whole experience. Godot 3.0 uses a new bus-based system for audio processing and once I figured out how to make raw wav files loop since I couldn't import them as proper samples, it was a breeze and really satisfying to use. Plus it comes with some nice stock effects like delay, reverb, etc. What's not to love?

Also, I named the soundtrack "doesn't this bell pepper taste morose?" which is legitimately one of my favourite titles just because it's such a silly premise for a vegetable to taste like a mood but that's just my weird sense of humour. I'll stop now before I get into the etymology of some of the song names from Super Displacement's soundtrack.

Thanks for watching and stay tuned for something a bit less Ludum Dare flavoured. I told you I wouldnt' make another Ludum Dare video and I guess I lied because here I am, making another Ludum Dare video.

Tuesday, 5 December 2017

Practice

The sad truth of game development and a lot of creative pursuits is that practically nobody is born good at what they do. It can take years for somebody to get good at something, let alone great, let alone significant in the field as a whole.

This can be discouraging, since in the worst cases it can be years and years of work before you see any kind of improvement. I have some experience with this, since two years ago I was truly terrible at pretty much anything related to drawing, including sprite work and especially animation. I wasn't good at it so up until I started making games, I never really tried that hard. I was good at coding, so why bother?

Ultimately, I got to a point where I had to make placeholder graphics for my games and so, I got into pixel art. Two years later, I'm approaching being competent in pixel art- it's still nothing to write home about, but I've clearly improved from only being able to poorly re-colour Terraria sprites.

Similarly, my first game (excluding the one I made when I was like 8 years old) was released August 10th, 2016. It was called "Don't Be Still" and the idea was just that you couldn't stay still too long or you'd lose, and you'd maneuver some levels populated with enemies that I think would shoot at you. It was pretty bad, buggy, unfinished, unpolished, pointless and honestly pretty horrible to play.

Looking back on it, it's incredible that I made that game only about a year ago. However, with what I believe to be fairly high amounts of practice and dedication to becoming good at making video games, I've improved by several orders of magnitude.

The point of this video is probably a bit hazy at this point. I'm just rambling on about my experiences with improving in artistic fields and I think it's all getting a bit disjointed, so I'll just assert something now.

I believe that practice is pretty much the only way you can get better at game development. Reading old design documents from Nintendo and watching Extra Credits videos will get you to some degree of knowledge, but knowledge isn't skill. Knowledge is knowing what to do whereas skill is being able to actually do it.

It can be difficult for someone to step back and view their own creation as something that they're not working on. By creating something, you have a preconception of what your creation should be in your mind. This preconception can muddy your actual perception of what your game is really like. Other people won't have the initial spark that inspired your game, nor will they have knowledge of the thousands of builds that you tested just prior. Your audience will only ever know what is in front of them and I think it's impossible to fully view your game from an outside perspective.

This is relevant because knowledge allows you to think of something that should be fun on an intellectual level. Something that should extract the correct amount of dopamine from a potential player at all the right times and something that on paper would be a best-selling game.

Skill is a persons ability to execute on this knowledge and actually be able to deal with it. Taking my recent Ludum Dare submission as an example, I know only from experience how much screen-shake is fun and how much makes the player feel shaken and nauseous. The minimalistic "growing circle" effect when a bullet hits the boundary was one of the first things I thought of when planning out my game because I had experimented with that effect in a previous game.

It didn't fit in that game, but I tried it and from having tried it I have a better understanding of under what circumstances that specific effect would be nice to have.

So by having practiced game development, I became a more able and competent game developer.

You just wasted 3 or so minutes of your life watching someone tell you that practice makes perfect. Well done.

Thanks for watching and stay tuned for videos like "water is wet", "the sky is blue" and "games are objectively bad in every sense of the word"- goodbye!