How To Learn Game Development? Use These 5 Steps

How to learn game development is a popular question. In this blog post, I will give you 5 steps that I personally used to become a game developer. These steps are based on my experience and what worked for me and I’m not trying to say that this is the perfect way to learn. But it’s the path I took and it worked pretty well for me. Without further ado, let’s get to it!

1. Learn Programming Fundamentals

Programming is a huge part of game development and it’s absolutely crucial that you have a strong foundation in it. In my opinion, even if you are a game artist you should have at least a basic understanding of programming just to have better insight into what it takes to develop a game. 

What language you learn doesn’t really matter because the basics are pretty much the same across different languages. But at the very least make sure that the language you picked supports OOP(Object Oriented Programming) and is relatively popular so that there is a decent amount of learning material and community around it.

That being said learning a language that is used by one of the popular game engines is a smart idea that will give you a boost in your learning journey.

The 3 most popular choices that I can list from the top of my head are Unity, Unreal, and Godot. They are all very capable and awesome tools and which one you should use depends on your preferences and what type of game you are planning to build.

I personally use Godot extensively and started using Unity recently. I can’t say much about Unreal though.

If you want to learn Unity learn C#.

If you want to learn Godot learn Python.

If you want to learn Unreal learn C++.

You might say “Wait, but Godot doesn’t use Python, Kaan what are you saying mate?”

I know, but GDScript, Godot’s scripting language, is very similar to Python, and learning GDScript by itself isn’t very useful.

How to go about learning programming

There are 3 different ways you can do this. 

  • Youtube tutorials
  • Books
  • Online courses

The main pro of YouTube tutorials is the fact that they are free. They are also easy to get started with. But ultimately a book or an online course provides a much more structured learning experience.

Start with YouTube tutorials to get an idea then find a good book/online course. (There are very high-quality YouTube series as well keep in mind)  

2. Pick a Game Engine and Learn The Basics

First, pick a game engine. Like I mentioned before the most popular ones are Unity, Unreal, and Godot. 

You want to get a basic understanding of how your game engine works in order to complete this step.

Start by watching beginner tutorials on YouTube and reading documentation.

Godot has an excellent step by step guide for beginners:

And Unity has a great official learning platform:

This should be enough for you to get started but if you want to do some research and find what fits your learning style that’s also fine.

You’ll be done with this step when you can confidently do basic tasks like creating a scene, adding some game objects to your scene, attaching scripts, etc.

3. Enroll in a Good Online Course

Up until this point you’ve learned the basics of programming and the basics of the engine that you chose. Now it’s time to learn how to make a game with it.

Find the most comprehensive and well-reviewed online course that covers your game engine and watch it from start to finish.

In my opinion learning by doing is one of the best ways to learn and I absolutely love project-based courses.

Make sure that the course that you picked isn’t all theory and it has multiple projects that you can build alongside the instructor. A big benefit of this is that you will instantly have projects that you can put on your portfolio after you finish the course.

However, don’t just use the exact same projects but try to extend them. You are lucky because building upon existing projects is so much easier than creating a game from scratch.

4. Turn a Project Into a Full Game

As I said, it’s much easier to extend an existing project. Leverage the fact that you have multiple projects that you can build upon. 

Let’s say that you made a basic platformer game. Add one unique mechanic to the game, create 10-15 levels. Add menus, polish the game, and you are done. You have an original game that you made that you can share with the world.

There is not much more to say about this step. It’s mostly gonna be you creating something unique.

5. Keep Making Games, You Are READY!

At this point, you should be fairly confident in your game dev skills and have enough knowledge to start a project from scratch. You are the equivalent of a bird that’s ready to jump from its nest and start flying.

Think of cool game ideas and start building prototypes. Each prototype should take anywhere between a single day to a couple of weeks.

After you have a decent amount of prototypes find the one that you like the most and keep working on it.

DON’T over-scope your first game. One of the most important skills of a game developer is actually finishing games and it will take you longer than you think to finish it, so be careful.

If you just want to improve your skills you might consider cloning popular games. This is very common among beginner devs who are trying to improve themselves. 


I tried to answer the question “How to learn game development” as best as I can. Here are the steps in a list format.

  1. Learn Programming Fundamentals
  2. Pick a Game Engine and Learn The Basics
  3. Enroll In a Good Online Course
  4. Turn a Project Into a Full Game
  5. Keep Making Games!

All the steps should take anywhere between 3 to 10 months to complete depending on how much time you can invest. But I assure you if you follow the steps and put in the work you will get to where you want to be.

Some useful resources:


  • 1 Bit Godot:
  • Make an action RPG in Godot:
  • KidsCanCode:
  • Official docs:


  • Unity 2D Course:
  • Unity 3D Course:
  • Official docs:
  • Brackeys:


I hope this was useful and now you have some idea about how to learn game development. Good luck with your game dev journey!


Sinyaller bir programlama modeli olan observer pattern‘ın Godot versiyonudur. Sinyaller sayesinde bir node başka nodeların dinleyip cevap verebileceği mesajlar gönderebilir. Mesela bir butona basıldı mı basılmadı mı anlamak için sinyalleri kullanabiliriz. Butonun durumunu surekli olarak kontrol etmektense, sadece basıldığı zaman yaydığı sinyali dinleyebiliriz.

Sinyaller sayesinde nodelar birbilerinin varlığını zorunlu tutmuyor ve bu da daha rahat organize edilebilen ve düzenlenebilen kod yazmamıza olanak veriyor. Sinyallerin amacını oyunun içindeki objeleri bağımsızlaştırmak olarak düşünebilirsiniz. Bu bağımsızlaştırma olayına decoupling deniyor.

Sinyalleri nasıl kullanacağımıza dair örneklere bakalım.

Okumaya devam et →

Godot 4 tane scripting dilini deskteliyor. Bunlar Godot’un kendi scripting dili olan GDScript, görsel scripting dili olan VisualScript, C++ ve C#. Godot’un ana dilleri GDScript ve VisualScriptten oluşuyor. Bunlar Godot ile kullanılmak amacıyla oluşturulmuş olan diller olduğu için diğer dillere göre avantajları var. Bu dilleri Godot’un kendi text editor(metin düzenleyicisi)’ni kullanarak yazabiliyoruz fakat C++ ve C# için ayrı bir program kullanmanız lazım. Visual Studio gibi. 


GDScript’in nasıl bir dil olduğundan ve avantajlarından bahsedelim. Bu bilgiler zaten kod yazmayı bilen ve GDScript’in nasıl bir dil olduğunu öğrenmek isteyenler için yararlı olacaktır.

Lua, Python ve Squirrel gibi dillerin kullanıcılarına tanıdık olacak biçimde tasarlanan GDScript son derece hızlı compile olan bir dil.

Matematik ve geometriye ağırlık veren kullanıcılar için kendi vektör tiplerine sahip.

Lua, Squirrel gibi dillerin aksine verimli bir şekilde çoklu thread kullanımını destekliyor.

Garbage collector kullanmıyor.

Okumaya devam et →

Bu derste Instancing’in ne olduğunu öğreneceğiz. Instance’ın Türkçe çevirisi örnek demektir. Bir sahneyi instance lamak yani örneklemek o sahnenin aynısından oluşturmak demektir. Bir sahneyi bir binayı inşa etmek için kullanılan taslak veya proje planı olarak düşünürseniz instance o taslak kullanılarak inşa edilen bina olur. Aynı taslağı kullanarak istediğiniz kadar bina inşa edebilirsiniz. Aynı şekilde bir sahneyi kullanarak istediğiniz kadar instance oluşturabilirsiniz.

Projeniz için tek bir sahne kullanmak küçük projeler için yeterli olabilir fakat projenin boyutu büyüdükçe kullandığınız node sayısının kısa sürede ele avuca sığmaz hale geldiğini göreceksiniz. Bu problemi çözmek için Godot projelerinizi birden fazla sahnelere ayırmanıza olanak sağlıyor. Bu sayede oyunumuzu farklı bölümlere ayırıp organize edebiliyoruz.

Bir önceki dersimizde sahnelerin ağaç şeklinde düzenlenmiş olan nodelardan oluştuğunu öğrenmiştik.

Okumaya devam et →

Herkese merhabalar! Godot Başlangıç Rehberi serisi ile oyun geliştirmenin ve Godot oyun motorunun temellerini öğreneceğiz.

Bu seri Godot’a ve oyun geliştirmeye yeni başlayan ve programlama ve kod yazma ile tecrübesi olan okuyucular için yazıldı. Bu seriyi rahat bir şekilde takip edebilmeniz için programlamanın temellerini bilmeniz gerekiyor. Eğer daha önce kod yazmak ile ilgili bir tecrübeniz yoksa bile bu serinin yararlı olacağını düşünüyorum fakat gereken yerlerde kendi araştırmanızı yapmanız gerekebilir.

Oyun motoru nedir? Oyun motoruna neden ihtiyacımız var?

Kendi oyununuzu yazmak istiyorsanız iki seçeneğiniz var. Oyun motoru kullanmak veya oyunu sıfırdan yazmak. İki seçeneğinde avantajları ve dezavantajları mevcut. Eğer sıfırdan yazmayı tercih ederseniz daha fazla ön hazırlığa ihtiyacınız olacak fakat bir oyun motoru ile yapamayacağınız numaraları yapabileceksiniz. Eğer oyun motoru kullanmayı tercih ederseniz fazla bir ön hazırlık yapmadan oyun yazmaya başlayabilirsiniz, fakat oyun motorunun size sunduğu kadarıyla sınırlı kalırsınız.  Eskiden oyun motorları bu günkü kadar gelişmemiş olduğu için sınırlı kalma durumu problem teşkil ediyordu. Fakat şu an oyun motorları bir oyun geliştiricinin isteyebileceği özelliklerin çoğunu kapsadığı için fazla bir sorun yok. Bu seri Godot oyun motoru üzerine olduğu için oyun motorları hakkında daha fazla bilgi vereceğim.

Oyun motoru oyun yapmak için kullanılan programlara verilen genel isimdir. Bir oyun motoru önceden oyun yapma amacıyla yazılmış kod içerir ve bu kodu kullanıcıya sunarak oyun yapma sürecini hızlandırır ve kolaylaştırır. Bir oyunu bir mermer bloktan kazıyacağınız bir heykel olarak düşünürseniz, oyun motoru bu heykeli kazımanız için gerekli olan aletleri size verir. Eğer o aletlere erişiminiz yoksa mermeri kazıyamayacağınız için ilk önce aletleri oluşturmanız gerekir.

Okumaya devam et →