Programlama öğretmeyen oyun programlama kitapları? [kapalı]


29

Ben oyun geliştirme ile ilgilenen yaklaşık 3 yıllık deneyime sahip normal bir programcıyım. Karşılaştığım sorun şu ki, bu "acemi" kitaplara baktığımda, çoğu temel programlama becerilerini öğretiyor ve bunun üzerine oturup okumaya değer bulmaya sabrım yok. Ancak, daha ileri düzey kitaplara baktığımda, başımın üstünde duruyorlar ve bir kez daha, bana verimsiz geliyorlar. Aradığım şey, oyunların nitty-gritty intern'lerini açıklayan, ancak daha makul bir seviyede olan kitaplardır.

Örneğin, her tür veri yapısına (karmalar, ağaçlar, bağlantılı listeler) ve birçok genel algoritmaya (sıralama, arama) çok aşinayım, ancak çarpışma algılamanın etkili bir şekilde nasıl uygulanacağını bilemem. Ayrıca yabancı kütüphaneleri kullanma deneyimim var, bu yüzden bir API öğrenmek için belgelerin nasıl kullanılacağını biliyorum, bu yüzden "X kullanmayı öğrenin" kitabına da ihtiyacım yok.

Şahsen, pek çok dilde rahat ettiğim için kitaplarda hangi platformların / dillerin / kütüphanelerin kullanıldığını umursamıyorum, ancak yapmak istediğim oyun Javascript ve HTML5 tuvalini kullanacaktı.

Baska öneri? Herhangi biri bedava mı?

Not: Matematik ve fizik seviyemin göreceli olarak düşük olduğunu ve bunları nazikçe birleştiren bir kitabın artı olacağını unutmayın.

EDIT: 2B programlamaya ilgi duyduğumu söylemeliyim ve bu noktada henüz 3B'i gerçekten umursamıyorum.


1
Zaten bildiğiniz şeylerle sayfaları gezdirmeyi / çevirmeyi denediniz mi?
Ricket

Yanıtlar:


11

Game Programming Gems serisine baktınız mı ? İstediğiniz özellikleri size verebilir. HTML5 / tuval'de çok yeni olduğu için pek fazla kitap yok, özellikle de oyun programlaması hakkında konuşanlar.


9

Oyun programlamanın hangi yönünü merak ediyorsunuz? Oyun programlamanın özel yönlerini tartışan birkaç kitap var. Bir oyunu başlatmak ve çalıştırmak zor değildir ve herhangi bir oyun mantığı tıpkı herhangi bir uygulamanın verilerini nasıl yönettiğin gibidir, belki de uygulama hızı ile biraz daha fazla ilgilidir. Grafik programlama gibi şeylere girmek tamamen başka bir şey olabilir. Temel bir oyun çerçevesiyle başlayın, ardından sağlam bir savaş sistemi tasarlamak veya animasyon veya gölgelendiricileri senkronize etmek gibi ilgilendiğiniz bir alana odaklanın.

Yararlı bulduğum genel bilgi türü kitaplar:

Muhtemelen çevrimiçi belirli motorlar için çeşitli eğitici kayıtlara bakarak en fazla bilgiyi edinebileceğiniz aşamadasınızdır. Ayrıca kontrol edebileceğiniz yeterince açık kaynak kodlu oyun var.

Çalışmak için ilginç bir şey, Monocle Engine olabilir .


Düzenle :

Matematik konusunda da temellerim konusunda biraz titriyorum. Bu genel konu alanları için iyi bir kaynak Khan Academy'dir .

Diğer ücretsiz şeyler için, yalnızca GameDev.net ve XNA ile ilgili MSDN makalelerine göz atın.


6

Nesneye yönelik programlama konusunda kendinize güveniyorsanız, bileşen odaklı tasarımı kapsayan bir şey seçtiğinizden emin olmalısınız. Oyun gelişiminde çok güçlü olan ve son on yılda standart bir yaklaşım haline gelen OOP içindeki bir programlama yaklaşımıdır.

COD anlayışıma büyük katkı sağlayan iki kaynak:

İnanılmaz bir kaynak listesi içeren Yığın Taşması ile ilgili bir cevap var: Oyun literatüründe bileşen tabanlı yazılım mühendisliği .

Not: COD yalnızca oyun geliştirmede kullanılmaz. COD'yi tamamen farklı bağlamlarda açıklayan, oyunlarda oynadığı rolü anlamak için mutlaka yardımcı olmayacak kaynaklar (YMMV) bulabilirsiniz.



5

DirectX 9.0c ile Oyun Programlamaya Giriş: Frank Luna'dan Shader Yaklaşımı öneririm . Ayrıca merak ediyorsanız D3D10 için de kullanılabilir. Kitap temel C ++ bilgisine sahip ancak oyuna özgü ve COM içermeyen bir şey varsayıyor ve vektörler ve matrisler gibi çeşitli matematiksel temellerle başlıyor ve temelden orta seviyeye kadar oyunlar kurarak kullanıcıyı oldukça nazikçe yönlendiriyor. Elbette kayda değer olan şey, zaman geçtikçe, o zaman işler değiştiği için - örneğin, donanım incelemesi veya nispeten yeni olan diğer optimizasyonları öğretmiyor .


9 ile 10 arasındaki önemli değişiklikler göz önüne alınsa da, şimdi DirectX 10'un sürümüyle gideceğim.
John Robertson

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.