@Ebu Zalim hocamın da dediği gibi. 2D yapacaksan Unity, 3D yapacaksan Unreal Engine kullanın. Programlama dili konusuna gelirsek. Unreal Engine oyun motorunda Blueprint özelliğini öğrenip oyununuzu yapabilirsiniz. Duydunuz mu bilmiyorum ama Scratch'a benziyor gibi biraz. Bunun dışında hızlı, popüler ve OOP (nesne yönelimli programlama) dili olan C++'ı kullanabilirsiniz. Oyunlar için en çok kullanılan diller arasında ilk 3'te eğer ilk defa programlamaya başlayacaksanız C++ sizi bayağı zorlar bunu da söyleyeyim. O yüzden de C++ yerine C# veya Java kullanabilirsiniz.
C++ programlama dili ile yapılan bazı oyunlar:
League of Legends
Minecraft: Bedrock Edition
Counter Strike: Global Offensive
Doom
World of Warcraft
Ve dahası...
Ha birde şunuda ekleyeyim. Oyun yapmak için illa bir oyun motoruna veya C++, C#, Java gibi popüler OOP programlama dillerine ihtiyacınız yok. Web tabanlı oyunlarda geliştirebilirsiniz. Bunlar içinse CSS, HTML, Javascript kullanabilirsiniz.