I make games now. Play my game.

screen1Return of blog, I blog again. Hello there, after an extended period of radio silence I have emerged from the ashes with a video game that I have made.

You can play it here: http://www.newgrounds.com/portal/view/653101

This is my first ever game, hopefully the start of bigger and better things. It’s not a great game, but it exists and that gives it a significant advantage over my many ideas for things that don’t.

The Poetry of Game Development

Over the past two weeks or so I’ve been diving into the world of computer coding and making video games. The program I’m using is GameMaker (the free version, which I got off steam) because it seems to be the easiest to start off with. It’s pretty fun, and it has its own coding language which let’s you take it up a notch if you want to get more advanced. I was also learning JavaScript from a very cool website called Codecademy which turned out to be very useful since the languages are quite similar and the learning curve for this stuff is so steep you could get a concussion if you ran headlong into it. Since I always revel in the opportunity to shite on about video games, here’s a list of simple observations I made that really surprised me, given that I had virtually no experience with any kind of programming beforehand. Maybe if you’re computerly illiterate like me you’ll find them interesting too!

Disclaimer: if you do know anything about computers, please forgive my ignorance, I have no idea how true these impressions turn out to be the deeper you dive into this strange computery world. These are just simple thoughts I had that made me think all this tech stuff is more fun and artistic than I originally gave it credit for.

1. Everything is more complicated than I thought it was.

The first game I made on GameMaker was eloquently titled “My first game EVAR!!!” and because I cheaped out on the free version that won’t let you export to HTML, no you can’t play it. However, I can describe it to you in vivid detail.

I predict that soon Blinky the Blob will be held in as high esteem as Gordon Freeman. Watch this space!
I predict that soon Blinky the Blob will be held in as high esteem as Gordon Freeman. Watch this space!

Essentially there’s a little blob named Blinky and when you press left he goes left and when you press right he (can you guess?) goes right. It’s very artistic. Anyway, the first thing that struck me is just how damn complicated everything is. I mean, yeah, you can just say “when the left key is pressed, move left at 5 pixels per frame per set” or whatever but that’s a boring, uninspired way of moving. You get a much nicer, more fluid way of moving if you set it so that you accelerate up to a top speed, and when the key is released, you slide to a stop by playing with the friction settings. It’s really pretty fascinating. And to be honest, it’s that sort of macro stuff that’s the easiest to pull off, it really snowballs when you want to add a delay to a jumping animation so you can see the little dude bending down to ready himself. All of these things you take for granted when playing big budget games. It’s really the simple, nuanced things that make a game feel polished and professional that are the toughest to pull off.

2. Everything is way simpler than I thought it was.

I mean really, who knows how a video game works? For that matter, who knows how a computer works? I think I could give a pretty good rough explanation of how pencils and paintbrushes work, hell I could probably take a decent stab at explaining the camera, but the idea that all these letters appearing on this lit up screen in front of me is the result of some complex series of zeros and ones? On a scale of one to making sense that scores a grapefruit. It’s completely alien to me, but really once I started tinkering with the code, I sort of figured its all just maths, and not even particularly complicated maths.

I get it!
I get it!

I don’t know who invented the “if statement”, but whoever it was is the patron saint of compooter things. It’s a stroke of genius, you give the program a condition (like if the left key is pressed) and then the computer stares at it, and it keeps giving off zero, zero, zero, zero, and once it lights up and turns into a one, it executes whatever code you put in the if-statement (go left). It gets really cool once you have a string of them together. If the up key is pressed, and if the player is on the ground, increase vertical speed, if vertical speed is greater than zero, play jumping animation, if player is off the ground, set gravity variable, if player is on the ground, set gravity to zero, if vertical speed is zero, play stationary animation. There’s a really beautiful synergy to it, when all the different parts of the code come together and run smoothly. You get the hang of threading these things together really quickly and it’s very rewarding.

For science!
For science!

3. Your personality is inevitably going to come across.

I always thought that the real magic in game design came from the idea men, the storyboarders, the artists, the musicians. I thought the actual programming was a monotonous, mechanical process that was simply necessary to glue all the other bits together. Boy was I wrong. It’s really a lot like making music. You have a sort of rough idea of how you want the game to play but in the end you’re just pumping in figures and variables, play-testing, and seeing what feels good. You’re not going to program the perfect jump in one go, you’ve got to play around with it until it feels right. I found that it’s really the accidents that make for the best game experiences, it’s all about recognizing what works. A lot like how most of the major developments in electronic music have been people making mistakes, but realising that it sounds good, so they stick with it. It’s a lot more of an artform than I gave it credit for.Space Invaders

It sort of blew my mind when I realised that your individuality is inevitably going to come through in any bit of programming you do, no matter how generic. A lot like how if you got 50 people to paint the same tree, you’ll get 50 different paintings. If you get 50 programmers to make Space Invaders from memory, you’ll get 50 different games.

4. There’s art in games and games are art.

The late great Roger Ebert once butted heads with the gaming industry by saying “video games can never be art”. Honestly I think its a fairly ridiculous argument that pretty much just boils down to a semantic disagreement. Firstly, art has to be defined and secondly we need to decide if video games are “games” in a true sense. Neither are things I’m particularly interested in doing. I’m sure if games were called “interactive audio-visual works with peripherals for generating input” there would be no debate but because they’re called games we have to clash with critics (similar to how “comics” are stigmatised even when they’re not comical).

Anyway, I always knew that there was art in games. There’s concept art, narratives, soundtracks etc. but this is the first time I realised that the mechanics themselves can be art. I’ve spent a little time searching for interesting contemporary examples of people using technology in innovative ways to create poetry and it’s definitely something that will only get bigger in the future. I for one think it’s already there, there’s definitely a sort of intrinsic beauty to a block of functioning code, and there’s an amazing physical sensation you get from the visual feedback in a game. It’s amazing when a jump you programmed feels just right. Or maybe I’m just too sentimental!

The future of gaming is here.
The future of gaming is here.

Here’s some examples of some neat code poetry. And here’s a Wikipedia article on digital poetry. Lastly here’s a cool competition I found if anyone feels like making some digital poetry of their own.