Indie Game Development, Uncategorized

So you want to be an Indie Game Developer

So you want to be an indie game developer, or you have at least had the thought, “I bet I could make a video game if I really wanted to,” but you don’t know where to start. With the indie game market constantly growing and new indie games being released every day, there is no shortage of stories, both positive and negative, that could start you on your path. In an effort to help those that want to finally take that first step, I present to you my experience.

Learning to Control the Beast Inside Me

Like anybody considering starting a game project I have a notebook full of ideas. Since as long as I can remember I have been saying to myself, “this game would be so much better if they had just done xyz differently.” This is fine as long as you can control it, but I couldn’t. There will always be a new idea and if you are like me you may have even started making, game after game, constantly getting disappointed with your work, just to have to start over with a new idea. Well I have a solution.

Step 1: Stop writing down ideas for games. I know it seems counter intuitive but remember there are millions of people trying to do the same thing as you. What you bring to the table is not your ideas, someone else has already thought of everything you have written down. What you bring to the table is your unique experience. Whether you like a game you have played or not can be boiled down to a feeling you get when playing. Your goal is not to create a new genre, or a new twist, or a new anything. It’s to create a game that has a certain feeling that you share will a crowd of other people, so that when they play your game they get that same feeling. Now you may also have a bad memory like me which means writing things down so you don’t forget but in this case you only want to start writing once development has started, and never before hand.

Step 2: Compete in a game jam. Now you’re thinking, “whoa didn’t we skip a few steps?” Yes we did, and I will cover what else you need to know further down, but right now we are trying to fight your laziness. Now you might not actually feel like you are lazy, which is understandable. At one point in my life I was working on developing a video game every day of the week for several hours a day. I was committed and did this for about a month straight. I don’t even remember what that game was, because I was being lazy. Physically I was doing work but mentally I was allowing myself to get bored with my idea and my brain was moving on. At the end of the month I dropped the project and never looked back, I was too lazy to finish. This is a pitfall a lot of indie game developers fall into. By finishing a game jam what you are actually doing is practicing finishing a game. I would like to say that it completely fixed me but I can’t. I regularly compete in game jams because I need to continue to build that mental fortitude that keeps me on track. If you want to avoid the mistakes I made, you should start with this goal: Make a habit of finishing projects, before you start a large one.

Programming – Game Maker Studio

If you are going to compete in a game jam on your own you will need to learn to program. You have probably heard of some of the more common development tools and I am not here to debate Game Maker vs Unity. There are way more qualified people to do that. I am here to weigh in on my experiences with Game Maker, which is my recommended platform of choice.

For starters I found that youtubers, that do tutorials for game maker, to be more relatable and easier to understand. Unity is objectively the more popular platform which can lead to people trying to jump on the gravy train and write tutorials. While this isn’t inherently bad, it did make it easier for me to gravitate towards the game maker community, and will probably for you too. The two people I subscribe to are Shaun Spaulding (who actually does the official yoyo games tutorials now but his channel is still full of videos as well) and Heartbeast.

The next reason I will probably never leave game maker is because of the yoyo games forums. The programming section is full of experienced helpful people. I don’t think I have waited more than 20 minutes for a response from another programmer trying to help me. I want to be clear I have no experience with the unity forums, but I can tell you for certainty that the game maker community is awesome.

Something you can do better than me is to use the drag and drop system. Do not give into the feeling of needing to be a professional game designer right away. You will need to learn the scripting language GML but one of the best parts of game maker is that you can just learn it as needed. I jumped in too deep at the start and it hindered my progress. Now I try to focus on learning just what I need to know.

Lastly regardless of what platform you chose you will need to learn to comment your code, but don’t feel like you have to do it the way you see other people doing it. When I started I used to comment things like:

//stops the animation
//variables for the player’s stats

This is useless information that can be determined from the code (as you will learn). So instead write something useful to yourself

//collision script changes the variable speed on line 107 which will trigger this code to stop the animation
//value range for this variable should never go above 100 or below 1

Lastly you can use comments for organization too, I even write in all caps to get my attention.

// I. INITIAL COLLISION———————————————–
code here
// II. ICE COLLISION—————————————————
code here
// III. CHANGE SPRITES———————————————–
code here

Art – Graphics Gale and Pyxel Edit

If you are an artist looking to learn to program then just skip this section. Since the goal is just to get basic art for a game jam at this point, your art will be just fine. For a game jam you can just scan your hand drawings and use them. If you are like me and you think art is going to be an issue then I recommend learning basic pixel art techniques.

If you are willing to spend a couple of bucks I would start with an application called Pyxel Edit. It’s what I use and it’s built in a way that not only makes pixel art easier but also has good synergy with game development. If you want a free option I used Graphics Gale for years and it was just fine.

I insist you make the decision now to not care about the detail of the art. In my first game jam my biggest postmortem was that I spent 8-10 hours drawing pixel art and I only got to add 5 levels to the game because I ran out of time. It didn’t really help my ratings and I was learning slower than I should have been.

Depending on which game jam you compete in they may or may not allow outside art. If they do then you can somewhat rely on opengameart.org. It’s not a perfect resource and at times it can be frustrating to find what you need but I can vouch for it being the best one available of all the free resources I have tried.

 

Sound and Music – bfxr.net and cgMusic

Sound effects for game jams have been made easy. There is website bfxr.net. It looks overwhelming but it’s actually quite intuitive. Just randomize and tests things out until you find a sound you like and then export it to a .wav file.

For a game jam you will (probably) only need one sound track for the entire game and that’s really optional. Plenty of games in game jams just release with no music. Here is the process I use to make music, I am not saying this is the best way but this is what works for me because I could never get .MID files to work for me and now I am just used to this.

1) First download a free program called cgMusic and randomize until you find a tune that matches your project.
2) Second download another free program called audacity. You will need to set the recording device to: speakers (loopback).
3) Click record in audacity and play in cgmusic and audacity will record the music.
4) Use Audacity to export to .wav. Optionally there is a free wav to mp3 converter online as well if you prefer that format.

Jam and Grow

If you happen to be starting from scratch then you don’t even need to learn anything before the jam. Setup of all the applications should be done ahead of time but don’t even worry about how well your game comes out. Even if you start a jam with no programming knowledge all you need to do is watch a youtube video and code the one thing it teaches. Start with something basic like getting a box to move on the screen and then just expand on that idea. At the end of the 48-72 hours you will have a finished product regardless of whether or not it’s good. You take that knowledge with you to the next jam and the next. Eventually you will end with a game you are proud of. That is when you are ready to move on and start a professional project. I do not recommend treating it like school. If you watch a video a night and complete that one thing and then try to come back to it the next night it doesn’t work as well. The idea that you need to be done in 48 hours forces you to jump around and learn things that you need for right then which makes you more invested and helps the knowledge stick. If I could go back and tell younger me how to start his game design career this is exactly what I would tell him.

Tom Bishop is the Owner of Save Point Games, you can follow him on twitter @AlphabotGame.

3 comments to So you want to be an Indie Game Developer

  • Tom Coldenhoff

    If I were a starter I should start with c# and unity instead of game maker. But as he said her prefers game maker

    Reply
    • ComputerFiguur

      everyone goes with his own choise ofcourse

      Reply
    • TomBishop

      Depends more so on your background. I think for a lot of new game developers that are starting from scratch with almost zero knowledge there is too much to learn and it can be daunting. Game maker offers a very simple drag and drop system that doesn’t hurt performance and is quick to pick up. I should have probably mentioned if anyone wants to do 3D games unity is the better option. I just never plan on doing 3D game myself.

      Reply

Leave a Reply

Comment
Name*
Mail*
Website*