Jak rozwija się grafika na tym samym sprzęcie konsoli?

33

Czy to tylko kwestia optymalizacji kodu?

Czy twórcy gier planują zacząć od małego na nowym sprzęcie, aby mieć przestrzeń do ewolucji podczas tworzenia serii tej gry?

Czy przełomy w grafice komputerowej są na tyle powszechne, że zdarzają się za życia konsoli?

Roberto
źródło

Odpowiedzi:

36

Czy to tylko kwestia optymalizacji kodu?

Jest w tym naprawdę część optymalizacji. Im więcej programistów przyzwyczaja się do sprzętu konsoli, tym bardziej uczą się, jak wyciskać w niej jakość graficzną.

Ale nie jest to jedyny powód:

  • Wczesne tytuły na konsolach są opracowywane na zmieniającym się sprzęcie i zestawach SDK, więc trudno jest w pełni wykorzystać platformę, gdy nie jest jeszcze ustabilizowana.
  • Nie tylko programiści muszą dostosować się do ograniczeń nowej platformy: to samo dotyczy artystów. Im bardziej dojrzały silnik, tym więcej artystów może się do niego dostosować i udoskonalić swoje umiejętności. Istnienie wcześniejszych zasobów, które można iterować, jest również warte rozważenia.
  • Ogólnie rzecz biorąc, ludzie są coraz bardziej doświadczeni, nie tylko artyści, nie tylko programiści, ale wszyscy. Rozmiary zespołów rosną, przynajmniej na rynku AAA. Umieszczenie bardziej doświadczonych osób w produkcji, jeśli jest dobrze zarządzane, prowadzi do wyższej jakości.

Czy twórcy gier planują zacząć od małego na nowym sprzęcie, aby mieć przestrzeń do ewolucji podczas tworzenia serii tej gry?

To interesujące pytanie. Nie sądzę, aby twórcy gier celowo pozostawiali miejsce na ewolucję podczas pracy na nowej konsoli. Dla mnie jest to tylko przypadkowe. Ale czekam na korektę, może w końcu niektóre duże studia robią to strategicznie, byłbym ciekawy, aby zobaczyć na to jakiekolwiek dowody (świadectwo, ktoś?).

Czy przełomy w grafice komputerowej są na tyle powszechne, że zdarzają się za życia konsoli?

Tak. Co najmniej regularnie .

Laurent Couvidou
źródło
2
SSAO i odroczone cieniowanie są starymi algorytmami - właśnie się okazało, że ostatnio są one możliwe w czasie rzeczywistym. SSAO (2007) to implementacja w czasie rzeczywistym 10-letniego algorytmu (wstępnie obliczone AO), odroczone cieniowanie zostało pierwotnie opublikowane przez Deering w 1988 r.
bobobobo
2
Zgadza się. Zostały one dostosowane do czasu rzeczywistego podczas ostatniej generacji konsoli; nie oznacza to, że koncepcja była nowa, jak wyjaśnia Kylotan w swojej odpowiedzi.
Laurent Couvidou
3
Myślę, że ważną częścią komponentu optymalizacji jest to, że sprzęt jest mniej więcej taki sam przez wiele lat. Dzięki temu programiści mogą opracować wysoce ukierunkowane optymalizacje, a być może jeszcze ważniejsze, aby zainwestować ten czas w wartości. Aby uzyskać ciekawą i podobną ewolucję kodu, rozważ wersje demonstracyjne C64 lub Amiga napisane dekady po wydaniu oryginalnego sprzętu; wiele z nich byłoby nie do pomyślenia w latach 80. i 90.
Daniel B
13

Czy twórcy gier planują zacząć od małego na nowym sprzęcie, aby mieć przestrzeń do ewolucji podczas tworzenia serii tej gry?

Z pewnością nie!

Kiedy po raz pierwszy dołączyłem do branży gier, zadałem pytanie producentowi [gigantycznego wydawcy, o którym zdecydowanie słyszałeś] na to pytanie. Powiedział mi, że każda gra konsolowa opracowana przez jego firmę wykorzystuje 100% dostępnych zasobów platformy. Chociaż prawdopodobnie nie była to dosłowna prawda, jest wystarczająco blisko.

Jeśli już, gry konsolowe spędzają większość swojego rozwoju, wykorzystując blisko 120-150% zasobów platformy. Ostatnie miesiące rozwoju poświęcone są gorączkowo próbom zniszczenia wszystkiego do „tylko” 100% przed datą wysyłki. Jeśli kolejne tytuły wymagają więcej cykli procesora / pamięci RAM / miejsca na dysku itp., Programiści muszą najpierw dowiedzieć się, jak zoptymalizować swoją obecną technologię - znaleźć bardziej wydajne algorytmy, zastosować lepszą kompresję danych itp. Zatem szybka ewolucja z konieczności!

Właściwie to ma sens; Jaką przewagę konkurencyjną będzie tam w sposób wyraźny nie próbuje osiągnąć pełnego potencjału sprzętu, ponieważ aktualna wiedza o systemie? Czy zaufalibyście swoim konkurentom w zachowaniu tego samego ograniczenia?

postgoodizm
źródło
Świetna odpowiedź. Nadal byłbym ciekawy, czy niektóre gatunki gier mają różne cele - gdzie 60 klatek na sekundę jest absolutnie niezbędne dla podstawowej rozgrywki, a oni po prostu wolą, aby wyglądało to tak ładnie, jak to tylko możliwe.
Katana314,
10

Ponieważ konsole mają jedną specyfikację. I nie tak jak na PC, gdzie masz mnóstwo różnych odmian. Programiści mogą lepiej optymalizować swoje gry. Ale to nie znaczy, że na dłuższą metę zrobi magię kosmiczną. Osiągnie limit. (obecnie 360 ​​/ Ps3 mają w sumie 512 MB, co dla wielu programistów wydaje się być irytujące)

Konsole są dość przestarzałe po 6 miesiącach. Komputery zawsze rosną szybciej w specyfikacji sprzętowej. Ale gry na PC nigdy tak naprawdę nie są zoptymalizowane pod kątem jednego zestawu sprzętowego. Muszą pamiętać, że są też ludzie o niższej specyfikacji (stąd wideo i inne opcje). Ale ponieważ programiści pracujący nad grami konsolowymi mogą optymalizować na dłuższą metę, mogą robić porządne sztuczki ze sprzętem.

Gry na PS3 / 360 wyglądają dość dobrze w obecnych czasach. Ale wyobraź sobie, że programista skupił się na jednym określonym powerbeast komputera.

Na początku nowych konsol deweloperzy muszą dostosować się do sprzętu. Nie możesz po prostu spoliczkować kodu z jednej platformy na drugą. Dlatego nie widzisz gier, które mamy teraz na początku cyklu życia. Rurociąg produkcyjny rośnie z czasem. Za pierwszym razem nie można tego zrobić poprawnie. Trzeba dokonać wielu optymalizacji, a to tylko kosztuje czas. Kiedy widzisz lepsze funkcje w sequelu, dzieje się tak dlatego, że rozwój technologii rozwijał się podczas pierwszej gry.

Prawdziwe przełomy mają zwykle miejsce w przypadku nowego sprzętu. Ale programiści mogą być kreatywni, co pozwala im robić rzeczy na ograniczonym sprzęcie.

Sidar
źródło
Co dokładnie zmienia się, gdy mamy tylko jedną specyfikację do opracowania? Kod się zmienia? A może tylko opcje kompilatora?
rodorgas
1
Kod w większości pozostaje taki sam, ale optymalizacja sprowadza się do korzystania z funkcji sprzętu.
Sidar
Dziękuje za odpowiadanie. Jeśli chcesz to rozwinąć, interesuje mnie przykład optymalizacji z wykorzystaniem funkcji sprzętu.
rodorgas
1
Cóż, najczęstszym, choć zwykle dokonuje się go przez jakąś abstrakcję, jest SIMD.
Sidar
9

Nowy sprzęt zasadniczo oferuje po prostu więcej możliwości niż wcześniej. Większość ulepszeń graficznych pochodzi z nowych technik, nowych optymalizacji i lepszej sztuki.

Warto wiedzieć, że „nowe” techniki, które się stosuje, rzadko są nowe - zwykle są to techniki 20-letnie, które wcześniej były zbyt wolne do renderowania w czasie rzeczywistym. Zazwyczaj są one tłumaczone na kod czasu rzeczywistego wiele lat później, gdy programista znajduje sposób, aby zrobić to skutecznie ze sprzętem dnia.

Kylotan
źródło
3
Przykład
3
Jeśli chcesz wiedzieć, do czego będzie zdolna grafika komputerowa w kolejnych latach, spójrz na Hollywood CGI sprzed dekady (?) Temu.
Dan Neely
2
RTRT
bobobobo