Bir oyun motorunu, herhangi bir oluşturma yöntemini kullanarak hemen hemen her dilde yazabilirsiniz. Örneğin konsol çıktısını kullanarak bash'de bir oyun motoru yazabilirsiniz.
Bu yüzden, kendi motorunuzu yazarken tam olarak ne öğrenmek istediğinizi tanımlamak en iyisi olacağını düşünüyorum. Oyun geliştirmede çok fazla "alan" vardır.
vs .. Oradan alt konular bile olabilir. Görüntü Oluşturma / Grafik
2d veya 3d?
Modelleme
gölgeleme
Aydınlatma
Tekstüre
GUI / Huds / Bağlantı.
vs vs
Bu alt alt başlıklardan sadece biri, saatler süren (veya yıllarca) eğitim yiyebilir!
Bu nedenle, önce ne öğrenmek istediğinizi tanımlayın. Basit başlayın.
Konforlu dilinizi kullanın - bazıları belirli görevler için daha uygundur. Örneğin, çekirdek motor ve oluşturma muhtemelen en iyi C / C ++ gibi bir "düşük" seviye diliyle yapılır (eğer performansa ihtiyacınız varsa); ancak yapay zeka veya Oyun Kuralları gibi bir şey daha üst düzey bir dilde daha iyi yapılabilir. Hiçbir şey karıştıramayacağınız ve eşleştiremeyeceğinizi söylemiyor. Motorunuzu C ++ 'da, renderınız C' de (OpenGL ile iyi çalıştığı için) yazabilir ve daha sonra Oyun Kurallarınızı kodlamak için LUA kullanabilirsiniz.
Örnek olarak, Slick2D adlı bir oyun motoru var. Java ile yazılmış ve açık kaynak kodlu. Gerçekten iyi yazılmış ve tasarlanmış basit bir 2d motor örneği. Oyun döngüleri, oyun durumlarını yönetme vb. Gibi temel kavramları öğrenebilirsiniz.
C / C ++ ile rahat ediyorsanız; SDL / OpenGL'ye göz atmanızı öneririm. Giriş, ses, pencere oluşturma vb.Gibi bazı temizlik işlemlerini gerçekleştirir ve diğer şeylere odaklanabilir.