Ben bunu daha önce sorulan bu konuya stackoverflow.com de. Buradaki ilk yorumlardan biri beni buraya gamedev.stackexchange.com adresine yönlendirdi, bu yüzden burada yer alıyorum.
İlgili soruları araştırmak Çok özel sorular buldum, ancak teknik özelliklerin benim için kayıtsız kaldığıma korkuyorum ve Google’da 4 saat sonra başladığımdan daha yakın değilim, bu yüzden bir topluluğa ulaşmak istiyorum sırayla.
İlk olarak, amacım: Daha önce hiç oyun oynamamıştım, ancak birkaç kez karıştırıldım. Sonunda oturup kod yazmayı, oyun motorlarını kullanmayı vb. Öğrenmeyi başlatmaya karar verdim. Hepsi bir gün (umarım yakında) işlevsel (basit de olsa) oyunlar yapabilirim. Daha sonra karmaşıklık eklemeye başlayabilirim, şimdilik bir 3D dünyasında hareket eden klavye kontrollü bir kameranın ötesinde bir etkileşim olmadan hareket etmekten memnuniyet duyarım.
Geçmişim: SEVERAL programlama dillerinde PHP'den C ++ 'ye Java - ASM aralığında çalıştım. Yeni bir sözdizimini veya yeni bir dilin özünde olan sınırlamaları öğrenmekle gelen zorluklardan korkmuyorum. Bununla birlikte, geçmiş programlama deneyimimin tümü, kesinlikle grafiksel değildi ve uygulama sırasında genellikle çok az veya çok basit bir etkileşime girdi. Mantıksal ve matematiksel problemlerin yanı sıra grafik problemlerin çözümü için geniş ve mükemmel algoritmalar yarattım. Ancak her durumda giriş ya bir dosyada tanımlanmış, bir HTML formundan geçirilmiş ya da konsola yazılmıştır. Kullanıcı ile gerçek zamanlı etkileşim benim hiçbir deneyimim olmadığı bir şey.
Sorum şu: Oyun yapmaya çalışırken nereden başlamalıyım? Daha da iyisi, klavyede gezinilebilir bir 3D ortam oluşturmaya çalışırken nereden başlamalıyım? Çevrimiçi aramada oyun motorlarına, grafik motorlarına ve fizik motorlarına bağlanan birkaç kaynak buldum. İşte denedim birkaç motor ile deneyimlerimin kısa bir özeti:
Unreal SDK: Eğitim videoları zaten 3D modelleme, grafik motorları, animasyonlar, vb. Hakkında derinlemesine bilgi sahibi olduğunuzu varsaymaktadır. Zaten tanıdık. SDK'yı indirdikten ve araçların iddia ettikleri kadar sezgisel olup olmadığını görmek için başlattıktan sonra, 3D modellemem için yaklaşık 60 düğme ve boş bir boşlukla karşılaştım. "Hacim ekle" yi tıklatarak (basit bir küp eklemeye çalışmak için) 30 seçenekli bir menü ile karşılaştım. Panik, editörü kapattım.
Crystal Space: Web sitesi oldukça bilgilendirici göründü, Crystal Space'in sadece grafikler için olduğunu ve yardımcı yazılım olan CEL'in oyun yapmak için varlık mantığı sağladığını açıkladı. Oyun programlaması bilgisi olmayan insanlar için basit bir araç olan "CELStart" kullanılarak oluşturulmuş bir demo oyunu sağlandı. Ne yaratmak için sabırsızlandığımı görmek için oyunu başlattım. Birkaç kez dondu, menüler sıkıştı, binlerce grafik sorunu vardı, düşmanlar hasar vermedi ve oyunu kapattığımda kilitledi. Motordan vazgeçtim.
IrrLicht: Öğretici Visual Studio 6.0'a sahip olduğumu varsayıyor (Visual Studio 2010'a sahibim). Talimatları doğrultusunda, kütüphaneyi Visual Studio'ya düzgün bir şekilde aktarabildim ve kullanmaya devam ettikleri işlevleri çağıramadım. Başlık dosyalarının, sınıf dosyalarının ve DLL dosyalarının el ile projemin klasörüne kopyalanması - proje uygun şekilde derlenemedi.
Açıkçası iyi bir başlangıç yapmadım ve çevrelere giriyorum. Birisi beni doğru yöne işaret edebilir mi? Blender gibi bir programı indirerek ve 3D modellemeyi öğrenerek mi başlamalıyım yoksa bir grafik motorunu nasıl kullanmalıyım? Her şey dahil bir oyun motoru aramalı mıyım, yoksa kendi oyun mantığımı denemek ve kodlamak daha mı iyi? Biri gerçekten kendi oyunlarını yapmış olsaydı, nasıl başladıklarını duymayı tercih ederim.
Ayrıca okulumda ders almak bir seçenek değildir. Hiçbir şey teklif edilmedi.