Bir oyun motorunun düşük seviye grafik API'lerinden soyutlandığını söylemekte haklısınız, ancak tam teşekküllü bir oyun motoru çok daha fazlasını yapıyor.
Oyun motorları, oyun geliştirmeyle ilgili her şeyi kolaylaştırmayı amaçlamaktadır. Her birinin kendi benzersiz özellikleri vardır, ancak genellikle grafikler, ses, giriş, sahne yönetimi, çarpışma algılama, matematik ve genel yararlı araçlar için kolay soyutlama katmanları sağlarlar. Bazıları fizik API'leri için sarmalayıcılar ve eklentiler sağlar ve hatta bazıları AI desteğine sahiptir (çoğunlukla FSM'ler, yol bulma ve - mevcut eğilim - davranış ağaçları ile sınırlıdır). Birçoğu platformlar arası işlevsellik konusunda kendilerini destekliyor ve gurur duyuyor.
Bir oyun motorunun amacı, sıfırdan bir oyun oluşturmaktaki küçük sıkıntılarla uğraşmak zorunda kalmadan veya bir sürü kitaplık kurmak ve kendinize uyacak şekilde kendi paketleyicilerinizi yazmak zorunda kalmadan kullanıcının bir oyun oluşturmasını kolaylaştırmaktır. oyun.
Orada çok sayıda motor var, ancak bir grafik motoru ve bir oyun motoru arasındaki farka dikkat edin (Örneğin, Unity bir oyun motoru, oysa Ogre bir grafik motoru olurdu).
Konuyla ilgili iki kitabım var, ancak konuyla ilgili iyi bir genel bakış sunuyorlar:
Tam, profesyonel bir oyun motoru oluşturmak için ihtiyacınız olan bilgi derinliğini elde etmek için her bileşen hakkında birkaç kitaba ihtiyaç duyacağınız için çok derin değiller, ancak kavramları çok iyi açıklıyorlar.
Game dev oyununa başlıyorsanız, motor yapmayın. Sizi şu sayfaya yönlendiriyorum: http://geometrian.com/programming/tutorials/write-games-not-engines/
Motorlar doğru olmak için zor bir şeydir. Bir sürü oyun yazarsanız, bir süre sonra size yardımcı olması için kendi kişisel motorunuzu yapmak için kullanabileceğiniz çok sayıda yeniden kullanılabilir kodunuz olduğunu göreceksiniz. Ve kemerinizin altında çok sayıda (tam) oyun olması, tek bir motordan çok daha etkileyici.
Umarım yardımcı olur.
ışın