In the last part we talked about the reasons you might decide to make an indie game, deciding if it’s right for you and the type of expectations to put on yourself. Assuming you still have that burning desire and have set yourself in the right frame of mind then you are ready to start the fun stuff!
Picking A Game Idea
First and foremost you need to decide the type of game you want to make. This is the fun but also really difficult part. At this point every idea, every option and every thought is available to you. This is one of the most exciting moments in your game dev journey and you will regularly find your mind running back to this moment of freedom. What do I mean by this? When you have selected a game idea, in order to get to the finish line you need to be pretty strict at not straying off course. At times this will make you feel a little constrained as countless new game ideas will inevitably pop into your head. It’s important to make a note of all these but not stray from your path. This will be the difference between completing your first commercial game or making lots of little prototypes. With that in mind make sure you make the most of this moment of freedom and enjoy your decision making process, as after this point you want to make sure you stay committed to your decision, within reason.
There is a near infinite amount of different games you could decide to make. For every decision you make this can then break down into further sub categories to specialise the type of game. For example what genre do you pick; action, puzzle, racing, fighting etc.? Then what style do you go for; historic, modern, futuristic etc.? Do you go for a sci fi setting or fantasy? The list goes on and on. Then on top of that you have mash ups! You could make a puzzle fighting game set in a futuristic fantasy world, or a racing RPG set in an alternate timeline, modern, sci fi world. Some of the most fun and successful indie game ideas have come from mashups. A great example is Crypt of the Necrodancer, a rhythm based roguelike game. However, getting a mashup to “feel good” is a careful balance of finding two game styles that complement each other. Quite often the mash up comes from a place of necessity, where one genre is lacking ‘fun’ in a certain area a different genre can be introduced to fill the gap. It’s actually really hard to find such a balance and is best found naturally rather than forced.
So how do you go about picking a game idea that is right for you? I’m assuming that if you’ve gotten this far you have a passion for computer games and probably have a decent amount of experience playing them. The best starting point is to think about the types of games you enjoy and what you like to play. This should absolutely form the foundation of your game. At the end of the day it is the love of that game type and enjoyment you get from playing it that will get you through the hardest parts of the development and lowest points in your motivation. Making sure as many of your decisions are based on passion rather than necessity is what is going to get you to the finish line. Also you will be a good judge of what is a good version of that style of game as you are an example of the target audience.
It takes different skill sets and abilities to create different game genres. For example, the skills required to create a tycoon style management game are totally different to those required for a 2D side scroller. In the simplest of terms a tycoon game requires the design of systems that crunch numbers in the background to provide a balance to the gameplay. Whereas a 2D side scroller is more focused on the feeling of movement in the game and the level layout. All of these considerations should come into play when deciding what type of game to make. Again the decision factor should be on what you enjoy doing. Do you enjoy the mathematical challenge of creating a balanced gameplay style that provides a feeling of a living environment or do you prefer designing levels and the freedom of movement throughout those levels for the player to experience?
You also need to consider the difficulty in making a certain type of game. There are two types of difficulty. Difficulty on a personal level, e.g. do you currently own the skills to complete the tasks. And there is difficulty on a more general level, e.g. is it the kind of project that is going to require 20 people working on it in parallel to complete? If you find yourself saying yes to the general level of difficulty then it’s probably not the right game idea, at least not for now. If you find yourself saying yes to the personal level of difficulty then you need to ask yourself; is this something I can and want to learn? We now live in an age where almost anything is learn-able through the internet. In all the challenges I’ve faced in my game dev career, and there have been lots, I have never found anything I couldn’t find the answer to with a bit of perseverance and help from the internet. I started with pretty much no game dev experience or knowledge whatsoever and now I feel relatively confident in quite a few areas. If my initial level of knowledge going into the game dev was going to be my gauge of whether I should pursue it or not then I wouldn’t have even made the first step! Therefore I would advise that a willingness and desire to learn a skill should be as important if not more than whether you already know it.
Finding The Balance
The tricky thing is that not all of these decisions necessarily line up as well as we would like them. You might love to play tycoon games, but you might hate the idea of programming complex systems. You might love the idea of building levels but you might get bored actually playing 2D side scrollers. Hopefully you will find a genre you love that ties up nicely with you enjoying the work that goes into creating it. If not the next best thing to do is try to find a balance. If you love tycoon games but don’t like the idea of making complex systems you could go for a more simplified system working behind the scenes and make it more story driven. If you love designing levels but don’t want to make a 2D side scroller you might find the idea of making a racing game more appealing. Again the list is nearly endless. The beauty is in the freedom you have to make your decisions.
Deciding On Glo
When it came to the decisions leading to Glo, I had an idea in my head of the mystery and excitement that would exist if the player wasn’t fully aware of their surroundings. This idea was influenced not only by my love of mystery in games but also by a game called INK; a game where the player reveals the surrounding area by spraying ink on invisible platforms. This idea blew me away when I first heard about it! That influenced me in deciding that the 2D platforming genre would work really well with the mechanic of covering the world in darkness. Fortunately I really enjoy 2D platformers, as they formed the foundation of a lot of my early gaming experiences so I was excited to make one. I also felt relatively comfortable with the learning curve required. There were definitely things I needed to learn, especially around the mechanic of creating the darkness and also with tricky platforming concepts like moving platforms. However, from a technical point of view it was not too challenging and there is an abundance of learning material to be found online. Finally, I really enjoy the idea of creating unique and distinct levels for the player to traverse. Much like the hours of enjoyment I would get from playing around with level creators in Farcry and Timesplitters back in the day, I found hours of fun designing and testing each new level for Glo. All of this combined meant that the whole process of developing Glo felt more like a game than a job.
The decisions we’ve gone through I would say are the foundation level choices on the game you decided to make. Depending on your choices you also have some further decisions to make. These are more artistic decisions and ones that can be left for a bit later in the development life cycle, but are certainly worth considering now. In many cases these decisions could be the responsibility of someone else but for the sake of this series I am going to assume that you are solo developing as I did.
What type of art style do you want to go for? Depending on whether you are artistically skilled or not this might be an easy or difficult decision to make. The artistic look and sound of the game is crucial to the game feel. For me there are three things that go into “game feel”:
- The way it plays
- The way it looks
- The way it sounds
All too often graphics and even more so sounds are an afterthought in indie games. This leaves a game feeling disjointed as it doesn’t have a single coherent concept of what it is trying to be. Instead it is a mash of different amounts of effort or in some cases premade assets just stuck together with little thought. That is not to say premade assets are a bad thing. In fact I think they are brilliant and some great games have been made using them, The First Tree is a great example of this. The point is that whatever you use, be it your own skill, someone you pay to do the work or premade assets, you must make sure that you have a single cohesive idea of what the game feel is and the world you are trying to portray. If you can stick to this then it will make for a much more enjoyable experience for the player and much more satisfying project to complete for yourself.
The decision on the art style itself is entirely up to your personal abilities and how much time you want to spend learning the abilities if you need to. If you are artistically gifted and can put to screen what you have in your mind then you are sorted. it’s just a matter of taking the time to do it. If not then you need to consider the amount of time it will take to learn the abilities to create the art you want to. I personally do not have the experience to create the graphics for my games that I would like to, at least not in any reasonable time frame. Therefore with Glo I went for a very minimalist art style that I could comfortably handle in the timescale. With Gym Empire I am currently using premade assets. However, I love pixel art and it is something I would love to be good at. So behind the scenes I am also practicing my pixel art so that hopefully I can use that skill in future projects. It’s something I am enjoying learning so it’s worthwhile putting the effort in.
Dependent on the type of game you’re going for you might be considering a story to it. RPG’s, side scrollers, action games etc. are some of the traditional types of games to include a story mode. But more and more often you see other genres such as racing games and puzzle games straying into the world of storytelling too. The point again is that your options are open. The key is to ensure that you decide whether to add a story or not based on the right choice. For me I absolutely love stories in games and feel they add so much to the enjoyment that I find in games. I also have lots of ideas for stories that I would like to explore, therefore the idea of adding a story to a game is a something excites me. With Glo, I decided to go for more meta style of story. With it being my first game and wanting to get through development rather quickly I wanted to add some form of story but nothing too heavy. Something that the player could search out and delve deeper into the game if they so wished too. With Gym Empire, as it is a tycoon style game, I’m leaving most of the story up to the players choices against the basic backdrop of building a gym empire from your garage.
The alternative approach is that the story is king. So far we have addressed the decision making with story being an afterthought, if it is even considered. However you’re reason for making an indie game may be to tell a story. If the story is the main driving force then all other decisions like genre, style, artistic choices should primarily be based on how best they can help tell that story. Project ZATO is a game I am also working on that I want to have a very strong story element too. One that includes layers upon layers of depth and which all links canonically. For this reason the development of Project ZATO is currently focused on building the world and ideas in the story as the foundation and building the game on top of that. Other than being a bullet hell/stealth em up Project ZATO is currently not bounded to anything mechanically in order to allow the story to drive the game.
Picking Your Tools
Once you’ve got the idea for a game, the next thing you need to decide is what tools to use.
I’ll say this right now that you do not have to necessarily work in this logical order. I have ordered it this way for the sake of readability, but quite often you might find yourself picking a tool first, playing around with it and ideas for games coming from that. This is essentially prototyping and can be a great way to stumble across a game idea. Prototyping is the preferred method for many developers. Vlambeer is a development studio that tends to take this approach.
These days there is an abundance of tools available to help us make video games. These tools are essentially game engines. A game engine can come in many forms from anything like libGDX to Unity to GameMaker Studio. There are many more game engines available but these are the three I know best and they are a good example of the spectrum of game engines available. I like to visualise libGDX, Unity and GameMaker Studio on two scales; one scale which covers the limitations enforced by the game engine and the other on the difficulty of using the game engine. The judgement of this is subjective but this is my interpretation.
libGDX is essentially a bunch of libraries that handle game specific functions that you import to use in your code when designing a game. This kind of game engine relies on the developer having strong language coding skills with something like Java and doesn’t provide any form of drag and drop or graphical user interface to aid in the design, the limit it really just on the developers skill level.
GameMaker Studio is a development environment which provides a detailed user interface but also provides its own coding language called GML. GML is a simplified and in some ways limited coding language and is more similar to pseudo code than something more traditional like C#. The benefit to GML is that it is extremely easy and intuitive to learn and it is developed purely for game design. GML can even be coded using a drag and drop editor, however it is much more limited in this format. GameMaker Studio, although not entirely limited to, is highly focused on 2D game design and excels at that. With its user interface and simplified coding language it makes for a much easier introduction to game development for a complete newcomer. And if your chosen game is a 2D it can be a more focused environment. However, for a more complex and detailed 3D world game you may find it lacking.
During the development of Glo a lot of the ideas came from the abilities and limitations of the tool I was using, GameMaker Studio 2.0. That’s right; the limitations also provided a source of new ideas. Quite often we think of freedom as being the thing that will allow us to come up with the best ideas, but surprisingly limitations can be just as powerful. I was watching a GDC talk about 8 bit art in video games by Mark Ferrari, the artist behind a lot of early LucasArts games. One of the standout points for me was that in the past when people had limited pallets they could use for creating graphics, they came up with some ingenious ways and methods of creating the visual aesthetics they were after. However, in modern day a lot of people struggle to recreate those amazing techniques. That is because, with current technology, they have so many options in front of them they struggle to make a decision and keep their work focused. Limitations can force the mind to think up ingenious methods and patterns for achieving what it wants. It’s important to remember this when picking a tool; limitations may not be the negative they initially seem to be.
How To Chose
I have used libGDX, Unity and GameMaker Studio for different projects. Personally the level of freedom I am granted with Unity and libGDX can be overwhelming and confusing at times. Whereas, when I was making Glo, GameMaker Studio, which could be considered more limited, enabled me to focus purely on what I needed to. I don’t think I could have made Glo in three months with Unity or libGDX. However for my new project Gym Empire, which is a isometric 3D tycoon game, I wouldn’t be able to comfortably create the aesthetic I want with GameMaker Studio, hence I am using Unity for that. My decision for what game engine I use is always based on what will enable me to get to the finish line sooner. To put this into context:
- When I used libGDX I was developing a mobile game and I found a compiler that could be used on a mobile phone, AIDE. This enabled me to do a lot of coding and testing on my phone which was amazing for productivity even though it was all pure code.
- For Glo I could no longer code and test on my phone as it was a 2D PC game I was making. I needed a game engine that would be most efficient for me when coding on my laptop. The decision was GameMaker Studio 2.0. This enabled me to quickly and efficiently make and test a 2D game. I was able to come up with prototypes in a matter of hours rather than days. And weeks and the simplified coding language meant I could steamroll trough a lot of the development.
- With Gym Empire I need a game engine that will enable me to build a 3D world with the freedom of creating more complex code for the systems behind the scenes. For this task GameMaker Studio just isn’t up to the job, so Unity is my weapon of choice.
- For Project ZATO again I will go back to using GameMaker Studio as it is a currently a top down 2D bullet hell/stealth em up. GameMaker Studio will help me to easily create and fine tune the game mechanics I need, freeing up extra time for story and graphics development.
The important thing to remember is that whatever game engine you choose, you will be able to make a game. The only real limitation is the one you put on yourself. Once you have selected a tool that comfortably satisfies most of your needs avoid the temptation to jump to other game engines when the going gets tough. The grass is not always greener especially when you will have to repeat a lot of the work you have already done. A friend of mine started developing his game, Super Lumi Live, over two years ago. He started development on XNA, a game engine provided by Microsoft for PC and Xbox games. In the middle of his development Microsoft pulled support for XNA and it is mostly a dead game engine now. However he avoided the temptation to move to a current game engine and continued on developing in XNA. This enabled him to release Super Lumi Live in October 2017, had he not avoided the temptation and moved to a different game engine it’s very likely he would still be developing and redoing a lot of work, if he hadn’t given up already. Staying focused specifically during times of distraction and temptation is what is going to get you to that finish line.
Finding Further Motivation
Picking a game idea and your game engine of choice are the easy parts. OK they’re not necessarily easy but a lot of us get through that stage. The real challenge comes when you try to find motivation. Not just initial motivation, but specifically further motivation. You already had the motivation to go ahead and start this journey. Those of us that go on to complete the journey are the ones that find further motivation. It’s that further motivation that is going to keep you getting up early every day, using that lunchtime hour, staying up late, choosing game development over game playing etc. It’s that further motivation that is not only the vessel that takes you through this journey but also the thing that helps make it enjoyable!
If I could summarise my experience in one sentence I would say: To find that motivation every day you have to engross yourself in the culture of what you want to do.
To expand on that; over the years I have found myself interested in many hobbies: guitar playing, martial arts and web design to name a few. I’ve had varied amounts of success in all of them ranging from putting in a few months to a few years of effort. Most however have not been things I’ve been able to stay motivated about day to day. Usually I’ll get a period of motivation spaced out by a few months of not being interested. Even through those times of disinterest I’ve continued some of these hobbies but it’s been begrudgingly and felt like a chore. The thing I’ve always noticed that got me motivated again was a trigger.
Let’s take guitar playing for example. I have quite a varied music taste and find myself listening to different genres based on my mood and taste at that point in time. Every time I start listening to rock music I get the urge to start learning guitar again. If I start listening to hip hop or something else I lose the motivation to play guitar. It’s similar with martial arts. When I see an awesome Kung Fu film it makes me want to start practicing martial arts again, then after a few days I’m not as bothered anymore. It’s fickle I know but it’s how my brain works. The two things I’ve been able to stick to almost religiously over the past few years have been weights training and game development. During the three months of developing Glo I was also training for a body transformation contest. These are two of the most demanding activities I’ve ever performed in my life and arguably at a time where I don’t seem to have time to spare. In a strange turn of events the two actually aided each other but I’ll go into that in a bit.
So what enabled me to find such motivation to continue both of these activities every single day? It was immersing myself in triggers which motivated me. Engrossing myself in the culture of what I wanted to do. Let’s focus on the game development. I would continuously listen to game development podcasts on my drive to work. I would keep up with what was going on in the world of #gamedev on Twitter while making a coffee. I would watch GDC talks and game development post-mortems every opportunity I got. I would read stories of game developers finding success on Reddit while waiting for meetings to start or holding my sons hand as he drifted off to sleep drinking his evening milk. I would read up on marketing techniques and watch YouTube videos on how to best approach YouTubers etc. Pretty much everything I did in my spare time to relax and every other spare minute I could find would be focused around game development. This kept a fire burning in me and still does. The podcasts would be a nice passive way to hear stories of other game developers and keep up to date with what was going on in the world of game dev without too much effort. The GDC talks would be really interesting and something I would look forward to whenever I got the chance. The reading of marketing techniques would give me the confidence that I wasn’t going into the market completely blind and just hoping for the best. The Reddit stories of success would fire up my excitement of “what if that could happen to me”.
We never really feel like we have the time to sit down and learn or absorb something, especially in a busy lifestyle. However, for many of us there is always that null time. The time we don’t really think we have free but we really do. The time we don’t really think we can do anything with because we’re doing other things like commuting, eating or even going to the toilet! You’d be surprised though how all that time can build up to provide a great opportunity for learning and engrossing yourself in an activity.
I’m fully aware that it is not easy to maintain this level of dedication indefinitely. You reach a point of saturation and even in some cases use up almost all of the material. For example there aren’t many GDC talks I’m interested in that I haven’t already watched, and after a while theystart to get repetitive. Now I just wait for the odd interesting new one to come out. It’s also important to not get too easily persuaded by all of the different opinions. Remember all this information is for you to enjoy and formulate your own ideas from. It’s not to make you change direction every five minutes based on what the next person is saying, because believe me, when you take in this much input there are a lot of conflicting opinions.
Since releasing Glo my engrossment in all this culture has reduced somewhat and I can definitely say I’ve noticed the difference it makes. I would say that if my motivation was at 100% whilst developing Glo it’s currently at 80%. The important thing is though is that it is still high and I maintain it at that level. Anytime I start to feel it drop or want to push it up to 100% I know just what to do.
Something else that can really keep you pushing through those times of low motivation is accountability. When I first started developing Glo I was pretty unconfident in telling people about it. I thought they’d just brush it off as a waste of time. But I forced myself to tell people. I told them because I knew that the more people knew, the more I’d feel accountable if I didn’t finish. If you start a task and tell no one about it, no one needs to know if you don’t complete it. However if you start a task and tell everyone “hey I’m going to do this” and then you fail to do it, people are going to know. It’s amazing how motivating it can be when you don’t want to tell people you’ve failed! I told all of my family and friends, I mentioned it on Facebook, I posted about it Twitter to the #gamedev community and I started writing regular blog posts on my progress. Even if just one person was listening it was enough for me to feel accountable and responsible to keep pushing on.
As well as making you accountable, telling people about your game is essentially marketing and a great way to spread the word. Trust me, when hoping for your game to be a success the more that people know about it the better! As a side note the blog posts were also my main form of planning week by week. How’s that for killing two birds with one stone? Doubling up like that is a great way to use your lack of time efficiently and can help make some of the more boring tasks feels less tedious!
Earlier I mentioned how exercising and competing in a body transformation contest actually helped me with my game dev. Now don’t worry, I’m not saying you have to do this. I know the thought of an exercise routine for some people is not an enjoyable one, even though I do highly recommend it. You certainly don’t need this to get to the finish line and in fact a lot of developers sacrifice exercise to focus on game development. But for me personally it made a big difference.
Long story short; I started getting interested in regular exercise and weight lifting a few years ago after a number of failed attempts to keep a regular exercise schedule. The tipping point for me, again, was based on finding a source of information, a trigger and using that to help boost my motivation. That trigger was the Industrial Strength Podcast. The podcast is essentially one about keeping fit, health and longevity hosted by Joe DeFranco, personal trainer of the wrestler Triple H and a number of NFL stars. The podcast is much deeper than that though; it covers many areas of success in general through interviews with people that are predominantly in the fitness industry but also those that aren’t. You start to see patterns emerge amongst these people. Patterns which help lead them to success The show also runs an annual body transformation contest called Strong Bastard 911 (hilarious name, I know!) and it follows an adaptable three month program written by Joe and his associate Smitty. To get to my point; I decided to participate in the competition last year which so happened to coincide with the time I started to develop Glo. Initially I thought one would inevitably distract from the other. But what I found was that the drive and commitment I was putting into getting up early every morning and working out during the week put me in a frame of mind where I was putting that same drive and commitment into my game development. During the weekends when I wouldn’t be working out I was still getting up at the crack of dawn, as I was in the routine, and using that time to develop. Whilst listening to the Industrial Strength Show podcast to fuel my motivation for working out I was hearing stories and learning lessons about commitment, drive and passion that could be translated to game development, not just working out. The two ended up coinciding perfectly.
Again I want to reiterate, because I know it might scare a lot of people off, I am not saying you need to starting lifting weights every day at 6am to succeed at game development at all. What I am saying though is do not dismiss how learnings can be translated from one demanding activity to another. For me my drive and commitment in the gym translated into drive and commitment for game dev.
So we’ve got a game idea, we’ve got a tool to help us create it and we have a way of fuelling our motivation. In the next part we will be going over planning, finding time, sacrifices, life balance and an the structure of an average day. too.
Join the discord for exclusive beta access Chronik Spartan Discord.
For news and updates on Chronik Spartan games and future blog posts please subscribe.
You can support Chronik Spartan Games and get exclusive access to in depth behind the scenes news and other awesome rewards at Patreon.
This blog post originally appeared on the Chronik Spartan blog.