W opisach stanowisk często widzę stanowiska zwane „Programista rozgrywki”. Co robią osoby na tym stanowisku?
Komentarze
- gamedev.stackexchange.com/questions / 5538 / …
Odpowiedź
Kiedy firmy mówią o zatrudnianiu programisty gier , to mają na myśli programistę, który będzie odpowiedzialny za kod, który bezpośrednio dotyka na wrażenia z gry. Oznacza to, że programista będzie odpowiedzialny za faktyczne tworzenie gier, a nie silnik lub większe systemy gier. Ale poza tym sytuacja jest bardzo różna:
Niektóre firmy oczekują, że programiści rozgrywki zaimplementują interfejs użytkownika . Niektóre nie. Niektóre firmy oczekują od nich wdrożenia kodu AI, inne nie. Niektórzy oczekują, że zaimplementują kod audio, inni tego nie robią. Szczerze mówiąc, „rozgrywka” w programatorze rozgrywki to skrót branżowy określający „wszystko, do czego nie zatrudniliśmy specjalisty”. Dlatego programiści ci muszą być bardzo wszechstronni i szybko uczyć się nowych dyscyplin.
Spędziłem prawie piętnaście lat jako programista gier w branży komercyjnej, w pięciu różnych firmach.
Z mojego doświadczenia wynika, że w niektórych firmach programista gier jest uważany za niższego lub początkującego; W końcu programiści, którzy pracują tylko nad pojedynczą grą, nie muszą być tak wyrafinowani, jak ci, którzy pracują na systemach, które muszą obsługiwać wiele różnych gier jednocześnie, tak jak muszą to robić programiści silników. jeśli programista gier komputerowych radzi sobie naprawdę dobrze, może kiedyś awansować do zespołu silnikowego, jeśli udowodni swoją wartość, lub może zostać specjalistą, jeśli wykaże się umiejętnościami w określonej dziedzinie.
W innych firmach programista gier jest uważany za stanowisko średniego poziomu; programiści pracujący nad pojedynczą grą muszą mają pewne przydatne doświadczenie i mogą być godni zaufania. Niedoświadczeni programiści mogą otrzymać niepożądane zadania do wykonania (potoki danych, narzędzia itp.), a ostatecznie mogą zostać przeniesieni do pracy „programisty rozgrywki”. W tego rodzaju systemie programista gier, który nadal radzi sobie całkiem nieźle, może awansować na poziom projektowy rolę kierowniczą lub zespół ds. silnika.
W jeszcze innych firmach programista gier jest uważany za stanowisko wyższego szczebla, a także za stanowisko połowiczne; od programistów oczekuje się doskonałych, sprawdzonych programistów, ale także dużej wrażliwości projektowej i kwalifikacji, ponieważ „bezpośrednio dotykają kodu, który najsilniej wpływa na doświadczenie gracza z grą. W tego rodzaju systemie naprawdę dobry programista gier prawdopodobnie pozostanie programistą gry na zawsze – jest to uważane za najcenniejsze stanowisko, jakie może obsadzić.
Ogólna zasada mówi, że lepiej gier firmy, tym wyższą pozycję uznają za programistę gier (i tym trudniej będzie to mieć taką pracę).
Odpowiedź
Zawsze uważam, że warto zilustrować przykład.
-
Programista rozgrywki otrzyma następujące zadania: zaimplementować system walki wręcz, zaimplementować mechanikę regeneracji zdrowia lub zaimplementować sterowanie skokami gracza.
-
Programista silnika (jak nazwałbyś kogoś, kto nie był konkretnie programistą rozgrywki) otrzymałby zadania w rodzaju: implementacji odroczonego oświetlenia, systemu animacji lub warstwy sieciowej.
Kluczowa różnica chodzi o to, kim jest „klient”. W przypadku programistów rozgrywki to zespół projektantów – ich zadaniem jest urzeczywistnienie projektu. Dla programistów silników jest to zazwyczaj inni programiści . Programiści silników tworzą technologie i systemy, które programiści rozgrywki i twórcy treści mogą następnie wykorzystać do zrealizowania projektu.
Programiści silników piszą kod, który jest w dużej mierze niezależny od gry – ta sama technologia może być często używana w wielu grach. Programiści zajmujący się grami zwykle piszą kod, który jest bardzo specyficzny dla tworzonej gry. I zawsze coś się pokrywa – czasami do zaimplementowania rozgrywki potrzebny jest nowy kod silnika.
Kodowanie rozgrywki nie jest trudniejsze ani łatwiejsze niż kodowanie silnika.Jest to jednak zdecydowanie inny zestaw umiejętności; często musisz być bardziej kreatywny i umieć tworzyć rozwiązania. Twoim celem nie jest stworzenie idealnego systemu wielokrotnego użytku (idealnego dla programistów silników), ale stworzenie najlepszej implementacji gry. Zatem to, co może być atutem w programowaniu silnika (dbałość o szczegóły i dobrze zaprojektowane struktury), może być przeszkodą w programowaniu rozgrywki (gdzie ważniejsze są adaptowalność i czas iteracji). Dobry programista gier wie, kiedy zrobić to dobrze (kiedy projekt jest solidny, a kod będzie używany w wielu miejscach), a kiedy zrobić to szybko (kiedy projekt jest jeszcze dopracowywany, a Twój kod ma duże szanse po przetestowaniu).
Przede wszystkim programiści rozgrywki muszą być w stanie współpracować z zespołem projektowym na poziomie, którego nie potrafią programiści silników. Oprócz oczywistych umiejętności komunikacyjnych oznacza to, że musisz znać inne projekty gier o wiele bardziej niż programiści silników, więc kiedy projektant powie „spraw, by działało jak Zelda”, wiesz, o czym mówią.
Aby nauczyć się być programistą silników, należy zgłębić technologię i dowiedzieć się, jak ona działa, a może nawet zaimplementować własną wersję; gra byłaby po prostu areną do pokazania technologii.
Aby nauczyć się być programistą gier, weź silnik kogoś innego i używaj go na tyle różnych sposobów, na ile możesz . Innymi słowy, jeśli chcesz zostać programistą rozgrywki, twórz gry, a nie technologię .
Odpowiedź
Dokładnie tak, jak to brzmi: programista, który wdraża i utrzymuje mechanikę gry.
http://en.wikipedia.org/wiki/Game_programmer#Gameplay_programmer