Czy analiza wymagań jest przydatna w tworzeniu gier?

9

Jestem studentem inżynierii oprogramowania, specjalizującym się w tworzeniu gier. Jak dużą część odgrywa analiza wymagań w tworzeniu gier?

Pytam, ponieważ próbuję zdecydować, czy wziąć udział w zajęciach z analizy wymagań. Oto opis:

Dogłębne badanie obecnych badań i praktyki w zakresie pozyskiwania wymagań, wymagań, analiz, specyfikacji wymagań, weryfikacji i walidacji wymagań oraz zarządzania wymaganiami.

Czy ten rodzaj wiedzy byłby przydatny dla niezależnego twórcy gier? (Alternatywami są sztuczna inteligencja lub architektura oprogramowania).

Joey Green
źródło
Aby wyjaśnić, jakie są twoje alternatywy?
ChrisE
Tak, proszę rzucić nieco więcej światła na swoją sytuację. Czy jest to coś, co należy wziąć pod uwagę poza podstawowymi zajęciami, czy próbujesz ustalić, czy RA jest częścią twojego rdzenia?
Jason Pineo
Co obejmuje klasa architektury oprogramowania? Jeśli jest to bardziej ukierunkowane na zaprojektowanie systemu, zdecydowanie sugeruję podjęcie tego. Analiza wymagań obejmuje: „Nie dbam o to, jak to robię, co chcę, aby moje oprogramowanie?” Projektowanie systemu polega na: „Wiem, co chcę robić, jak mogę to osiągnąć w najbardziej efektywny sposób?”
Ray Dey,
Przyda się każde zastosowane narzędzie / technika, które pomogą ci uniknąć Paraliżu Analiz.
Patrick Hughes,

Odpowiedzi:

7

Analiza wymagań będzie niezwykle przydatna, niezależnie od tego, czy jesteś niezależnym programistą, czy pracujesz dla dużej firmy. Analiza wymagań pozwala rozbić projekt na porcje do zarządzania. Pozwala oszacować czas potrzebny na projekt i porównać wartość funkcji z pożądanym harmonogramem rozwoju i wymaganym nakładem pracy.

Jeśli pracujesz w większej niezależnej firmie, pomoże ci to współpracować z innymi programistami i producentami treści, aby upewnić się, że każdy ma zawsze coś do zrobienia i że możesz osiągnąć swoje cele programistyczne. Jeśli pracujesz dla dużej korporacji, analiza wymagań uczenia się sprawi, że będziesz jednym z niewielu programistów na spotkaniu, którzy mogą podać realistyczne oszacowanie czasu dla danej funkcji, zamiast wyciągać pewną liczbę z twojego tyłka.

Oprócz tego sprawdzanie poprawności wymagań może obejmować między innymi testowanie jednostkowe i weryfikację funkcji, co jest nieocenione dla programisty bez dużego działu kontroli jakości za jego plecami.

Gregory Avery-Weir
źródło
+1 Wszystko, co tu powiedziano, jest poprawne, a także w pewnym stopniu odnosi się do pomysłu, że możesz skończyć programowaniem korporacyjnym, dopóki nie znajdziesz się na scenie niezależnej.
ChrisE
Jak to może nie być przydatne? Musisz analizować wszystko, co robisz, w uporządkowany sposób. To, że niektóre terminy są niejasne, nie oznacza, że ​​niemożliwe jest ich oszacowanie.
Johnny
2

Myślę, że ta klasa będzie miała od zera do bardzo małego związku z tworzeniem gier. Z pewnością wspomniane przez ciebie półformalne lub formalne metody nie przydają się w moim doświadczeniu.

Gry zazwyczaj mają niewiarygodnie płynne wymagania, a nawet gdyby można było zainwestować czas i najlepsze praktyki w zbieranie wymagań, znaczna część tego, co byś skończył, to pozbawione znaczenia i niejasne terminy odnoszące się do zabawy, uzależnienia, zanurzenia itd. Bardzo rzadko będziesz miał bardzo jasno określone wyniki, ponieważ o ile lubimy udawać, że tworzenie oprogramowania jest inżynierią, tak naprawdę jest to rzemiosło, biorąc pod uwagę różnorodność różnych sposobów wyrażania się przez programistów. W grach jest to podwójnie.

Kylotan
źródło
Mam nadzieję, że „płynne wymagania” nie są eufemizmem dla „pełzania funkcji”. : \ Nie zgadzam się z tym, że „znaczna część” tego, co by się skończyło, jest pozbawionymi znaczenia i niejasnymi pojęciami, takimi jak „zabawa”, „uzależnienie” itp. Przedstawiają one wymagania nietechniczne, które stanowią podzbiór naprawdę przemyślanych wymagań dokument.
PatrickB
2
Myślę, że płynne wymagania z pewnością są eufemizmem dla pełzania funkcji, ale jeśli chcesz konkurować w środowisku detalicznym i opartym na hitach, musisz zaakceptować pełzanie funkcji od pierwszego dnia. Rzeczy, których można się nauczyć, gromadząc i analizując wymagania tradycyjnego „klienta oprogramowania”, są zbyt różne od tego, jak oprogramowanie rozrywkowe musi działać. W szczególności masz jeden poważny problem polegający na tym, że Twój klient nie jest użytkownikiem końcowym, a inny poważny problem związany z wymaganiami technicznymi nie może zostać sprecyzowany, gdy wiesz, że pełzanie funkcji jest nieuniknione.
Kylotan
Nie wierzę, że powiedział, że konkuruje, a nawet tworzy produkt, który sprzedaje. Wiele gier niezależnych nie jest przeznaczonych do konkurowania z grami detalicznymi, zwykle nie mają nawet takich samych szans jak tytuły AAA. Do diabła, Steam umieszcza wszystkie gry niezależne w swoim małym piaskownicy, prawdopodobnie jako bardziej ostrzegawcza etykieta. Gdy jesteś niezależnym programistą, z definicji masz kontrolę nad tym, co chcesz robić. Gdybyś tego nie zrobił, byłbyś partnerem / inwestowałbyś, a tak naprawdę nie byłbyś niezależny, prawda? Tak czy inaczej, wydaje mi się, że nie znajduję pełzania funkcji w grach hobby, nad którymi pracuję. YMMV.
PatrickB
1
Nie sądzę, że niezależność zwykle oznacza „gry hobby”, zwykle oznacza „małą firmę nie zależną od finansowania wydawcy”. W związku z tym Twoja sytuacja klient / klient może być prostsza niż sugerowałem powyżej, ale możesz być bardziej podatny na siły rynkowe. Ale pod koniec dnia większość formalnych analiz wymagań okaże się krótka, ponieważ niezwykle trudno jest określić, co jest „potrzebą biznesową” pod względem gry. Gry różnią się znacznie od innych programów pod tym względem, dlatego pokornie sugeruję, że inne sposoby określania oprogramowania są bardziej odpowiednie.
Kylotan
Jakie są inne sposoby?
Johnny
2

Analiza wymagań jest znacznie bardziej ukierunkowana na oprogramowanie korporacyjne, z formalnymi kanałami komunikacji i tego rodzaju rzeczami, z których niewiele będzie istnieć dla niezależnych programistów. Nie jest to bardzo przydatne w grach, ponieważ wielu wymagań nie można formalnie przetestować ani zweryfikować. Jeśli masz pasek narzędzi i mówisz: „Kliknięcie tego przycisku powinno rozwinąć menu z XYZ”, możesz zapłacić komuś praktycznie nic za kliknięcie przycisku i zobaczyć, co się stanie. Czy twoja gra jest fajna? To zupełnie inny czajnik z rybami.

RA może być przydatne do ustalenia, czy gra działa; ale jeśli chodzi o takie rzeczy, jak równowaga, odtwarzalność i inne czynniki, które określają ostateczny czynnik zabawy w grze, trudno jest je przetestować. Tak więc ostatecznie zależy to od tego, czy wybierasz doskonałą realizację istniejącego pomysłu; lub czy szukasz sukcesu w nowej grze.

DeadMG
źródło
0

Pomiń to.

W jaki obszar tworzenia gier jesteś zainteresowany? Zakładam, że programista, ale ...

Projektant: Dużo piszą. Całe mnóstwo. Zwykle istnieje dokument projektowy, który przekazuje wizję projektantów, ale dla wszystkich innych, z wyjątkiem producenta lub wydawcy, zwykle otrzymujesz informacje od samego projektanta.

Programista: potencjalny klient określa wymagania techniczne, które będą w dużej mierze zależeć od platformy i potoku zasobów. Dowiesz się, jak to zrobić, pracując ze swoim leadem w pracy.

Artysta: Znowu jest on głównym artystą wraz z głównym programistą, który zwykle określa wymagania dotyczące zasobów artystycznych. Ucz się w pracy.

Analiza wymagań, podobnie jak kurs, który najprawdopodobniej będą prowadzić, jest przydatna dla dużych korporacji próbujących uzasadnić wydawanie pieniędzy i dla outsourcingu. I często robi to ktoś, kto kiedyś kodował i być może zapomniał. zasztyletować

Jeśli planujesz pójść do indie, weź temat biznesu / rachunkowości / zarządzania. Będziesz go potrzebować, aby przetrwać i nie dać się zepsuć. Powodzenia.

Bkersten
źródło
Zakładałbym także programistę, ponieważ oznaczył go programistą;)
Kaczka komunistyczna
1
-1 Tak więc nie tylko przegapiłeś, że osoba oznaczyła go jako programistę, ale także przegapiłeś, że to był rozwój niezależny, co natychmiast oznaczałoby, że nie będzie żadnej wiedzy technicznej do nauki. Analiza wymagań jest przydatna - nawet jeśli nie wykonuje się pełnych specyfikacji systemu - pozwala nauczyć się, jak prawidłowo nastawić się na analizę problemów. Ponadto praktyka pisania będzie zawsze przydatna, jeśli zajdzie potrzeba zwrócenia się do wydawcy. Twoja rada, szczerze mówiąc, ani nie odnosi się do grupy docelowej, ani nie zapewnia użytecznej wiedzy na ten temat.
ChrisE
-1 uzgodnione. Wystarczająco kiepskie oprogramowanie, które nie robi tego, czego ludzie potrzebują, i wystarczająco dużo niezależnych gier, które cierpią z powodu okropnych projektów, które nie rozwiązują problemów technicznych i przekształcają się w niekończące się przepisywania i niepublikowane gry. Metody formalne są formalnością, w której niezależne gry mogą nie przejść bezpośrednio, ale posiadanie tła prowadzi do myślenia „zatrzymaj się i pomyśl” zamiast „kodowania i naprawy”, co jest zbyt powszechne. Kodery to kilkanaście centów, a jednak oprogramowanie wysokiej jakości jest tak rzadkie. Ty to Oblicz.
PatrickB
1
Hahaha. Cały rozwój gier, zwłaszcza niezależnych, polega na zwinności i powtarzaniu głównej idei. Analiza wymagań nie ma nic do zaoferowania i jest przeważnie ciężkim procesem. Uogólniłem więc swoją odpowiedź. Jeśli planują pójść do indie, posiadanie sieci na wpół doświadczonych programistów i artystów będzie trudne bez tego. Więc albo musisz być geniuszem we wszystkich obszarach rozwoju gier i biznesu, albo znajdziesz mentorów, liderów technologii itp. Staraj się nie być tak wrażliwym facetem.
bkersten
1
@PatrickB Analiza wymagań nie wpłynie na sposób zaprojektowania oprogramowania. Analiza wymagań jest pełna bezużytecznych informacji, z których twórca gier prawie nigdy nie skorzystałby (szczególnie przywołują diagramy przypadków użycia). Jest to temat skierowany głównie do interesariuszy, a tym samym środowisk korporacyjnych. Zgadzam się, że programista powinien wymienić wymagania (funkcje), ale to powinien być zdrowy rozsądek. Projektowanie oprogramowania jest zupełnie odrębnym tematem, którego analiza wymagań ledwie dotyka (zresztą na uniwersytecie)
Ray Dey