Ya en temelden gireceğim hiç bilgim yok şu yabancı kelimeleri biraz daha açar mısınız?
Sanki önce biraz temel programlama gerekli olacak bazı bilgisayar bilimi (computer science) konseptleri öğrensen sonra o temel bilgiyle gidip bir oyun motoru alsan onu bir yerinden kurcalamaya başlasan daha iyi olur. Mesela
CS50 gibi bir giriş seviyesi computer science kursu tamamlayarak başlayabilirsin.
Ama madem sordun cevapsız bırakmamak için:
Scripting dili: Oyun motorları performans kritik uygulamalar olduğundan genelde buna uygun düşük seviye dillerle yazılır (düşük seviye yazılım jargonunda fiziksel donanımda dönen olaylarla yakın gibi bir anlama sahip, bir dil sana ne kadar direkt fiziksel donanım ile yakın etkileşim olanağı sunuyorsa ya da çalıştığı seviye onlardan ne kadar az uzaksa o kadar düşük seviye (C, C++, Rust); tersi olaraksa bunlara ne kadar kafa yormanı engelleyen, bunları senin için arka planda halleden yapıdaysa o kadar yüksek seviyedir en basit örneği python, örnek olarak bir oyunun var ve bir resim dosyası var oyun dosyaları arasında ve sen onu oyunun içinde diskten load etmek istiyorsun, python'da load(dosya_yolu) diye tek satırda yapabileceğin şey için C'de dosya pointerlarıyla vs. uğraşıyorsun belki okunan byteları bilgisayarın nasıl anlamlandıracağı kadar düşük seviye kabul ettiğimiz bir olay hakkında kafa yoruyorsun). Oyun motorlarının kendilerinin çoğu C++ ile yazılıyor ama hem öğrenmesi hem de kullanması zor bir dil C++ ve uygulama (bizim durumumuzda oyun) içi script dediğimiz genelde nispeten basit olan bizim script dediğimiz kodları yazmak için oyun motorları sana kendisi ile çalışabileceğin kullanımı daha rahat bir dil verirler. Mesela Unity
mono'nun kendi "
versiyonu" (
forku) ile çalışan C#'ı, Godot kendi GDScript'ini, bazı oyun motorları Lua'yı (örn.
Defold) sunuyor vs.
Windowing kütüphanesi: Sıfırdan bir uygulama yapmaya karar verirsen ve yaptığın uygulamanın terminalin ötesinde pencere açıp ekrana anlamlı bir şeyler koyup çalışabilmesini istersen pencere yöneticisinden (bu Windows'ta işletim sisteminin bir parçası, mac'de nasıl hiçbir fikrim yok, linux'ta birbiri ile değiştirebileceğin birden çok alternatifin var yani işler iyice karışık) sana bir pencere vermesini isteyeceksinle başlayan ve birden fazla platform desteklemek istersen hepsi için ayrı ayrı yazmanı gerektirecek bir taş devrine dönüp tekerleği yeniden icat etme süreci var, çok ayrıntılı ve zor bir süreç ve tekerleği baştan icat etmemek için bize bu konuda yardımcı olacak birçok kütüphane var baya baya her dil için ama C++ dememin sebebi oyun sektöründe çok kullanılmasıydı ve çoğu kütüphane birden fazla dil ile kullanılabilir oluyor ama kütüphanenin kendisi genelde C/C++ ile yazılmış dolayısıyla o kütüphaneyle direkt etkileşime geçmek için olarak düşünebilirsin native dili C/C++ oluyor, yoksa aslında seni istediğini istediğin dille yapmaktan alıkoyan yok. Ki saf windowing tarzı kütüphane az aslında genelde daha genel amaçlı ve uygulama geliştirmek için bundan daha fazlasını sunan kütüphaneler olur.