Why Game Development is Hard and How to Overcome Some of the Obstacles
A lot of solo game developers complain about how difficult it is to make games, and I am sure some people out there might get discouraged once they hear that. However, even if it is difficult, I believe you should still try it before throwing your dreams and hopes away based on fear. In this article I will try to lay out WHY game development is hard, and HOW you can overcome those obstacles.
This articles is a work in progress, I will update it as I find more helpful information to share, and receive advice from others.
Required skills
Now, I don't want to break your spirits, but here is a list of different "hats" a solo game developer has to wear at some point while working on their projects:
- Game Designer - Decides what the game will be like
- Programmer - Creates tools and the code for the game
- Concept Artist - Designs everything from world environment and props
- Character Designer/Fashion Artist/Stylist - Same as concept artist, but focuses more on characters and culture in the world
- 2D Artist - Creates 2D assets
- 3D Modeler - Creates 3D assets
- Texture Painter - Paints the 3D assets
- Animator - Animates 2D or 3D assets
- Character/Prop Rigging - Creates rigs for characters and props
- Level Designer - Designs the levels of the game
- Special Effects Artist - Creates effects, like particle effects, camera effects, weather effects, explosions, etc
- Sound Designer - Designs the sounds of the game, menu button sound, footsteps, gun sounds, ambient sound, wind, etc
- Music Composer - Creates the music for the game
- Story Writer - Creates the story for the game, quests, etc
- UI and Interface Designer - Designs the buttons and other elements that players interact with
There are probably a couple I have missed, but this list should tell you the reality and expectations of what it means to be a solo game developer.
The the most important skills
First of all, we need to discuss something really important. No matter what type of a game you are intending on making, be it artistic or for mass consumption, the requirement to accomplish your goal is LABOR, PROJECT MANAGEMENT, and KNOWLEDGE. Let me show you why.
Labor
If we take Red Dead Redemption 2 as an example (using https://en.wikipedia.org/wiki/Red_Dead_Redemption_2#Development as a source)—it took 8 years to finish the development of the game. The development cost was around $370 MILLION. Now what does that number mean? Surely YOU are not going to make a game that costs that much... right? But you need to understand why it costs $370 MILLION, the secret to your success as a solo game developer DEPENDS on understanding what I mean with labor, project management, and knowledge as being the most important requirements.
Around 2000 people worked on the game. But I am guessing you don't need this many people to make your game, right? Now things are getting interesting, you need to ask yourself "wait, why did they need 2000 people, $370 MILLION, and 8 years to make the game???
Here is the reason. No matter how skilled you are, how smart you are, how wealthy you are—YOU CAN'T DO MORE WORK THAN WHAT YOU CAN DO. Okay, that doesn't sound that clever, but let me elaborate.
One person (you), can't work more than 24 hours a day. But let us pretend you are a machine who can do that. YOU can work 24 hours a day, you don't need any sleep, food, or use the restroom. You are a game development machine. So what does that mean? It means you can output a total of 8 760 hours a year. That means in 8 years you will have the total output of 70 080 man-hours.
Now, let us compare that to the total man-hours put into making Red Dead Redemption 2, shall we?
I am assuming they working normal hours, no crunching, and no working on weekends. 8 hours times 2000 employees = 16 000 hours a day. Now let's be very, very nice—and realistic, and assume that most of these people only worked 100 days out of 365 days—and to also compensate for people going in and out of employment, part time employees, temporary employees, sick days, or whatever may be the case. 16 000 times 100 equals 1 600 000 man-hours a year. So in 8 years that will give us a total of 12 800 000 man-hours.
So, even if you were a machine, with a total of 8 760 man-hours a year, it would take you 1 461 years to make a game like Red Dead Redemption 2 as a solo developer, and that is only if you were a machine that don't need any sleep, food, or rest. ONE THOUSAND FOUR-HUNDRED YEARS. These big game corporations are not spending all those millions just to throw away money, no, they are FORCED to spend that money to make their products a reality.
So the first step to becoming a game developer is to sink your feet really deep into reality and focus on what you can do, and NOT on what you CAN'T do.
Project management
Now, this might turn you off and make you drop game development completely. But hold your horses, there is more...
When I said labor, I wasn't just thinking about the hours you have to spend. Oh no. If you can't flip burgers for 8 hours straight, each day, for a full year without complaints, then I got some very bad news for you...
I'm afraid you will not make it as a game developer. But the problem is not game development... the problem is YOU. You have a false impression that game development is supposed to be all fun and games, but it's not. It is WORK, and like any other job it is very demanding and requires effort. And if you want to be a solo developer, then that's even tougher, here is why:
If you work for someone else as an employee, there's a lot of things you don't have to think about. For example, what comes next? How should this project be managed? Instead, as an employee, you will be given assignments, tasks, goals, etc. You don't have to deal with a lot of the things that are going on behind the scenes.
It is this—the behind the scenes—that takes the most effort and labor, i.e. project management, this involves everything related to the game—such as design, asset creation, tool making, and how to make these parts work together to make the game function as intended. For example how big should the assets be, how many frames should animations have, what resolution should textures have, and so much more (I just can't think of any more examples off the top of my head right now, feel free to add to this in the comments).
To better understand the importance of project management we need to differentiate between some terms. Game designer is a game developer, but not all game developers are game designers. The game designer is usually the person who handles the project. Game developers (excluding the game designer) consist of basically any employee who is working on the game under the leadership of the game designer, such as programmers, artists, sound engineers, etc.
So when I say "solo game developer" it means taking on all the ROLES that involve game development, from game designer to making the music for the game.
When working for a company, the game designer will tell you "make that part red instead of yellow", then all you have to do is go in and change that part to make it red instead of yellow, done!
This task that would have taken you three to five minutes to accomplish probably took the game designer three hours, or three days, or three weeks, or even three months to make the decision that THAT part should be red instead of yellow.
This is why project management is one of the most important skills to have as a solo game developer, because nobody else is going to tell you what to do or how to do it.
If you lack this "project management" skill, then you will be spending more time thinking about problems and how to solve them, more so than actually developing the game. And this is where many countless solo game developers find themselves—stuck and going around in circles by hopping to the next project instead of pushing beyond their comfort zone—which is the only way to improve your skill in managing a project.
Knowledge
So I have covered LABOR and PROJECT MANAGEMENT. Now we move on to the importance of knowledge.
If you have read this far and feel discouraged, then I got some good news, KNOWLEDGE IS POWER!
Now, there is a difference between learning about a ditch by watching someone else fall into it versus learning about a ditch by falling into it yourself and having to climb out of it.
Both are knowledge that can help you. However, as time goes by you will start seeing ditches everywhere, and so you will be paralyzed due to being overloaded by too many obstacles.
The same is true for game development, you have to get your hands dirty and obtain knowledge the hard way, or else you will never become an expert in the industry. Here is why:
If you watch someone else do it, you'll learn to do just that. And that will be the end of that ONE problem. You will completely miss out on the JOURNEY that leads to solving that one problem. And it is the journey that actually matters, it contains more knowledge than you can imagine. Literally. You can't imagine knowledge you have no knowledge about... obviously.
If you go head–first to tackle a problem, you will not only learn how to solve that one problem, oh no, you will consequently learn so much more, you will discover the solutions for problems you have not yet stumbled upon. You can literally level up your skill in game development ten times faster by solving problems and coming up with your own solutions. Rather than searching for the solution on the Internet.
You should NEVER feel that you are "re-invent the wheel", that what you are doing is a waste of time because you could just look at someone else's solution and mimic it. Instead, you should feel that you need to make your OWN wheel even if there are thousands of wheels out there. This is the only way to improve your SKILL as a game developer—which is KNOWLEDGE.
Conclusion
So, to recap quickly:
LABOR—Put in the hours, this will expose where the obstacles are.
PROJECT MANAGEMENT—Gather all obstacles under the microscope and make a list/hierarchy for how to solve those problems.
KNOWLEDGE—Tackle the obstacles with your own solutions.
Rinse and repeat!—Keep repeating this process until it becomes second nature, like riding a bicycle.
Cheat-sheet to overcoming obstacles as a solo game developer
As promised, I will now discuss some solutions for overcoming some obstacles as a solo game developer. This will just be a short list.
Go modular!
Build MODULAR game assets which you can use over and over again throughout your career. For example, create a menu system that can be re-used in multiple games by making it easy to switch out the graphics and move and resize some elements of the menu.
Make enemy characters that can be changed by simply changing the model and checking on/off behavior. For example, make an enemy character that can melee, shoot arrows, shoot guns, use magic, etc—as the base enemy. Then copy–paste this enemy character, change the model and select "shoot guns" only, or whatever. This way you have an enemy asset that can be used in every game you create, it then only becomes a matter of changing the look and ticking on the correct behavior.
Use assets!
Remember the example I used at the beginning, about how Red Dead Redemption 2 took eight years to make? And that it would have taken around 1500 years for a solo game developer to make it? Well, by buying and using assets made by others, you can basically take a big chunk away from your game's development time! Perhaps not 1500 years, but enough to make high quality games within a realistic timeframe—that otherwise would have taken ten times longer had you done every single asset yourself.
Remember, even if you are a purist who argues "I want to do everything myself", you have to understand that YOU didn't create the computer that you're using right now :P Just like how the purist painter didn't make the paint they are using, or the brushes, or the canvas. It is the end product that needs to be "pure", the tools to reach that "purity" might as well be a donkey's hoof!
The only time the "purist" argument makes sense, is when making something for the first time, where the purpose is to learn and increase one's own skills in that area. For example, if you love 3D modelling, then by all means do your own 3D models. But if you don't care about music composition or sound effects, then use assets!
That's all I can come up with for now.
Peace & GOD bless!