Kütüphaneleri, çerçeveleri, motorları ve SDK'ları değerlendirmek ve en iyisini seçmek için kısa bir hile sayfası
- Kütüphaneler, çerçeveler, motor SDK'ları ve benzerleri sizin için sorunları çözmeyi amaçlayan veya sorunları çözmenize ve belirli gereksinimleri karşılamanıza yardımcı olan araçlardır.
- Değerlendirme, hangisinin en çok gereksinimi karşıladığını bulmak anlamına gelir.
Bu nedenle, değerlendirmeye başlamadan önce hangi senaryoda olduğunuzu ve hangi gereksinimlere sahip olduğunuzu / sahip olmak istediğinizi netleştirmeniz gerekir, çünkü bu değerlendirme tarafından cevaplanması gereken sorulardır.
Senaryo, gereksinimlerin nereden geldiğini tanımlar (bir gereksinimin neyin hangisinin neyin olmadığına karar verir).
Tipik senaryolar:
En hobbi proje senaryosu
Kendi başınıza veya bazı arkadaşlarınızla birlikte (belki de ilk) oyununuzu oluşturmak istiyorsunuz. Mükemmel, her şeye kendi başınıza karar verebilirsiniz ve sadece temel teknik kararlar ve teknik gereksinimlerle sınırlısınız (bir mobil oyun, bir PC oyunu, bir konsol oyunu, bir web oyunu, ....). Ne istersen karar verebilirsin.
Örtük gereksinimler, belirli bir şeyi (bir dil, belirli bir çerçeve / motor) öğrenmek isteyebileceğinizdir
Öğrenci senaryosu
Gereksinimler öğretmeninizden gelebilir. Bu durumda sahip olduğum tipik gereksinimler: oyunun bazı fizik unsurlarına ve çok oyunculu ağ desteğine sahip olması gerekiyor. Veya C ++ ile yazılmalıdır. Böylece değerlendirme kolaylaşır. C ++ 'da kod yazmanıza izin veren ve zaten bir ağ ve fizik motoru içerebilen bir oyun motoru arıyorsunuz.
Daha kötü (gerçek hayat) bir gereklilik: her şey sıfırdan yazılmalıdır (ancak kütüphanelerin kullanımına izin verilir). Dolayısıyla hiçbir editör kullanılamaz (örn. Unity3D). Yani motorları / SDK'ları değil, kütüphaneleri arıyorsunuz.
Bağımsız oyun senaryosu
Daha sonra oyunla para kazanmak istiyorsunuz. Bu nedenle, bir şekilde satmanız gerekecek, bu da oyununuzu satmak istediğiniz mağazadan hangi gereksinimlerin geldiğini kontrol etmenizi sağlar.
Java oyunlarına, HTML5 oyunlarına izin veriyor mu?)
Belirli kitaplıkları dahil etmenizi gerektiriyor mu (evet ise, bu kitaplıkların hangi dillerde mevcut olduğu)
Google Playstore, oyununuzu Android oyunu olarak yazmanızı gerektirir, Apple AppStore ise oyununuzu iOS uygulaması olarak yazmanızı gerektirir. Veya çok platformlu bir motor seçmek zorundasınız.
Profesyonel senaryo
Yalnızca gereksinimler sağlayan bir mağazanız değil, büyük olasılıkla kendi gereksinim immaginasyonlarına sahip bir yayıncı veya müşteriniz vardır. Bu senaryoda ayrıca daha büyük bir çalışan geliştirici ekibiniz olacaktır. Beceri setlerine bağlı olarak yeni gereksinimler ortaya çıkar (programcılarımız sadece c ++ yazabilir, böylece yeni bir şey öğrenmek için (çok) zamana ihtiyaç duymadan saf bir Java / Android oyun motoru kullanamayız).
Bu senaryo için detaylara girmiyorum, bir iş ekibi oluşturmayı ve bir müşteri / yayıncı bulmayı başardıktan sonra, şeyleri değerlendirirken ne aradığınızı zaten biliyorsunuz.
Bir hobbiest veya indi olduğumda ve başka hiç kimse bana söylemediğinde, taleplerimin ne olduğuna nasıl karar verebilirim?
Hedefleriniz ve oyununuz hakkında kendi kendinize soru sorun.
Oyunum ne olmalı? mobil, pc, web (html / Js), hangi denetleyicileri kullanacağım (dokunmatik ekran, jiroskop, oyun pedi)
Oyunumdaki yenilikler ve diğer oyunlarda neler var. Diğer oyunların da sahip olduğu bu bölümler (oluşturma, ses, giriş işleme) bulabileceğiniz en çok (oyun motorları) araçlar tarafından yapılacak veya kendi oyununuzda veya oyun motorunuzda bu işlevselliğe sahip kütüphaneleri paketlemek kolaydır.
Projemin boyutu nedir: kızgın kuşlar mı yoksa skyrim mi? Angry Birds neredeyse her araçta yapılabilir ve skyrim (varsayılan) yıllarca ek kişiselleştirme ile yüksek performanslı araçlarla sınırlı olacaktır (yüksek performanslı arazi motorları kolay değildir)
Tek amacım sadece bir oyun yapmak mı? Evet? mükemmel, Unity, Unreal gibi son derece gelişmiş bir şey kullanabilirsiniz ... kullanışlı bir editör ve size öğreticiler sunan ve sorularınızı cevaplayan büyük bir topluluğa sahip. Kafes yükleme, kendi matematik işlevlerinizi uygulama gibi düşük düzeyli görevleri ele alma yükünü ortadan kaldırır ....
Hedefim belirli bir şey öğrenmek mi? Evet? Ne öğrenmek istiyorsun?
Hangi dili seçmeliyim? Eğer hedef hala oyununuzu bitirebilmekse sizin / ekibinizin en iyi bildiği birini seçin? Belirli bir dili öğrenmek istiyorsanız, o dilde bir araç seçersiniz.
X aracı oyunum için yeterli performansa sahip olacak mı? Belki asla bilemezsin. Büyük üretimlerde bile, optimizasyon ve parlatma aşaması uzun zaman alır ve bunu yapmak için büyük bir fırsattır. Performans sorunlarını vurduğunuzda performansı önemsemeye başlayın. Sınırlarına ulaşmadıkça aracın nasıl performans göstereceğini bilmiyorsunuz. Araçlar geliştiricinin web sitesindeki her şey sadece kaba bir tahmindir. Yıllarca süren araçları değerlendirdikten sonra, geliştiricilerin web sitesinden bir şeylere inanmayı bıraktım.
Bu tür soruları yanıtlamak sizi gereksinimlere getirir. Değerlendirme, bir araç listesi bulmak ve aracın sunabileceği veya yapamayacağı TEST (sadece ana sayfayı okumak değil).
Gereksinimler taşa kesilmez, dinamiktir. Gelişim sırasında gelip gidecekler. Oyunun fizik ihtiyacı olup olmadığı, örneğin tasarıma bağlıdır. Tasarım değişirse gereksinim de değişebilir.
Sahip olduğunuz gereksinimleri alın ve başlayın. Değişen gereklilikler, proje büyüklüğünden ve deneyim seviyesinden bağımsız olarak acı çekmenin, ahm, mutlu geliştiricilerin günlük ekmeğidir.