There is so much to learn when it comes to game design that it can feel very overwhelming at times. First getting into the classroom and having the responsibility of teaching students game design, from beginning to end, was a bit intimidating initially. I knew I had a wide range of skills, but there were some areas I was not very strong in. It took time. Ultimately, the question becomes, what skills do game designers truly need?
So, do game designers code? In the independent game design scene, game designers must know how to code. There are different forms of coding, such as visual scripting that may aid in your ability to perform the skill, but all software requires an element of coding.
Please keep in mind, I speak of coding and programming almost interchangeably. Most people consider them to be the same thing. They can be considered slightly different. Programming can using visual scripting which does not necessarily have long lines of traditional code in it. However, the logic is generally the same. Allow me to help you with the process.
What Skills are Required for a Game Designer?
I believe there three areas in game development that you must be aware of to truly make it in the indie scene.
- Programming / Coding
Programming or coding is the process of providing a computer a set of instructions. Keep in mind, in any video game, there is always an input. Programming is the process of telling the computer how to handle it.
As an example, when you play a first person shooter, you press “WASD” on your keyboard. What do those keys do? Those are inputs.
Or, how about in a game like World of Warcraft when you walk up to a treasure chest. You press “E” on your keyboard as you put your cursor over it. A programmer gives instructions in response to that: Move the player next to the chest. If the player has the key, open it. Show a box on the screen with the contents in the chest.
Read below for tips on how to develop this skill.
Video games are typically extremely creative. Almost all contain some form of art. You may argue text-based games do not. However, in modern times, most games you immediately recognize are very art driven.
Art ranges widely, however. In my class, I teach 3D design. We build 3D games using Blender, Substance Painter, and Unity. These are not the only options. If you prefer platformers or have a game in mind for other types of art, you may consider Photoshop, Illustrator or other software to help you develop assets to place into your game.
You can build a game without marketing, but I wouldn’t recommend it. However, there are too many people in the industry that work really hard on their projects. They release their project to the public, only to find that no sales are made. When countless hours are invested, it is really concerning to see the projects go unnoticed.
There have been a lot of phenomenal projects that probably never received more than a few downloads. For this reason, I highly recommend you research and invest a good portion of your time into the marketing side of your project. Whether you intend for it to be a commercial release or not, you want people to appreciate your game otherwise you wouldn’t be creating it. The only way for people to know about your game is get the word out there about it. This process is simply known as, “marketing”.
How Long Does it Take to Learn to Code?
As with any form of skill, there are varying degrees of expertise. For the most part, coding is an area that you will continue to improve with time. Game development in general is really complex, and you will need to invest time. You likely could learn the basics of coding in a few weeks. Within a few months, you may be quite proficient.
The vast majority approach code on a need to know basis. If you are using a program like Unity, there are generally a lot of resources out there for almost any topic you can think.
Do you want the character to walk? There is a tutorial on that.
Do you want to run an animation? There is a tutorial on that.
Do you need an inventory system? There is a tutorial on that. Get the idea?
That being said, I do believe a little foundation in programming will go a long way. There are a few really good tutorial series out there. For Unity (C#) programming, I would highly recommend looking at Brackey’s tutorials or Unity’s Create With Code series. These are both great places to start, and I believe you will be surprised how quickly you can create really cool game features .
What is the fastest way to learn to code?
Aristotle had a famous quote. We use it as a reference to how we teach at our school.
“What we have to learn, we learn by doing.” – Aristotle
There is absolutely no substitute for diving in head first and getting your hands dirty. Start out with a simple game concept. Build a few really basic things and maybe even reinvent the wheel with a game like tic-tac-toe or Connect 4. These basic games force you to learn how to do some basic things, but you spend less time focusing on the mechanics or rules of the game and more time on code.
For my students, I always suggest starting with a few tutorials, but quickly moving on. Tutorials are great at teaching you how to do very specific things. You may learn syntax, and might grow a bit in your understanding of how to use the tools a bit. However, the logic is not something you truly learn from a tutorial. The logic comes with thinking through a challenge on your own, then trying to execute it.
Logic is an area where many people get stuck. Take a deep breath, and realize you’re just giving a set of instructions. Let’s take character movement as an example:
When do I want the player to move (what’s the input)? When the player presses “W” on their keyboard. This is a bit of logic here. When the player presses W, move the character forward.
I need to know which direction to move and at what speed. These are some variables you may want to create (initialize) at the top of your script.
This is just a simple example. You will quickly realize character control can get considerably more complex. However, the process is the same. Input and Output.
Ultimately, code is something that will take you time. You cannot avoid it though in the world of game design.
You likely need a passion to truly learn it. If you are a game designer and absolutely refuse to learn it, then the only other option will be to partner with someone who lives and breathes code. They are out there and they probably have the opposite problem. They love code, but dislike the other areas. I would encourage you to partner with people that are strong in areas you are weak.
The great news is that there are a lot of people out there with those same desires. Become active in the community and you will likely find others that may want to work with you.