Dlaczego twórcy niektórych gier ograniczają opcje?

1

W niektórych grach twórcy gry ograniczają ustawienia gry i nie można wyłączyć w nich AA (masz tylko do wyboru minimum AA2 lub więcej), cieni nie da się wyłączyć, VSync też się nie da, paru innych rzeczy także się nie da. Jaki sens jest w tym? Mam wrażenie, że producenci kart graficznych i innych podzespołów maczali w tym palce, bo jaki problem dla programistów dużej gry jest wstawienie paru opcji do menu? (albo nawet do pliku INI ukrytego gdzieś na dysku)? I celowo pliku ini nie ma i opcje celowo są ograniczone do minimum. Przez to osoby ze słabszym sprzętem są zmuszone do sprzedania gry lub ulepszenia komputera, bo jakiś idiota nie pozwala wyłączyć kilka rzeczy (a panel do kart AMD itd nie zawsze w laptopach pozwala na wyłączenie AA całkiem dla każdej aplikacji).

0

To pytanie do twórców gier.

Ale mogę zaspekulować: pewnym problemem może być to, że masa opcji wymusza bardziej elastyczny kod, a być może programistom się nie chce i dają funkcjonalności na sztywno przez co jest szybciej i taniej zakodzić :)

1

Sam jakbym tworzył grę to bym nie pozwalał o zbyt dużą ingerencję w takie rzeczy. Raz bo większosc ludzi i tak nie zdaje sobie sprawy z tego co jest od czego, a dwa... po co ktos ma grac w gre ktora wyglada slabo? Jeśli ktoś później taką grę zobaczy przez chwilę to raczej nie oceni jej na podstawie zawartości ale wyglądu, a jako twórcy zależałoby mi bardziej na tym by więcej osób ją kupiło, prawda? :)

I tak jak Wibowit wspomniał - więcej opcji to i większa szansa, że nowe bug'i wyjdą. A testowanie na różnych wersjach to o wiele większy nakład czasu, do zakodzenia, jak i sprawdzenia tego.

1

To nie do końca jest tak, że wszystkie opcje mają wpływ na kod. Te rzeczy dot. filtrowania (AA, AF, filtrowanie tekstur itd) i różne inne (np. vsync) to tylko większe lub mniejsze ustawienia sterownika (czy jak to nazwać w sumie - implementacji OGL czy DX). Sama gra ma chyba niewiele z tym wspólnego. Nie wiem, czy program gry może w jakiś sposób "podpowiadać" na temat tego filtrowania, co może wymuszałoby jakieś dodatkowe kodowanie. Nie wiem jak tam AMD, ale w ustawieniach sterownika GPU Nvidii mogę wyłączyć lub włączyć całą masę takich opcji dla każdej aplikacji.

To co powinno dać się ustawić to różnego rodzaju poziomy szczegółowości - tekstur, oświetlenia, modeli itd. To z pewnością wiąże się z dodatkowym kodowaniem.

0

Nie wiem, czy program gry może w jakiś sposób "podpowiadać" na temat tego filtrowania, co może wymuszałoby jakieś dodatkowe kodowanie
Program może podpowiadać jakiego ma użyć filtrowania, AA, itp., i jest to linijka czy dwie więcej kodu¹ /i dwadzieścia na dodanie opcji do menu ;)/

Jestem przeciw ograniczaniu opcji do zera. Ale nie spotkałem się z takim drastycznym przypadkiem. Pewnie dlatego, że nie gram w nic nowego. No, może World of Tanks raz na miesiąc, ale tam opcje są. Choć akurat tam opcje mam na maksa (prawie).

¹) OK, niezupełnie. W OpenGL pod Windows, jeśli korzystamy z fixed-function, trzeba otworzyć okno, zainicjować kontekst na domyślnych ustawieniach, pobrać z systemu wskaźnik do funkcji odpowiedzialnej za konfigurację AA, zniszczyć okno, otworzyć nowe okno i zainicjować kontekst z docelowymi ustawieniami. Ale jeśli korzystamy z shaderów to i tak trzeba przechodzić przez tę katorgę, więc jest mniejszy dodatkowy nakład pracy.

0

A właśnie nie do końca.

Przez tzw deferred rendering (czy tam deferred shading) nadpróbkowanie robi się zupełnie innym sposobem niż tradycyjnie. Zależnie od implementacji, to programowe AA może być wspawane w silnik. DX10 (lub DX10.1 nie pamiętam dokładnie) daje możliwość łączenia deferred rendering ze sprzętowym nadpróbkowaniem, ale sporo gier dzisiaj dalej jest tworzona pod DX9, z prostego powodu: DX10+ nie są dostępne na WinXP.

Vsync wbudowany w sterowniki to najprostszy tryb Vsynca i działa on średnio. Np na konsolach, jeśli konsola większość czasu generuje dużo poniżej 60 klatek to ustawia się blokadę na 30 klatek. Podobno wtedy płynność jest lepsza niż przy zmiennym FPS pomiędzy np 35 a 50 FPS. Niektóre gry działają jeszcze inaczej, np Rage od id Software działa tak, że jakość obrazu jest dostosowywana tak, by utrzymać stałe 60 FPSów.

Z wymuszeniem AF z poziomu sterownika chyba nie powinno być problemów.

0

Z Vsync to jest tak, że lepiej go ustawić, jeśli gra działa nam na powyżej 75 klatek na sekundę. Większość monitorów i tak tego nie wygeneruje (60 - 75 klatek to standard), a jeśli gra wyrzuca dużą ilość klatek nadprogramowo (np. 150) to może to powodować przemęczenie karty graficznej.

Ograniczenia co do opcji mają różne powody:

  • Producent chce jak najszybciej ukończyć grę, bo dziś na rynku liczy się szybkość.
  • Producent chce by jego gra wyglądała jak najlepiej i była tylko w taki sposób prezentowana.
  • Kwestia kompatybilności z różnym sprzętem. Najlepiej po prostu dać opcje, które będą działać pewnie i niezawodnie.
  • Dostosowanie się do najnowszych kart i robienie gry bezpośrednio pod nie. lepiej zrobić grę dobrze działającą na najpopularniejsze karty niż grę uniwersalną, ale sypiącą problemami.

Zauważ, że teraz gry często mają dziwne problemy z grafiką. Czasami pojawiają się artefakty, czasami tekstury wyglądają dziwnie, czasami coś się nie doczytuje itd itd.
Kiedyś tego nie było, bo nie było tylu odmian kart graficznych.

0

Teraz gry projektują ludzie od marketingu i to oni mówią co ma być w grze i przede wszystkim kiedy ona ma się ukazać. Dodatkowe opcje to dodatkowy czas i pieniądze. Programista nie ma tu nic do gadania, robi co mu każą.

0

Producent chce by jego gra wyglądała jak najlepiej i była tylko w taki sposób prezentowana.
zuo!

Kwestia kompatybilności z różnym sprzętem. Najlepiej po prostu dać opcje, które będą działać pewnie i niezawodnie.
Przecież wycięcie opcji ogranicza kompatybilność, do samych najnowszych kart...

0

No własnie. Ogranicza tylko do małego spectrum, które można doszlifować w takim stopniu aby było jak najmniej błędów.

1 użytkowników online, w tym zalogowanych: 0, gości: 1