Gereksinim analizi oyun geliştirmede faydalı mı?


9

Oyun geliştirme odaklı bir yazılım mühendisliği öğrencisiyim. Oyun geliştirmede ihtiyaç analizi ne kadar büyük bir rol oynuyor?

Soruyorum çünkü ihtiyaç analizi konusunda bir ders alıp almayacağımı kararlaştırmaya çalışıyorum. İşte bir açıklama:

Gereksinimlerin ortaya çıkarılması, gereksinimler, analiz, gereksinimlerin belirlenmesi, gereksinimlerin doğrulanması ve doğrulanması ve gereksinimlerin yönetimi konularında güncel araştırma ve uygulamaların derinlemesine incelenmesi.

Bu tür bilgiler bağımsız bir oyun geliştiricisi için yararlı olur mu? (Alternatifler yapay zeka veya yazılım mimarisidir.)


Açıklığa kavuşturmak için alternatifleriniz nelerdir?
ChrisE

Evet, durumunuza biraz daha ışık tutun, lütfen. Çekirdek dersinize ek olarak alınması gereken bir şey mi yoksa RA'nın çekirdeğinizin bir parçası olup olmadığını belirlemeye mi çalışıyorsunuz?
Jason Pineo

Yazılım mimarisi sınıfınızda neler var? Daha çok bir sistem tasarlamaya yönelikse, o zaman kesinlikle bunu almanızı öneririm. İhtiyaç analizi "Nasıl yaptığımı umursamıyorum, yazılımımın ne yapmasını istiyorum?" Bir sistem tasarlamak "Ne yapmak istediğimi biliyorum, onu en verimli şekilde nasıl başarabilirim?"
Ray Dey

Analiz Felçinden kaçınmanıza yardımcı olacak herhangi bir uygulamalı araç / teknik yararlı olacaktır.
Patrick Hughes

Yanıtlar:


7

İster bağımsız bir geliştirici olun, ister büyük bir şirket için çalışın, gereksinim analizi inanılmaz derecede faydalı olacaktır. Gereksinim analizi, projenizi yönetilebilir parçalara ayırmanızı sağlar. Projenizin ne kadar zaman alacağını tahmin etmenizi ve bir özelliğin değerini istediğiniz geliştirme programına ve gereken çabayla karşılaştırmanıza olanak tanır.

Daha büyük bir indie oyun şirketindeyseniz, herkesin her zaman bir şeyler yapmasını ve geliştirme hedeflerinize ulaşmanızı sağlamak için diğer geliştiriciler ve içerik üreticileri ile birlikte çalışmanıza yardımcı olacaktır. Büyük bir şirket için çalışıyorsanız, öğrenme gereksinimleri analizi, sizi toplantıda, bir sayı için kıçınızdan çıkarmak yerine, bir özellik için gerçekçi bir zaman tahmini verebilecek birkaç geliştiriciden biri yapar.

Tüm bunlara ek olarak, gereksinimlerin doğrulanması, birim testi ve özelliklerin doğrulanması gibi, arkasında büyük bir KG departmanı olmayan bir geliştirici için çok değerli olan şeyleri içerebilir.


+1 Burada söylenen her şey doğrudur ve bağımsız sahneyi yapana kadar kurumsal programlama yapabileceğiniz fikrine değinmektedir.
ChrisE

Nasıl faydalı olamazdı? Yaptığınız her şeyi yapılandırılmış bir şekilde analiz etmelisiniz. Bazı terimlerin belirsiz olması, nicelleştirmenin imkansız olduğu anlamına gelmez.
johnny

2

Bu sınıfın oyun geliştirme ile sıfır ve çok az ilgisi olacağını düşünüyorum. Kesinlikle bahsettiğiniz yarı resmi veya resmi yöntemler benim deneyimimde kullanılmaz.

Oyunların tipik olarak inanılmaz derecede akışkan gereksinimleri vardır ve toplama gereksinimlerine zaman ve en iyi uygulamaları yatırmak mümkün olsa bile, sonuçta ortaya çıkacak şeylerin çoğu eğlence, bağımlılık, daldırma vb. Anlamına gelen anlamsız ve belirsiz terimlerdir. Çok nadiren çok net bir şekilde tanımlanmış çıktılar elde edersiniz, çünkü yazılım yapmak gibi davranmak bizim kadar mühendislik gibi, programcıların kendilerini ifade edebilecekleri farklı yollar göz önüne alındığında, aslında daha çok bir zanaattır. Bu oyunlar için iki katına çıkar.


Umarım "akışkan gereksinimleri", "özellik sürünmesi" için bir örtmece değildir. : \ Sonuç olarak, "eğlenceli", "bağımlılık" gibi anlamsız ve belirsiz terimler olduğunu kabul etmiyorum. Bunlar, gerçekten düşünülmüş gereksinimlerin bir alt kümesi olan teknik olmayan gereksinimleri temsil eder. belgesi.
PatrickB

2
Sıvı gereksinimlerinin kesinlikle özellik sürünmesi için bir örtmece olduğunu düşünüyorum, ancak perakende ve isabet odaklı bir ortamda rekabet etmek istiyorsanız, ilk günden itibaren özellik sürünmesini kabul etmeniz gerekir. Geleneksel bir 'yazılım müşterisi' için gereksinimleri toplayıp analiz ederek öğrenebileceğiniz şeyler, eğlence yazılımının nasıl çalışması gerektiğinden çok farklıdır. Özellikle müşterinizin son kullanıcı olmaması konusunda büyük bir probleminiz var ve özellik sürünmesinin kaçınılmaz olduğunu bildiğinizde teknik gereksinimlerdeki başka bir büyük sorun tespit edilemiyor.
Kylotan

Rekabet ettiğini, hatta satan bir ürün yaptığını söylediğine inanmıyorum. Birçok indie oyunu perakende oyunlarla rekabet etmek için tasarlanmamıştır, genellikle AAA oyunlarıyla aynı oyun alanında bile değildirler. Cehennem, Steam, indie oyunlarını, muhtemelen bir uyarı etiketi gibi, kendi küçük sanal alanlarına itiyor. Bir indie geliştiriciniz olduğunda, tanım olarak, ne yapmak istediğinizi kontrol edebilirsiniz. Eğer yapmadıysanız, ortak olursunuz / yatırım yaparsınız ve o zaman gerçekten indie olmazdınız, değil mi? Her iki şekilde de, üzerinde çalıştığım hobi oyunlarında özellik sürünmesi görmüyorum. YMMV.
PatrickB

1
Bağımsız olarak normalde 'hobi oyunları' anlamına gelmez, normalde 'yayıncı finansmanına bağımlı olmayan küçük şirketler' anlamına gelir. Bu nedenle, müşterinizin / müşterinizin durumu yukarıda önerdiğimden daha basit olabilir, ancak pazar güçlerine tartışmasız daha duyarlı olabilirsiniz. Ancak günün sonunda çoğu resmi ihtiyaç analizi kısa sürede ortaya çıkacak, çünkü bir oyun açısından "iş gereksiniminin" ne olduğunu nitelemek inanılmaz derecede zor. Oyunlar bu konuda diğer yazılımlardan önemli ölçüde farklıdır ve bu yüzden alçakgönüllülükle yazılımı belirtmenin diğer yollarının daha alakalı olduğunu öneririm.
Kylotan

Diğer yollar nelerdir?
johnny

2

İhtiyaç analizi, resmi iletişim kanalları ve bağımsız bir geliştirici için hiçbiri olmayacak ya da çok az olan bu tür şeylerle kurumsal yazılımlara yöneliktir. Oyunlar için pek kullanışlı değil çünkü birçok gereksinim resmi olarak test edilemiyor veya doğrulanamıyor. Bir araç çubuğunuz varsa ve "Bu düğmeyi tıklamak, üzerinde XYZ bulunan bir menüyü açmalıdır" derseniz, düğmeyi tıklayıp ne olduğunu görmek için birine neredeyse hiçbir şey ödemezsiniz. Oyununuz eğlenceli mi? Bu tamamen farklı bir su ısıtıcısı.

RA, oyunun çalışıp çalışmadığını belirlemek için yararlı olabilir; ancak denge, tekrar oynanabilirlik ve oyunun nihai eğlence faktörünü belirleyen diğer faktörler söz konusu olduğunda, bunları test etmek zor veya imkansızdır. Sonuçta, mevcut bir fikrin mükemmel bir şekilde uygulanıp uygulanmayacağına bağlıdır; ya da yeni oyunlarda başarı arayıp bulmayacağınız.


0

Bunu atlayın.

Oyun Geliştirme'nin hangi alanına girmek istiyorsunuz? Programcı olduğunu varsayıyorum ama ...

Tasarımcı: Çok yazıyorlar. Bir sürü. Genellikle tasarımcıların vizyonunu ileten bir tasarım belgesi vardır, ancak yapımcı veya yayıncı dışındaki herkes için bilgileri normal olarak tasarımcıdan alırsınız.

Programcı: Müşteri adayı, platforma ve varlık boru hattına büyük ölçüde bağlı olacak teknik gereksinimleri belirler. İşteki liderliğinizle çalışırken bunu nasıl yapacağınızı öğreneceksiniz.

Sanatçı: Yine sanat eserlerinin gereksinimlerini belirleyen lider programcı ile birlikte baş sanatçıdır. İş başında öğrenin.

İhtiyaç analizi, muhtemelen öğretecekleri kurs gibi, para harcamalarını haklı çıkarmaya çalışan büyük şirketler ve dış kaynak kullanımı için yararlıdır. Ve çoğu zaman bir zamanlar kodlayan ve muhtemelen unutmuş biri tarafından yapılır. bıçaklama

İndie gitmek planlıyorsanız, bir iş / muhasebe / yönetim konu almak. Hayatta kalmak ve vidalanmamak için ona ihtiyacın olacak. İyi şanslar.


Ben de programcı etiketli beri programcı kabul ediyorum;)
Komünist Ördek

1
-1 Yani, sadece onu programcılar için etiketledi özledim değil, aynı zamanda indie geliştirme için kaçırdı, bu hemen öğrenmek için bir teknoloji kurşun olmayacağını ima edecek. Gereksinim analizi, tam sistem özellikleri yapmasanız bile yararlıdır - sorunları analiz etmek için doğru zihniyete nasıl girileceğini öğrenmek. Ayrıca, bir yayıncıya satış konuşması yapılması gerektiğinde yazılı uygulama her zaman faydalı olacaktır. Açıkçası tavsiyeniz ne hedef kitleye hitap ediyor ne de konu hakkında faydalı bilgiler veriyor.
ChrisE

-1 Anlaştı. İnsanların ihtiyaç duymadığını yapmayan yeterli boktan yazılım ve teknik sorunları çözmeyen ve sonsuz yeniden yazma ve yayınlanmamış oyunlara dönüşen korkunç tasarımlardan muzdarip yeterli bağımsız oyun. Resmi yöntemler indie oyunlarının açıkça geçemeyeceği bir formalitedir, ancak arka plana sahip olmak, çok yaygın olan "kod ve düzeltme" yerine "dur ve düşün" zihniyetine yol açar. Kodlayıcılar bir düzine düzinedir, ancak çok nadir kaliteli bir yazılımdır. Sen hesapla.
PatrickB

1
Ha ha ha. Tüm oyun geliştirme, özellikle indie, çevik olmak ve temel bir fikir üzerinde yinelemekle ilgilidir. İhtiyaç analizinin sunacağı hiçbir şey yoktur ve çoğunlukla ön ağır bir süreçtir. Cevabımı genelleştirdim. Bir indie devam planlıyorsanız yarı deneyimli geliştiriciler ve sanatçılar bir ağa sahip olmadan yapmak zor olacak. Yani ya oyun geliştirme ve iş tüm alanlarında bir dahi olması gerekir ya da mentorlar, bir la teknoloji liderleri vb bulabilirsiniz.
bkersten 21:11

1
@PatrickB Gereksinim analizi, bir yazılımın nasıl tasarlandığını etkilemez. Gereksinim analizi, bir oyun geliştiricisinin neredeyse hiç kullanamayacağı yararsız bilgilerle doludur (özellikle akla ilk gelen vaka diyagramlarını kullanın). Bu, hemen hemen paydaşlara ve dolayısıyla şirket ortamlarına yönelik bir konu. Geliştiricinin gereksinimleri (özellikleri) listelemesi gerektiğini kabul ediyorum, ancak bu sağduyu olmalıdır. Bir yazılım parçası tasarlamak, analiz gerektirmeyen (yine de üniversitede) ihtiyaç duyulan tamamen ayrı bir konudur
Ray Dey
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.