The Free Tools used by People who Make Games

As I said before, we’re in the Golden Age of Independent Game Development. Anyone who says otherwise can meet me in the parking lot.

Part of the reason for this is that it’s never been easier to learn how to make games outside of a school setting. There is a riotous abundance of free resources for people who want to learn to make games. One of the best resources has been the Unity Tutorials provided free-of-charge, like the engine itself, on the Unity website.

DISCLAIMER: I am not a Unity shill, I am not getting paid by Unity to tell you this. I’m telling you this because I believe in my black, black heart that Unity is the best tool for independent game creators that exists.

But this is supposed to be an unbiased look at the free tools employed by Game Developers all over the world. Here are a few of them, and how to get started using them.

Version Control Software

Obviously the bread and butter of your Game Development career is going to be your game engine of choice, whether that’s Unity, or Unreal Engine, or some homebrewed monstrosity written in C++. However, at some point you’re going to need to bring other people on to your project. Version Control Software is the mechanism by which multiple people can contribute to the same project without causing conflicts.

One of the hardest things about video games for newcomers is that they generally require code. This code is usually C++, C#, or any variety of scripting languages that have been created for specific uses. What all of these programming languages have in common is that they rely on Version Control software when multiple collaborators want to contribute to the same code base.

The basic concept of version control is this: You have a version of the code base on your computer. When you make modifications to it, it begins to differ from the base version of that code that is stored on a server such as GitHub or BitBucket. Before the changes you’ve made can reach the main code base, they need to be committed.

Most version control software will show you the ways in which your local version (on your computer) differs from the master version stored on the server. When you are confident that your local version is ready to set in stone (it doesn’t crash and the changes you’ve made are mostly safe to send to the rest of your team), you can commit them. When you commit changes to your repository, the master version takes in those changes so that the rest of your team can synchronize them to their own local versions build on them with their own changes.

The long story short is, a repository keeps track of the version of your game that is the most stable, rather than taking in every change you make when you hit Ctrl+S like your essay in Microsoft Word. It allows you to make changes to the game that won’t affect what your teammates are working on until you’re absolutely sure that those changes are correct and ready to be added into the main code base.

Version Control Clients

My personal preference for version control software on any platform is Git. The reason for this is the GitHub app.

GitHub for Mac/Windows is the easiest client software I’ve found to interact with repositories. I’ve seen people who never thought of themselves as “technical people” pick it up and use it with little help or hesitation. There are two reasons for this:

  1. The Sync Metaphor: GitHub shows your local changes as unsynced changes. You still “commit” your unsynced changes when they’re ready, but instead of pushing/pulling, the GitHub app does a Sync which I’ve found to be much more intuitive than the push/pull metaphor that the command line tool requires. Hardcore code nerds will tell you that you should use the command line, but when you’re first starting out, the GitHub app is much less daunting.
  2. Branching: Branches are so easy to create on the GitHub app that you’ll make branches even if you don’t need to. Which is good, especially if you’re using GitHub as both your repository provider and your Git client. Branches are very important to grok if you’re planning on working as part of a team.

And of course, the GitHub client, like GitHub itself, is free to use.

Version Control Providers

The GitHub client is a way for your computer to interact with repositories. A Git repository is a directory of files (normally containing code but could contain other things) which can be modified or accessed using the Git protocol. There are two excellent resources for storing your Git repository online (which is necessary for team projects). They both offer free and paid versions, though their paid offerings are quite different.

GitHub

I’ve been name dropping GitHub a lot, and there’s a good reason for that. Besides the fact that GitHub seamlessly integrates with the GitHub app (as you’d expect) it also provides a lot of functionality you would normally have to pay for, specifically, a bug tracker and a wiki for your project.

The catch with the free version of GitHub is that you can only host public repositories. That means everything you put on a free GitHub repository is technically Open Source. If you’re cool with that, everything else is unlimited, including storage and bandwidth. You also get the integrated bug tracker and the wiki for free, as well as unlimited collaborators.

It’s a fact that a free GitHub repository is by definition a public repository. There are two workarounds for this. The first is the obvious one: You pay some money. $7 a month gets you 5 private repositories, with unlimited contributors. The other is to be a student. If you’re a student, you can register for the GitHub Student Developer Pack which comes with the same thing you get with a $7 a month subscription, ie. 5 private repositories with all the bells and whistles. Oh look, the GitHub Student Pack also comes with a year-long subscription to Unreal Engine 4. More on that below.

BitBucket

Atlassian BitBucket is a main competitor to GitHub. In terms of free functionality, it’s close. It doesn’t offer a bug tracker or a wiki for free, nor does it offer unlimited collaborators. But what it does offer is unlimited private repositories. The catch is, without paying, you can only ever have 5 collaborators on a single repository. Want more than 5 people on a project? You’ll need to pay.

Aside from having more than 5 collaborators, everything else is free: Bandwidth, storage, number of repositories, etc. BitBucket is great for solo projects or really small teams, but if you’re planning on taking your team north of 5 people, it’s $10 a month and up. Atlassian’s offerings are more geared for large teams, with professional-grade software at premium prices. For small projects with more than one person, GitHub might be more in your best interest.

Game Engines

Okay, I had to get the version control stuff out of the way before we got to the sexy stuff: Engines.

For Programmers

If you’re already comfortable with writing code, then your choice of engine is most likely going to reflect your level of comfort with certain programming languages. More of a C++ person? Then Unreal Engine might be more your speed, now that they’ve dropped UnrealScript and Kismet in favour of C++ and Blueprint for their scripting. More into Java or C#? Then maybe Unity is your thing. Or maybe you’re a lunatic, in which case I’d say check out CryEngine.

Sometimes programmers would prefer to write their own engine. I’ve heard this idea so many times during brainstorming sessions: “I’m worried that if we don’t make our own engine, our programmers are going to be hampered or not have enough to do.” This is complete horseshit.

Programmers are always going to have plenty to do, whether they’re working with an engine or not. The difference is, when using a pre-built engine like Unity or Unreal Engine, you can get to a playable prototype faster. And taking too long to get to a playable stage is one of the number one killers of long-term projects. I’ve seen that happen first-hand, multiple times.

For Non-Programmers

People who come from non-technical backgrounds who want to make games are going to find their options somewhat limited when it comes to choosing a game engine. But that’s not necessarily a bad thing.

The thing that turns a game into a video game is code. Think of the graphics as the metal and the seats and the wheels of a car, whereas the code represents the abstract concepts of energy, combustion and propulsion that make those parts move when you push the gas pedal down and turn the steering wheel. That might be the worst metaphor I’ve ever come up with, but go with it. Without one, the other would be useless.

Without code, your graphics would be just that: Pretty pictures which never move and are incapable of responding to player input. You can have a video game without graphics, but there is no such thing as a video game without some kind of code behind it. Code is necessary to send instructions to the device on which you’re planning on playing your game, whether that be a mobile device or a PC or a console.

However, not knowing how to write specific kinds of code doesn’t mean you’re screwed. There are systems in place that take the arcane, abstract coding languages and make them more visual and intuitive. Unreal Engine and its visual scripting system are a great example of this concept in practice. Unreal has always been a great option for people without programming skills. Unreal Engine 3 and earlier used the Kismet visual scripting system, and now they’ve moved to the Blueprint system, which I confess to know scant little about, but I’m assured that it’s a fairly strong yet intuitive system.

To keep things easy for you, I’ll present the two most obvious options for game engines. They both start with “Un”. Don’t ask me how that happened.

Unity

The original elevator pitch for Unity went something like this: “Isn’t it such a pain to have to rewrite your game for multiple platforms? Wouldn’t it be great if you could write your game code once and have it just work on PC, consoles, and mobile devices?” In theory this was great. In practice, not always so good.

Then Unity hit version 4, and the true vision of what they were trying to achieve revealed itself: Unity wasn’t just about uniting different platforms (which it suddenly did very well), it was also about uniting the disparate worlds of independent game developers and professional game developers by providing one platform that was intuitive enough for newcomers doing small independent projects, but powerful enough to scale those projects up to full-scale commercial releases.

It also unifies the worlds of 2D and 3D programming. It used to be that 3D game development was strictly the domain of engines like Unreal or Unity, and if you wanted to do 2D, your options were either to use a managed code system like XNA Framework or a less open-ended editor such as Game Maker. But Unity allows for both 2D projects and 3D in the same editor, and switching between the two is remarkably simple. You can use 3D models as 2D game objects. It’s completely wacky.

As I’ve said numerous times, the Unity platform is incredibly robust. Its barrier to entry is low enough that it’s become a main fixture of game jams the world over.

One major downside of Unity is that it doesn’t have a built-in visual scripting language. It relies on knowledge of either C#, JavaScript, or Boo. Otherwise you’ll simply be left with a bunch of assets and no way to make them move or respond to things that happen in your game. There are plugins available which create that type of atmosphere in Unity.

Unity is also mostly free. In the past, the free version allowed only PC and Mac development. However, in recent years they’ve opened up the mobile development tools for Android, iOS and Windows Phone for free to everyone. The downside? If you need something that only the paid version offers, it’s pricey. If the free version can’t do what you need it to, the paid version is going to set you back quite a bit.

Though it purports to unify everyone under the same game development umbrella, its pricing scheme will inevitably leave a small handful of people out in the cold. The upside is that after the initial investment, Unity doesn’t ask for a cut of your profits if you end up selling your Unity-made game.

Unreal Engine

Contrast this with Unreal Engine, which is not free (unless you’re a student in which case WHEEEEEEEE). For non-students, regardless of whether you’re in a company or all on your own, it costs a flat $20 a month for one person to use Unreal Engine 4. On top of that, if you make a game using Unreal Engine, and you want to sell it, you are obligated by the Terms of Use to kick 5% of your profits in Epic Games’ direction.

So Unreal Engine is not free. However. For that $20 you get an industry staple engine that’s been the core technology powering some of your favourite games including the Mass Effect games, the Gears of War games, and the Batman: Arkham games. Secondly, you get a first-in-class visual scripting system that never forces you to deal with a single line of code (Though it all translates into code eventually).

Like I said above, Unreal Engine comes equipped with a very robust visual scripting system called Blueprint. If you’re not a “code” person and don’t expect to learn it any time soon, then fronting that $20 a month for Unreal Engine is probably in your best interest. And do those tutorials.

That being said, I tend to suggest that people who are interested in making games to at least familiarize themselves with the basics of writing code and how game scripting works for their platform of choice. At least understand how things are operating under the hood of your game.

Creative Tools

Almost done. Once you have your game engine and version control software set up, you can do a lot, but at some point you’re going to need to create or manipulate assets for your game. There are a wide number of freely available tools for this purpose. Here are just a few of them.

SFXR

A staple of game jams the world over, SFXR is the ideal tool for creating dirt simple 8-bit sound effects, the kind you’d expect to hear coming from an NES or Commodore 64. It’s great for whipping up easy sound effects on the fly: Just hit the randomize button, or move the sliders to get just-the-right sound for your game. It even has preset sound parameters such as PowerUp, Damage, Laser, and more.

Paint.NET

There is never a shortage of free image editing software, but Paint.NET has always been excellent as an alternative to MS Paint for whipping up simple graphics and doing very basic photo manipulation. For anything more interesting, you’re gonna need something stronger such as GIMP or the grand daddy Photoshop (It’s a verb for a reason) for the very reasonable price of $10 bucks a month. But if you are a serious art person, you probably don’t need me to tell you what to use. Paint.NET is for everyone else.

Collaboration Tools

If you plan to take your solo project beyond the jam and bring others in on it to help you finish it, then you are in luck. There has never been a better time for independent online projects. Two of the best tools available, used by companies large and small alike, are free as in beer.

Trello

This is the obvious one, but Trello is completely excellent. A Trello board is a series of columns, each representing a different stage of completeness for different aspects of your project. Each task is a “card” which can be commented on and have any number of attachments. A card can go from the “Planning” column to the “Implementation” column to the “Testing” column and finally to the “Finished” column using a very easy drag-and-drop interface. Trello is easily the best project management tool I’ve ever worked with, and it’s free to everyone. It doesn’t get much better than that.

Slack

There’s already plenty of freely available methods for Group chat that exist which you probably already use. Skype and Google Hangouts stand out as two very strong contenders. But they’re not designed specifically with a productivity focus in mind, and most people don’t use those systems primarily for productivity reasons. Slack on the other hand is a Group Chat system that’s fully web-based, giving you a unique web address for your project which brings you straight to your chat room from anywhere you have access to a web browser. It has plenty of features including attachments and rich formatting that make it an indispensable tool for group project chat.


So that’s my bit about tools. The main point to get across here is, if you think that the thing holding you back is the lack of good free tools, that idea is more wrong now than it has ever been. There’s never been a better suite of free-or-cheap game development tools in history. My advice would be to find a game engine you like and start practicing now. It’s not too late to start for either Ludum Dare or Global Game Jam. If you need to know why Game Jams are important to do, read on.

 

Blake’s Game Jam Pep Talk

It’s that time again. Ludum Dare is in the… air! (That doesn’t rhyme because that’s not how you pronounce the Dare in Ludum Dare! Snort!)

Nerds the world over are updating their woefully out-of-date Unity installs, stocking up on energy drinks and keyboard-friendly snacks, and brainstorming all kinds of game ideas that are just going to get thrown out at the last minute anyway.

I wanted to take this opportunity to try to encourage those people who never considered themselves as game developers before to throw themselves into it. There’s never been a better time to do it, as I will try to convince you of later on in this article.

What were you going to do this weekend anyway? I know that there’s a new WoW expansion, and a new Dragon Age, and a new Civilization. But when your weekend has been pissed away, are you absolutely sure that you’re going to be satisfied when it’s all over, when you know that what you really want to be doing is making games, not just playing them?

Ludum Dare is a Game Jam

A Game Jam is an event in which people who make games and people who have always wanted to make games come together to simultaneously make games.

Game Jams are responsible for a lot of fun and weird game ideas that might not have obvious commercial value but need to be expressed anyways. Games like Surgeon Simulator, Life Goes On, and Broforce were originally created at Game Jams and went on to become full commercial releases.

You Are Not An Impostor

They’re also places where people who never really thought of themselves as game creators suddenly discover that they had the power inside of them all along. Just like that stupid twist in Space Jam when Bugs Bunny reveals that “Michael’s Secret Stuff” was just tap water. I felt so betrayed by that as a kid. GIVE THEM ILLEGAL PAINKILLERS OR SOMETHING, THOSE ALIENS ARE HUGE

I struggled with Impostor Syndrome a lot when I was getting really serious about making games. I knew that game development was part of my identity when I was making my own D&D modules, or even further back in grade school when I was making terrible games on loose-leaf paper that only involved moving your finger on a crudely drawn map to win the game (Alien Worlds Copyright Me 1995).

But until I participated in Global Game Jam 2014, I didn’t really feel like the kind of person who made games. I felt like I was pretending to be that kind of person as a way to fit into that crowd. There’s a term for that, called Impostor Syndrome. It is partially what prevented me from really participating in the Game-Creation sphere for a very long time. I skipped events like Ludum Dare and Global Game Jam because I was afraid of being exposed as the fraud that I perceived myself to be.

When I finally worked up the courage to go to the Global Game Jam in January 2014, I was terrified. I’d been a part of game projects as one of the founders of the Video Game Art and Design club at the University of Alberta, but I still didn’t feel like I was a part of that world. I have anxiety problems on a good day, but this was beyond anything I’d experienced.

Yet I knew that I needed to participate, and once I was there, I felt like I was supposed to be there. All the worry and the dread that I’d worked up before seemed pointless and silly to me. Everyone else who was there was just like me: They wanted to make games, but not all of them were totally sure that they were the right type of person to make games.

Participating in the Global Game Jam was the experience that finally broke my feeling of Impostor Syndrome and made me feel like I belonged to this community of game creators. Ludum Dare has the same effect if you participate in a Jam, or by yourself. The difference is, it’s very loosely organized, unlike the Global Game Jam which requires you to be at a Jam site.

I hope that if you’re reading this and you’ve had thoughts of making games for a long time like I have, you take some time to get ready for the next game jam. Ludum Dare happens thrice yearly (every four months ie. April, August and December, while Global Game Jam takes place yearly.

tl;dr: Making a game during a Game Jam such as Global Game Jam or Ludum Dare will make you feel like you belong in the Game Development Community.

How do I prepare for a Game Jam?

You lucky sack of shit. You’re pursuing game development during what might be the Golden Age of Independent Game Development.

Tools

The best Game Creation tools available today are either free or very reasonably priced. Not only that, but there are amazing collaboration tools like GitHub and BitBucket which provide repositories for your game code that other people can collaborate on easily, for FREE. And if you want to keep developing your project beyond the Jam, well surprise surprise, there are even more free tools for keeping your project alive like Trello and Slack.

And for Game Jams, there’s a whole world of asset creation tools that never existed before. Specifically SFXR, and GIMP. You can’t even say that you don’t have artists and audio producers to help you make content for your game.

So if you’ve been using the excuse that you can’t afford game creation tools to make your game, well guess again. They’re all free. CHECKMATE.

Learning

Like finding amazing free tools for game development, learning how to get started in Game Development has also never been easier.

The only real challenge in this case is finding individualized lessons for the platforms we’re planning to target. For newcomers I always recommend Unity for a number of reasons. It’s intuitive, first and foremost, using concepts that people who play games will easily understand. Secondly, it’s powerful. I can’t explain why that is if you haven’t used it, you just have to jump into it to find out. If you need proof, Blizzard’s Hearthstone was developed in Unity, even though it’s frequently the platform of choice for Game Jams the world over.

So if you’re starting in Unity, I highly recommend this tutorial. It’s extremely well put-together, and doesn’t require you to pull in any external art or sound assets.

If I’ve convinced you that Unity is the way to go, you’re still going to need resources to learn the platform and the code involved with that platform. It’s a good thing, then, that Unity is one of the most well-documented game development tools available today.

The Moral of the Story

The Moral of the Story is this: If you’ve been trying to break into Game Development, but you’ve never felt like you were the kind of person who makes games, don’t be discouraged.

I’ve been where you are. With a non-trivial amount of work, I got past it. It wasn’t easy, and it took a lot of my spare time to get to where I got to. But if I can do it (A silly idiot with anxiety issues) then you can too.

That’s my pep talk. Join me shortly for a more in-depth discussion on the free/cheap tools used by game developers of all kinds.

The 6 Strangest Love Stories on MST3k

Hello out there, my fellow lonely sad sacks. It’s Valentine’s Day, aka “Whatever, I don’t really care about that anyways” day for the single people among us. If you’re like me, you planned this magical day around eating cheap grocery store chocolate and drinking whiskey until you pass out on your couch.

Well at least now you can pretend that there are friends there with you to make that long, tired march that much less painful. Friends like Tom Servo and Crow T. Robot.

I’ve hand-picked these Mystery Science Theater 3000 episodes for their bizarre love stories. These aren’t movies that simply have a romantic subplot. These are movies where the relationship between two characters is central to the main plot of the movie. Because this is MST3k, some of the “romance” might be insinuated by the heckling from the show hosts, but that doesn’t make it any less tawdry.

So grab that ironically heart-shaped pizza and settle in for some Mystery Science Theater 3000, courtesy of YouTube.

Diabolik: An Italian Super-thief steals a bunch of money for him and his girlfriend to roll around on while they make out

This was the last MST3k episode ever recorded, and they went out with a bang. A bang that occurred on, in, and under a massive pile of money.

Diabolik is a strange beast. It’s a movie where the protagonist is the villain, one of the earliest examples of the “Root for the bad guy” trope ever. It doesn’t seem like it belongs on this list, until you realize that the whole reason this guy steals millions of dollars and priceless jewels is to either give them to his girlfriend, or to use as a prop to liven up his sex life. Talk about setting unrealistic expectations.

The movie ends pretty spectacularly, after Diabolik somehow manages to single-handedly steal 20 tons of gold.

As an added bonus, Beastie Boys fans will recognize this movie as the inspiration for the video for Body Movin’:

Soultaker: The Grim Reaper mistakes a young girl’s ghost for his dead girlfriend

This one’s about unrequited love, for those of us who are trapped in a Purgatory called “The Friendzone.” It’s about a couple of awkward youngsters who get caught in a car crash (Seems to be a recurring theme) and have their souls violently separated from their bodies. Oh, and the scriptwriter plays the main character. Yaaaay.

Here’s where things get weird. The agent of Death who’s supposed to collect their souls decides that he’d rather disguise himself as the mother of the girl and watch her in the bath. Because the female lead of this movie looks like his girlfriend from back when he was alive. But it turns out that they can get back to their bodies, as long as they can get away from the slow-walking Angel of Death, who just wants to get back with his dead girlfriend.

Jack Frost: A 13-year old girl marries a Were-Bear

This movie is one of the most balls-out crazy things I’ve ever seen. It’s a Russian fairy tale about a guy with an improbable haircut trying to court a 13 year old girl with a wicked stepmother and a spineless 90 year old father.

Along the way, our hero Ivan meets a tiny mushroom man who turns him into a bear because he brags too much, and the girl Nastya meets Old Man Winter who accidentally puts her into a coma after abducting her from the forest. Oh, and there’s the “Hunchback Fairy” who lives in a cabin with Big Bird legs and sends her cat to kill Nastya because Ivan sticks her in an oven.

The main thrust of the movie is Ivan’s desperate attempts to reunite with Nastya so that they can get married, but that doesn’t begin to cover all of the crazy that happens in this movie. Some fairy tales weren’t explicitly meant to be filmed, and this is definitely one of them, but damned if they didn’t take a shot anyway.

Night of the Blood Beast: A man becomes impregnated with shrimp and just can’t say no to an Alien Parrot Monster

Plus: A gay angel facilitates two newlyweds’ boot-knocking with cocaine and show tunes

This is a 50’s B-movie (oh boy!) about an astronaut who returns to Earth in a flaming wreck and brings a little bit extra home with him. This is one of those movies where the romance had to be “helpfully insinuated” by Mike and the Bots.

You see, this astronaut has a strange connection to the monster who starts terrorizing the characters who are working at a NASA… Repeater station? Who knows. The connection turns out to be that he’s carrying the alien’s very shrimp-like spawn in his body.

Now, if you found out you’d been knocked up by a space alien, you’d probably feel a bit hurt and angry. Not this guy. Quite the opposite in fact. His “Encounter with the Unknown” seems to enamour him to the strange beast.

So when the monster comes crashing through their door like the Kool-Aid Man, the besotted astronaut rushes to the Blood Beast’s defense. It’s exactly as weird as it sounds.

Oh, and everyone is Steve. Don’t worry about it.

As an added bonus, this episode comes with “Once Upon a Honeymoon,” a short film where a guy who writes jingles for a living just wants to bang his wife but gets called into work instead. This doesn’t sit right with the Angels on “Cloud Nine” so they send Wilbur, their top (maybe bottom) guy, to get the husband’s, ahem, creative juices flowing. How does Wilbur do this, you ask? By applying copious amounts of Angel Dust, of course.

While her coke-addled husband is trying to write music, the wife is fantasizing about having a whole different house. She starts to hallucinate a better life while manically singing and dancing.

The Brain that Wouldn’t Die: A man keeps his wife alive as a severed head while he tries to find her a hotter body

What would you do for someone you loved? Care for them? Die for them? What if you accidentally ran your car off the road and got their head cut off? Would you take your wife’s severed head back to your secret laboratory and artificially sustain it using evil science?

If not, then clearly you’re not as romantic as this film’s male lead. All of the main characters in this movie are almost completely unsympathetic, from the creepy “Unethical Science Guy” who goes out on the town to kidnap a new body for his decapitated wife, to his Igor-like henchman, who goes along with the whole thing.

The eponymous Brain doesn’t do much to help the situation. As it turns out, being reduced to a head propped up on a baking sheet doesn’t exactly do wonders for your sanity. She spends the whole movie taunting the leg-havers and making friends with the bizarre monster hiding in the basement, which causes a lot of damage for her by the end of the movie.

Girl in Gold Boots: A go-go dancer gets caught in a love triangle between a folk singer and a teleporting drug dealer

This was one of those movies that was determined to expose the “dark underbelly” of things that people considered immoral back in those days. In this case, it helped to enlighten us to the dangers of Go-Go Dancing.

The romance in this movie centers around a waitress who dreams of being the world’s most famous Go-Go Dancer. She quits her job working as a waitress for her alcoholic father to follow a random guy who claims that his sister is a big deal in the Go-Go Dancing community. Along the way the two pick up a guitar-strumming, folk singing hitchhiker named, wait for it, “Critter.” This leads to one of the greatest editing mistakes in any movie ever.

Critter winds up struggling with the teleporting drug dealer for the girl’s heart, and in doing so, somehow ends up taking part in criminal activity at the behest of the nightclub’s manager. All along the way there’s painful musical numbers and haphazard “Heists” and it all culminates in a hilariously inept fight scene. Sound like a good time? You know it.