Ponieważ pracuję samotnie nad rozwojem, mam tylko ograniczone zasoby, tj. Jeden komputer, na którym rozwijam i testuję grę. więc wiem tylko na pewno, że moja gra działa z tą konfiguracją.
Jakie mam opcje testowania gry na wielu różnych kombinacjach sprzętu / systemu operacyjnego? Jest to gra komputerowa z systemem Windows.
hardware
requirements
testing
Crippeoblade
źródło
źródło
Odpowiedzi:
Z mojej głowy sugerowałbym próbę uruchomienia gry na kilku innych komputerach PC od znajomych lub krewnych. Następnie możesz rozważyć jakąś formę beta testów, np. Opublikowanie wersji demonstracyjnej lub czegoś takiego, aby uzyskać opinie społeczności.
źródło
Jednym z moich ulubionych sposobów na znalezienie tych informacji jest użycie maszyn wirtualnych.
Biorąc pod uwagę, jak można skonfigurować sprzęt i pamięć, na podstawie których dozwolona jest maszyna wirtualna, możesz przetestować szeroki zakres ustawień na własnym komputerze. Pozwala to również na testowanie w wielu systemach operacyjnych.
źródło
Powinieneś mieć jakieś ogólne pojęcie o minspecie, po prostu rozwijając swoją grę - na przykład, jeśli zdecydowałeś się na użycie D3D10 +, oczywiście wybierasz maszyny XP. To jest miejsce na początek.
Znajdź sposób przetestowania na jak największej liczbie komputerów, najlepiej po wdrożeniu jakiegoś sposobu automatycznego gromadzenia wskaźników wydajności (ponieważ użytkownicy mogą być niewiarygodni), a także niemożliwych do zidentyfikowania informacji o komputerze, na którym działa gra (procesor (y), liczba rdzeni, typ GPU, pamięć RAM, system operacyjny itp. - spójrz na rodzaj danych gromadzonych przez ankietę dotyczącą sprzętu i oprogramowania Steam ). Jednym z najlepszych sposobów na to jest oddanie gry znajomym i rodzinie, jak już wielokrotnie sugerowano. Innym sposobem może być skontaktowanie się ze społecznością twórców gier hobbystycznych i sprawdzenie, czy są zainteresowani testowaniem Twojej gry. Nie jestem pewien, czy coś takiego byłoby właściwym pytaniem tutaj na GDSE, ale prawdopodobnie możesz znaleźć kilka osób w obszarze „czatu”, a także możesz rozejrzeć się / opublikować na stronach internetowych takich jak:
Wszystkie te witryny mają fora lub pod-fora poświęcone w jakiś sposób prezentacji gier, więc możesz uzyskać od nich dość dobrą odpowiedź. Chciałbym ujawnić z góry wszelkie statystyki gromadzone i / lub wysyłane przez grę oraz powód ich gromadzenia. Ludzie mogą się tym denerwować, jeśli odkryją to po fakcie.
Zauważ, że ankieta Steam jest również przydatnym narzędziem do oceny, co powinno być minspec - może pomóc ci zobaczyć, jaki może być stosunek kosztów do korzyści związanych z obsługą określonej funkcji lub klasy sprzętu.
źródło
Sprawdź:
- ile pamięci RAM zużywa
- ile tekstury + pamięci GPGPU używa
- minimalną liczbę klatek / aktualną liczbę klatek na sekundę * szybkość procesora * SpeedUpFactorOf (minimalna liczba rdzeni, którą można użyć)
- podobne równanie dla jednostek obliczeniowych GPU
- jaki poziom opengl / directx / cuda twój silnik gry wymaga od karty graficznej
- ile miejsca na dysku zajmuje instalacja + informacje o użytkowniku ...
Testuj także na różnych konfiguracjach sprzętowych.
źródło
Zasadniczo chcesz przetestować na jak największej liczbie innych komputerów - od twardego sprzętu do gier znajomego po maszynę do grantu tylko do obsługi poczty elektronicznej i Internetu. Szczególnie twoja maszyna do grania tylko do e-maili i Internetu, ponieważ prawdopodobnie jest pełna cruftware i innych rzeczy, które przeszkadzają i spowalniają twoją grę.
Testowanie kompatybilności z komputerem to paskudna puszka robaków i istnieje powód, dla którego profesjonalne testowanie jest drogie. Chcesz więc przetestować jak najwięcej różnych nieparzystych scenariuszy.
Wydaje mi się, że można przejść do testów beta, zarówno z przyjaciółmi, rodziną, jak i szerszym kręgiem w społeczności fanów. Kluczowa rzecz - nie polegaj na anegdotycznych raportach. Na twoich znajomych można polegać, że faktycznie odpowiedzą, ale szersza społeczność nie zrobi tego, chyba że im to ułatwisz.
Zbuduj logowanie do swojej aplikacji, aby podawać twarde fakty na temat FPS, czasu uruchamiania itp. Daj użytkownikowi łatwy kwestionariusz, najlepiej wbudowany w grę, w którym mogą zgłaszać, czy gra była w porządku. Miej te statystyki i dane logowania łatwo przesyłane do Ciebie / przesyłane pocztą e-mail, abyś mógł się później zastanowić. Im więcej statystyk otrzymasz, tym lepiej możesz poczuć, czy twój tytuł to: a) działający w ogóle na innych systemach ib) działający dobrze na innych systemach.
źródło
Przetestuj na jak największej liczbie komputerów (pomoże to również wykryć wszystkie określone błędy). Jako programista powinieneś znać swoje główne wąskie gardła - skup się na ich podkreślaniu. Możesz poprosić znajomych, współpracowników w pracy, dziewczynę, rodziców, wiele osób na forach.
PS Tylko w celach informacyjnych:
źródło
Jeśli chodzi o wymagania, założę minimalne wymagania wymagane do uruchomienia gry. Będzie to zależeć od technologii używanych do tworzenia gier.
Na przykład, jeśli używasz określonych interfejsów API, takich jak D3D9 lub OpenGL 3.0, musisz to określić, ponieważ niektóre interfejsy API nie są kompatybilne w dół.
Jeśli budujesz w systemie Windows ze środowiskiem .net, musisz również to sprecyzować.
Jeśli chodzi o wymagania dotyczące wydajności, wypróbowanie na różnych komputerach jest najlepszym rozwiązaniem, chociaż możesz być w stanie zmierzyć powiązaną wydajność za pomocą obliczeń.
na przykład, jeśli twoja obecna karta graficzna działa z prędkością 60 fps, a inny komputer o podobnej konfiguracji, z tą różnicą, że twoja karta graficzna ma o połowę mniejszą prędkość, powinien działać o około połowę mniejszej prędkości twojego komputera. Ponownie, jest to tylko szacunek, wiele innych właściwości wpłynie inaczej na wydajność, ale możesz użyć tych podstawowych informacji do przetestowania gry na docelowych urządzeniach.
Mam nadzieję, że to pomoże, a każdy może mnie poprawić z dowolnego powodu.
źródło
W zależności od rynku docelowego (zakładam, że nie jest to najnowocześniejszy model 3D, tzn. Potrzebne są drogie karty graficzne), przyjrzałbym się wyborowi starszych kart graficznych z miejsca takiego jak EBay, abyś mógł przetestować zarówno NVidię, jak i ATi karty
źródło
Zawsze jest idealnie, otrzymuj informacje zwrotne od społeczności, jak wspomniano. Ale skąd wziąć społeczność i ludzi, którzy spróbują to przetestować? Umieszczenie go na niektórych forach gier niezależnych pomoże, ale problemem będzie uzyskanie rzeczywistej opinii.
Tylko kilka procent osób, które przetestują grę, napisze dokładną konfigurację i napotkane problemy. Ludzie po prostu tego nie robią. Znacznie lepszym sposobem jest umożliwienie pewnego rodzaju testu porównawczego podczas odczytu konfiguracji systemu użytkownika. Poproś użytkownika o uruchomienie testu porównawczego za pomocą jednego przycisku. Podaj kilka liczb i czasów (tak, ludzie to lubią :-)) i pozwól mu porównać z innymi użytkownikami (z wysyłaniem danych) ... Pomoże.
A potem masz bazę danych pełną konfiguracji, rozdzielczości ekranu, czasów renderowania i nieudanych funkcji ...
Jeśli korzystasz z systemu Windows, wywołanie DXdiag pomoże ci odczytać konfigurację użytkowników. Istnieją jednak programy, których można używać w innych systemach.
źródło
Jak wspomnieli inni, najlepszym sposobem jest udostępnienie wersji beta i zebranie opinii społeczności w celu uzyskania wiarygodnych wyników.
Chciałbym również zasugerować użycie ESXi. To rozwiązanie maszyny wirtualnej VMWare. Nie zniechęcaj się, ponieważ jest to rozwiązanie VM. ESX jest o wiele bardziej niskim poziomem.
Prawdopodobnie byłoby to dla Ciebie idealne, ponieważ masz jedną maszynę. Możesz testować różne systemy operacyjne, konfiguracje sprzętowe (bez sprzętu graficznego, ESXi użyje tego, co zainstalowałeś na swoim komputerze).
Jest to w zasadzie bardzo uproszczony system operacyjny, na którym można zainstalować inne systemy operacyjne. Używamy go w pracy w celu zapewnienia zgodności wielu systemów operacyjnych. Jest bardzo szybki i niezawodny, prawie tak responsywny jak maszyna waniliowa.
Wiem, że szukasz wymagań sprzętowych, a ESXi ma bardzo fajną funkcję, w której możesz ograniczyć ilość pamięci RAM, procesora lub miejsca na dysku przez system operacyjny i potencjalnie emulować, jak gra działa na niskim poziomie koniec procesora lub małej ilości pamięci, aby uzyskać najwyższą wydajność procesora lub pamięci (ograniczona przez rzeczywisty sprzęt).
Więc jeśli masz komputer o dość wysokiej specyfikacji, możesz na nim zainstalować ESXi, zainstalować dowolne systemy operacyjne i bawić się procesorem i zużyciem pamięci (uważam, że możesz nawet zmienić liczbę rdzeni używanych przez system operacyjny!)
Oto link do niego: http://www.vmware.com/products/vsphere-hypervisor/index.html
Najlepsza rzecz w tym? Jest w 100% darmowy!
źródło
Uruchomienie jakiegoś narzędzia do profilowania byłoby jednym ze sposobów. W przypadku programów Java można użyć VisualVM ( https://visualvm.github.io/ ). Wikipedia wymienia kilka innych. Zobacz: https://en.wikipedia.org/wiki/List_of_performance_analysis_tools . To samo dotyczy debugowania pamięci. Zobacz: https://en.wikipedia.org/wiki/Memory_debugger
Zasadniczo sprowadza się to do sprawdzania zużycia pamięci i procesora w regularnych odstępach czasu podczas uruchamiania programu / grania w grę. Następnie obliczasz jakiś średni zakres i właśnie tego potrzebuje on przez większość czasu. Idealnie byłoby to zautomatyzowane (dla spójności i dokładności) i chciałbyś wykluczyć ilość zasobów zużywanych, współdzielonych lub wykorzystywanych przez inne procesy. Nie mogą być pewne kwestie priorytetowe ukrywanie faktu, że program może używać więcej pamięci, jeśli jest on dostępny. To znaczy, jeśli system operacyjny był bardzo zajęty, twój program może założyć trochę z braku wystarczającej ilości pamięci.
Ostatecznie musisz przetestować / przeprowadzić test / profil, a następnie przeanalizować te testy. Dobrze jest mieć wstępnie zdefiniowane wskaźniki wydajności do porównania. Np. W FPS możesz chcieć 30+ FPS dla grywalnej / przyjemnej gry. Na tej podstawie ustawiasz minimalny pasek na / powyżej specyfikacji sprzętowej potrzebnej do osiągnięcia tego 30+ FPS przez pewien procent czasu (zawsze możliwe jest, aby użytkownik działał zbyt dużo naraz i powodował awarie i zawieszanie się).
Jak powiedzieli inni, naprawdę potrzebujesz innych ludzi do przetestowania go na różnych urządzeniach. W idealnym świecie miałbyś grupę grup z podobnym sprzętem w obrębie grupy i przeprowadzałbyś pewien rodzaj kontroli w porównaniu z testowaniem eksperymentalnym, aby sprawdzić, czy więcej / mniej pamięci, procesora, GPU ma znaczenie, gdy pozostałe czynniki były utrzymywane na stałym poziomie.
źródło