The 4 pillars of game development

Making a video game involves combining very different disciplines together, varying from arts to technology. As if we had a palette and an empty canvas, we take some parts of each one, mix them together, and create a game. All of these areas are important. Even if some games minimise the use of some of them, the most acclaimed games usually shine at all of them.

Each of these disciplines can take a decade or longer to get good at them, and a whole life to master. So, it is quite common to find people specialising in one, or even just in a subarea.

Game Design

As a software developer, I wanted to start with programming. But what makes a good game is not a clever algorithm, or a beautiful art or music. All of that doesn’t matter if the game is not well designed.

Game Design defines things such us the concept, content, or mechanics of a game (being it a video game, a board game, or any other kind). It defines what the game is going to come to life, as an architect’s plan defines how a construction is going to be. In Game Design though, things are not that mathematical. Making a fun game is something that makes use of Phycology, in order to create a experience that will make the player enjoy (in different ways) playing the game.

Game Design is a massive field. Long books about it have been written, and most of them only scratch the surface. Also, the more you know about anything, the better game designer you will become. Designing a game takes advantage of any knowledge accumulated over the years, mixing different ideas and themes, imagining new things to engage the player, etc. It takes very long to master.


Art is, to me, the second most important aspect of a game. Even games with bugs, or simple mechanics that don’t require extremely complex programming, can be great games with the right art. Still, I think Art is behind Game Design, as if a game is not fun or doesn’t create the proper experience, even if graphics help, the game won’t be good. We can actually find examples of games that are incredibly good but their graphics don’t shine.

Most people love playing a video game that has good graphics. The term good graphics is tricky, as many people think about beautiful or realistic graphics, but that’s not always the case. Think about a horror game, where having beautiful graphics, or even realistic would sometimes even harm the game (e.g. Silent Hill, with those horrible creatures and that old-school fog, is still one of the best horror games ever made). The art needs to be adequate for the game we are making.

There are many different styles of art in the video game industry, and mastering one of them can take many years. Also, some styles, such as Pixel Art, look “simpler”, and in fact they are (at least compared to things like photorealistic painting), but that doesn’t mean that anyone can churn out good pixel art graphics without even knowing how to hold a pen. Many of the general principles of drawing, colouring, etc. still apply, and some others are introduced.


Programming used to be the black magic that made a game such a difficult piece to make. It took decades of trial and error, specially in graphics programming, to make games that felt realistic, or to be capable of doing what the game designer had in mind. Some companies treated programmers as their most valuable resources, as you could find good artists out there, but not everyone could write the Doom engine back in the 90s.

Nowadays, Programming is a less crucial skill. Tools like Game Maker allow to make games without knowing much about programming, at least compared to the old days, where C and Assembly where the way to go. Still, Programming can make the difference between a good and a bad game, specially on AAA games that require to use as much device resources as possible. Also, some kind of games require custom algorithms and logic to implement their rules, which wouldn’t be possible without coding them in a traditional way.

Lastly, no one likes playing games with annoying bugs, as they can completely ruin the experience, so I still think Programming is an important part of most video games. For good or bad though, computers and tools have become better and better, and we no longer compete in tech so much, but in creativity.

In the same way as the other disciplines mentioned above, Programming can take at least a decade to get good at it, and a lifetime to master. Also, there are so many different areas involved in game programming (Engines, Gameplay, Artificial Intelligence, and a long etc.) that just specialising at one of them can take your whole career.


Sometimes, Music is treated as a second-class citizen in games. Technically, you can play a video game without music; this would be more difficult if the game didn’t have any graphics or programming. But, if you look at the greatest games of all times, most of them have, at least, decent music. Some of them even have great music, specially RPG games such as the Final Fantasy series. These games wouldn’t be the same without it.

Music helps creating the experience that the game designer had in mind. It contributes to change the player’s mood, and to create the environment that brings the game alive. Use the wrong kind of music, and you will degrade, or even ruin, the quality of the game.

As a former musician, I can say the same as per Art: it takes a lifetime to hone your skills. Also, many musicians can play an instrument, but for video games we need the ability to compose, much more than being able to play. Music Composition is an large field by itself, and being a great performer doesn’t mean that you can compose; it needs to be studied as a separate skill.

Wrapping up

Each of these disciplines can take a whole life to master. This is why working in a team with different skills is so important – each member can focus on one of them, the one they master best.

But, can this work for a solo developer, or a smaller team? This is an interesting question. I believe it is achievable to be very good at -even master- two of these main areas of game development. It will take a lot of effort, but I think it is possible. On a personal side, I studied music and played the piano since young, and started coding at 17. I -hopefully- got to decent level at both. Would it be possible to reach that 5% of people who are very good or great at something? Putting the required -huge- effort, my feeling is that it is.

What about the other two? Being realistic, mastering all four disciplines is almost inconceivable. Even becoming good or very good at three of them is something you rarely see. Why? It’s not so much a matter of skill (I don’t believe in talent, rather in that almost everyone can become competent or even good at anything – maybe this is for another blog post), but time: the time and effort budget we have to spend is limited, and mastering something takes a very big chunk of it, so you won’t have enough time for the rest. It is a matter of maths. In any case, I believe it is possible to become reasonably good at three or the four of them, if we apply the Pareto Principle: we can achieve 80% of results spending 20% of the effort, given that the last 20% of improvement takes 80% of the time. If it takes a decade to be good at one skill, and the rest of your life to really master it, you can tackle a few of them. Be ready to work your butt off though, it is a really daunting task.

NOTE: I’m not including things like storytelling, as some games don’t really have an elaborate story. However, storytelling is a major component of some kind of games, and can require people specialised at it.

Bonus: Marketing

We’ve talked about what makes a video game, from the artistic and technological point of view. But, as creators, we want our work to reach people. A piece of work that doesn’t reach an audience falls halfway between its initial intention (the author creating something they like) and its final goal (entertain, add some joy, etc. to someone else). This has been the case of any kind of art since many centuries ago, so it is an important skill to consider, specially if you are an indie developer who wants to make a living from it.