Czy niezależni twórcy gier powinni atakować starszy sprzęt?

25

Deweloper, z którym współpracuję, mówi mi, że niezależni programiści powinni atakować sprzęt, który ma około sześciu lub więcej lat (przy maksymalnych ustawieniach). Rozumiem, że należy pozwolić każdemu, kto chce zagrać w swoją grę, w rozgrywkę z możliwą do uruchomienia liczbą klatek na sekundę, bez względu na to, ile lat ma ich sprzęt, ale czy twórcy niezależni powinni ograniczyć się do używania stylu low-poly lub tworzyć gry mając na uwadze starszy sprzęt, głównie dlatego, że „większość osób grających w gry niezależne ma stary sprzęt?”

Czy jest jakiś powód, aby pozwolić na uruchamianie gry przy maksymalnych ustawieniach dla bardzo starego sprzętu, nawet jeśli zmniejszyłoby to możliwości graficzne dla osób z nowszym sprzętem?

Czy są jakieś statystyki, które pokazują, że gry, które z łatwością osiągają górne limity graficzne na starszym sprzęcie, odnoszą większe sukcesy niż gry, które podnoszą swoje górne limity graficzne wyżej, kosztem „mniej niż najlepszego” doświadczenia dla graczy na starszym sprzęcie ?

Wszelkie informacje na ten temat będą bardzo mile widziane.

l'-
źródło
12
Zależy to od rynku docelowego
Vaughan Hilts,
1
Powinieneś również pomyśleć o słabym, ale nowym sprzęcie oprócz starego: tablety / netbooki. Tryb niskiej jakości może być kierowany na obie grupy i być może być także przenoszony na telefony. I pamiętaj, że nawet gry o niskiej rozdzielczości mogą być wolne, jeśli kod jest wolny (na przykład PC Minecraft). Kod nigdy nie jest zbyt szybki;)
PTwr
@PTwr Pamiętasz gry na PC-AT i podobne bez synchronizacji? Szybko się to na nowszym sprzęcie: D
Luaan
1
Mój komputer ma 8 lat. Jedynym ulepszeniem, jakie widział, było dodanie dysku SSD 40 GB 4 lata temu. Nadal gram dobrze WoW. DayZ działa w rozdzielczości 1080p przy włączonej większości ustawień. Mam kilka modów graficznych dla Skyrim i nadal działa ~ 40-50 FPS przy 1080p. Naprawdę wszystko to oznacza w tym miejscu, że twoja niezależna gra nie powinna mieć gorszych wyników niż współczesne gry AAA.
1
Podejrzewam, że „większość osób grających w gry niezależne ma stary sprzęt” to najłatwiejsze do obalenia twierdzenie twojego kolegi. Tak czy inaczej, jest to decyzja biznesowa dla programisty i nic więcej: kodowanie starszego / wolniejszego sprzętu jest często trudniejsze i dlatego będzie kosztować więcej. Powiedziałbym, że wypowiedź twojego kolegi należy do tej samej kategorii co „wszystkie strony powinny działać na IE6”. To fajny pomysł, ale nie często praktyczny i często kosztowny w realizacji.
Dan Puzey,

Odpowiedzi:

21

W tej erze stary sprzęt stał się niewłaściwy. Stary sprzęt nie jest koniecznie wolny. 6 lat ma rok 2009, a DirectX11 już istniał. Wciąż nie mamy dziś dużo nowszych.

Musisz wziąć pod uwagę dwie rzeczy:

  • cechy
  • moc

cechy

Jest to poziom instrukcji obsługiwanych przez sprzęt, DirectX9,10,11 lub OpenGL coś (zależy to od sterowników). I zestaw instrukcji procesora: SSE4, AVX ..

Jest to największy ból głowy zwykle w fazie rozwoju, skalowalność w obliczu tych problemów jest trudniejsza niż skalowalność w obliczu mocy. DirectX9 miał coś zwanego techniquew .fxplikach, aby się wycofać, dla obu punktów. Ale do instrukcji procesora potrzebujesz wielu plików wykonywalnych lub dużych sekcji rozgałęziających w swoim programie. Lub nie używaj ich.
Na szczęście dzisiaj nawet 6 lat to krótki okres i będziesz mieć dostęp do wszystkiego, czego potrzebujesz, nawet na „starym” sprzęcie.

moc

To jest punkt, który powinien być skalowany na dzisiejszej maszynie, a nie na maszynie starszej generacji. High end 2009 potencjalnie wyposażony jest w GeForce GTX280, jest to bardzo potężny i znacznie potężniejszy niż twój niskiej klasy AMD A6-3650 APU czy coś takiego.

Trzeba zrozumieć gigantyczną lukę w wydajności między niskim i wysokim poziomem dzisiejszej maszyny. Ponieważ znacznie przewyższa lukę w wydajności twoich 6-letnich maszyn z najwyższej półki.

Więc nie jest to rozważenie rynku w odniesieniu do odnowienia, to rozważenie rynku w odniesieniu do pierwotnego budżetu zakupu. A jeśli chcesz kierować reklamy na dzisiejsze laptopy lub komputery stacjonarne z niższej półki, będziesz musiał skalować i tak znacznie więcej, niż myślisz.

Staraj się dbać o rozdzielczość, współczynnik wypełnienia pikseli i przepustowość pamięci grafiki. Grasz na tych czynnikach dzięki liczbie przejść ekranu, szerokości Gbuffera, jeśli masz odroczone cieniowanie (bardzo kosztowne na niskich komputerach), rozdzielczości twoich tekstur i ich ilości na ekranie w danym momencie t .. Bogactwo wielokątów nie będzie stanowiło problemu, chyba że celujesz w sprzęt z 2002 roku. Złożoność modułu cieniującego ALU / FPU również nie będzie stanowić problemu, chyba że celujesz w sprzęt 2005/2006.

v.oddou
źródło
4
Należy jednak pamiętać, że docelowa grupa demograficzna, która kupuje wysokiej klasy karty wideo, takie jak GTX280, jest wystarczająco bogata, aby od tego czasu kupić nową kartę. Ludzie, którzy nadal korzystają z karty wideo z 2009 roku, prawdopodobnie wtedy kupili model budżetowy.
MSalters
3
Nie zapominaj również, że twoja intensywna gra niezależna może nie być dostępna przez rok lub dwa, więc możesz kierować reklamy na jeszcze mniej stary sprzęt.
Valmond
10

Nie pamiętam, gdzie po raz pierwszy to usłyszałem, ale jest to stara zasada, która nie wytrzymuje wielu krytycznych myśli. Rzeczywiście sprowadza się to do celów biznesowych. Jeśli nie planujesz sprzedawać gry, nie ma to znaczenia.

Faktem jest, że im więcej sprzętu można obsłużyć, tym większy jest potencjalny rynek. Jednak większość niezależnych programistów i tak nie będzie dysponować zasobami do obsługi sprzętu w pobliżu najnowocześniejszego sprzętu, ponieważ aby skorzystać z tego sprzętu, będzie musiał wydać sporo na treści . Każdy niezależny programista, który musi się tym martwić, zwykle ma zasoby, aby dowiedzieć się, na które specyfikacje systemu muszą być kierowane, i jest to prawdopodobnie informacja, którą możesz kupić. Na przykład Steam zbiera te statystyki i prawdopodobnie odsprzedaje je programistom.

jzx
źródło
3
Założyłem tutaj konto tylko po to, by komentować: Czy Steam nie udostępnia tych informacji swobodnie wszystkim?
Żal
@Regret jzx prawdopodobnie odnosi się do bardziej ukierunkowanej, a zatem wąskiej, grupy demograficznej. Surowe statystyki są prawdopodobnie wypaczone przez systemy pomocnicze, niezależne gry itp. Steam prawdopodobnie sprzedaje pakiety informacyjne deweloperom, którzy chcą sprawdzić sprzęt docelowej wersji demo.
Lilienthal,
Wyobrażam sobie, że dostarczyliby to za darmo, jeśli korzystasz z platformy Steamworks. Będziesz miał dostęp do tych danych, jeśli wydasz grę przez Greenlight.
Topperfalkon
2

Zasadą jest, że im większa różnorodność sprzętu, na którym będzie działać dowolny program, tym więcej możliwości będziesz musiał sprzedać. To, ile różnorodności możesz wesprzeć, zależy w dużej mierze od gry. Gra taka jak Dwarf Fortress może być łatwo skalowalna, zarówno pod względem wymagań przetwarzania, jak i grafiki. FPS z realistyczną fizyką, jak Amnesia, nie tyle. Proponuję napisać grę, aby można ją było uruchomić na jak najszerszym zakresie sprzętu i nadal zapewniać dobre wrażenia. Nie musisz od razu obsługiwać go od razu, ale możliwość łatwej rekonfiguracji go pod kątem nowszego / starszego / po prostu innego sprzętu z łatwością przyniesie dywidendy wraz ze wzrostem grona fanów i postępem technologii.

Istnieją dwie rzeczy, które znacznie ułatwią ci życie, jeśli chodzi o uruchamianie gry na szerokiej gamie urządzeń, i mają one niewiele wspólnego z wiekiem sprzętu, na który celujesz (przynajmniej bezpośrednio):

1) Jeśli to możliwe, podziel backend od frontendu. Jeśli część, która robi matematykę na temat tego, co robią, co ma dobrze zdefiniowany interfejs do przekazywania tych informacji do części, która wyświetla je na ekranie i pobiera dane od użytkowników, możesz łatwiej je dostosować (zwykle frontend ) na nowy sprzęt bez konieczności bałagania się na drugim. Jeśli napisane w ten sposób, można uzyskać wiele rodzajów gier, od najwyższej klasy grafiki 3D, przez animowane duszki na stronie internetowej, po znaki tekstowe w formacie ASCII. W tym momencie możesz wybrać, które chcesz wdrożyć w zależności od tego, kto według ciebie kupi teraz grę. Możesz też rozszerzyć się na nowe schematy produkcji, gdy ludzie wykażą zainteresowanie - bez konieczności mieszania się z rdzeniem gry.

2) W miarę możliwości napisz kod przenośny. W zależności od konkretnego zachowania DirectX 9.3c lub cokolwiek, co może pozwolić ci to zrobić szybciej, ale kiedy zdasz sobie sprawę, że powinieneś wypuścić wersję dla Androida, będziesz musiał przerobić dużo pracy. Wybór bibliotek i języków, które nie są zależne od jednego dostawcy i które są zgodne z otwartymi i dobrze zdefiniowanymi standardami, poważnie zmniejszy obciążenie pracą na dłuższą metę. Pamiętaj: pisanie programu jest zwykle niewielką częścią pracy w porównaniu do utrzymania programu. (Chyba że wybierasz model biznesowy „planowanego starzenia się”, ale na dłuższą metę raczej nie zyskasz dużej rzeszy fanów).

Perkins
źródło