Wenn ich es alleine entwickle, stehen mir nur begrenzte Ressourcen zur Verfügung, dh ein PC, mit dem ich das Spiel entwickle und teste. Daher weiß ich nur mit Sicherheit, dass mein Spiel mit diesem Setup funktioniert.
Welche Möglichkeiten habe ich, um das Spiel auf den vielen verschiedenen Hardware- / Betriebssystemkombinationen zu testen? Es ist ein Windows-Desktop-Spiel.
hardware
requirements
testing
Crippeoblade
quelle
quelle
Antworten:
Ich schlage vor, das Spiel auf ein paar anderen PCs von Freunden oder Verwandten laufen zu lassen. Danach möchten Sie möglicherweise eine Form von Betatest in Betracht ziehen, z. B. die Veröffentlichung einer Demo oder Ähnlichem, damit Sie Community-Feedback erhalten.
quelle
Eine meiner Lieblingsmethoden, um diese Informationen zu finden, ist die Verwendung virtueller Maschinen.
Anhand der Konfiguration der Hardware und des Arbeitsspeichers, die für die VM zulässig sind, können Sie eine Vielzahl von Setups auf Ihrem eigenen PC testen. Auf diese Weise können Sie auch unter mehreren Betriebssystemen testen.
quelle
Sie sollten sich eine ungefähre Vorstellung von der Minspec machen, indem Sie Ihr Spiel entwickeln. Wenn Sie sich beispielsweise explizit für D3D10 + entschieden haben, werden Sie offensichtlich XP-Computer ausmerzen. Das ist also ein Anfang.
Finden Sie einen Weg, um auf so vielen Maschinen wie möglich zu testen, idealerweise nachdem Sie eine Möglichkeit implementiert haben, um Leistungsmetriken automatisch zu erfassen (da Benutzer möglicherweise unzuverlässig sind) sowie nicht identifizierbare Informationen über die Maschine, auf der das Spiel ausgeführt wird (Prozessoren). Kernanzahl, GPU-Typ, RAM, Betriebssystem usw. - werfen Sie einen Blick auf die Art der Daten, die die Steam-Umfrage zu Hardware und Software erfasst . Eine der besten Möglichkeiten, dies zu tun, besteht darin, das Spiel Freunden und der Familie zu geben, wie dies bereits oft vorgeschlagen wurde. Eine andere Möglichkeit könnte darin bestehen, sich an eine Community von Entwicklern von Hobbyspielen zu wenden und zu prüfen, ob sie daran interessiert sind, Ihr Spiel zu testen. Ich bin mir nicht sicher, ob so etwas eine angemessene Frage wäre hier auf GDSE, aber Sie könnten wahrscheinlich ein paar Leute im 'Chat'-Bereich finden und Sie könnten sich auch umsehen / auf Websites posten wie:
Auf all diesen Websites gibt es Foren oder Unterforen, die in irgendeiner Weise dazu dienen, Spiele vorzuführen, sodass Sie möglicherweise eine einigermaßen gute Resonanz erzielen. Ich würde sicherstellen, dass Sie im Voraus alle Statistiken veröffentlichen, die Ihr Spiel sammelt und / oder Ihnen sendet, und warum Sie sie sammeln. Die Leute können sich darüber ärgern, wenn sie es später entdecken.
Beachten Sie, dass die Steam-Umfrage auch für sich genommen ein nützliches Tool ist, um zu beurteilen, wie eine Minispezifikation aussehen sollte. Sie kann Ihnen dabei helfen, das Kosten-Nutzen-Verhältnis für die Unterstützung einer bestimmten Funktion oder Hardwareklasse zu ermitteln.
quelle
Überprüfen Sie:
- Wie viel RAM wird verwendet ?
- Wie viel Textur + GPGPU-Speicher werden verwendet
? - Minimale Bildrate / Aktuelle Bildrate * CPU-Geschwindigkeit * SpeedUpFactorOf (minimale Anzahl von Kernen, die Sie verwenden können)
- Ähnliche Gleichung für GPU-Berechnungseinheiten
- Welche Ebene von opengl / directx / cuda, das Ihre Game-Engine vom Grafikadapter benötigt
- wie viel Speicherplatz die Installation + Benutzerinformationen in Anspruch nehmen ...
Testen Sie auch verschiedene Hardwarekonfigurationen.
quelle
Grundsätzlich möchten Sie auf so vielen anderen Computern wie möglich testen - vom Hardcore-Gaming-Rig Ihres Freundes bis zum E-Mail- und Internet-Gerät Ihrer Oma. Besonders der E-Mail- und Internet-Computer Ihrer Oma, da er wahrscheinlich mit Cruftware und anderen Dingen gefüllt ist, die Ihr Spiel stören und das Crawling verlangsamen.
Das Testen der PC-Kompatibilität ist eine fiese Dose Würmer, und es gibt einen Grund, warum professionelles Testen teuer ist. Sie möchten also so viele verschiedene Szenarien wie möglich testen.
Beta-Tests sind meiner Meinung nach der richtige Weg, sowohl mit Freunden als auch mit der Familie und einem größeren Kreis in Ihrer Fan-Community. Wichtig: Verlassen Sie sich nicht auf Einzelberichte. Ihre Freunde können sich darauf verlassen, dass sie tatsächlich antworten, die breitere Community jedoch nicht, es sei denn, Sie machen es ihnen einfach.
Integrieren Sie die Protokollierung in Ihre App, um wichtige Informationen zu FPS, Startzeit usw. zu erhalten. Geben Sie dem Benutzer einen einfachen Fragebogen, der idealerweise in das Spiel integriert ist, und geben Sie ihm an, ob das Spiel in Ordnung war oder nicht. Und lassen Sie diese Statistiken und die Protokollierung einfach per E-Mail an Sie zurücksenden, damit Sie später darüber nachdenken können. Je mehr Statistiken Sie zurückerhalten, desto besser können Sie ein Gefühl dafür haben, ob Ihr Titel a) überhaupt auf anderen Systemen funktioniert und b) auf anderen Systemen gut funktioniert.
quelle
Testen Sie auf so vielen PCs wie möglich (das hilft Ihnen auch, alle spezifischen Fehler zu finden). Als Entwickler sollten Sie Ihre wichtigsten Engpässe kennen - konzentrieren Sie sich darauf, diese zu betonen. Sie können Ihre Freunde, Kollegen bei der Arbeit, Freundin, Eltern, viele Leute in Foren fragen.
PS nur als Referenz:
quelle
Für die Anforderungen würde ich minimale Dinge voraussetzen, die zum Ausführen des Spiels erforderlich sind. Es hängt davon ab, mit welchen Technologien Sie Ihre Spiele entwickeln.
Wenn Sie beispielsweise bestimmte APIs wie D3D9 oder OpenGL 3.0 verwenden, müssen Sie dies angeben, da bestimmte APIs nicht abwärtskompatibel sind.
Wenn Sie mit Windows mit .NET Framework arbeiten, müssen Sie dies ebenfalls festlegen.
In Bezug auf die Leistungsanforderungen ist der Versuch auf verschiedenen Computern der beste Weg, obwohl Sie die zugehörige Leistung möglicherweise durch Berechnung messen können.
Wenn Ihre aktuelle Grafikkarte beispielsweise mit 60 fps läuft und ein anderer Computer mit ähnlicher Konfiguration, mit Ausnahme der halben Geschwindigkeit Ihrer Grafikkarte, ungefähr die halbe Geschwindigkeit Ihres Computers ausführen sollte. Auch dies ist nur eine Schätzung. Viele andere Eigenschaften wirken sich unterschiedlich auf die Leistung aus. Sie können diese Basisinformationen jedoch verwenden, um Ihr Spiel auf Zielgeräten zu testen.
Hoffe das hilft und jeder kann mich aus irgendwelchen Gründen korrigieren.
quelle
Abhängig von Ihrem Zielmarkt (ich nehme an, es werden keine hochmodernen 3D-Grafikkarten benötigt) würde ich versuchen, eine Auswahl älterer Grafikkarten von irgendwoher wie EBay zu kaufen, damit Sie sowohl mit NVidia als auch mit ATi testen können Karten.
quelle
Wie bereits erwähnt, ist es immer perfekt, Feedback von der Community zu erhalten. Aber woher kommt die Community und die Leute, die versuchen werden, es zu testen? Das Posten in einigen Indie-Games-Foren wird helfen, aber das Problem wird darin bestehen, tatsächliches Feedback zu erhalten.
Nur wenige Prozent der Leute, die ein Spiel testen, schreiben Ihnen die genaue Konfiguration und die aufgetretenen Probleme. Leute machen das einfach nicht. Viel besser ist es, eine Art Benchmark beim Lesen der Systemkonfiguration des Benutzers zu ermöglichen. Bitten Sie den Benutzer, einen One-Button-Benchmark auszuführen. Gib ein paar Zahlen und Zeiten an (ja Leute mögen es :-)) und lass ihn mit anderen Nutzern vergleichen (mit dem Senden von Daten) ... Es wird helfen.
Und dann haben Sie eine Datenbank voller Konfigurationen, Bildschirmauflösungen, Renderzeiten und ausgefallenen Funktionen ...
Wenn Sie unter Windows arbeiten, hilft Ihnen der Aufruf von DXdiag beim Lesen der Benutzerkonfiguration. Es gibt jedoch einige Programme, die Sie auf anderen Systemen verwenden können.
quelle
Wie bereits von anderen erwähnt, ist der beste Weg, eine Beta-Version herauszubringen und Community-Feedback einzuholen, um verlässliche Ergebnisse zu erzielen.
Ich möchte auch die Verwendung von ESXi vorschlagen. Es ist eine Virtual Machine-Lösung von VMWare. Lassen Sie sich nicht abschrecken, da es sich um eine VM-Lösung handelt. ESX ist viel niedriger.
Dies wäre wahrscheinlich ideal für Sie, da Sie eine Maschine haben. Sie können verschiedene Betriebssysteme und Hardware-Setups testen (abgesehen von der Grafikhardware würde ESXi alles verwenden, was Sie auf Ihrem Computer installiert haben).
Es ist im Grunde genommen ein sehr abgespecktes Betriebssystem, auf dem Sie andere Betriebssysteme installieren können. Wir verwenden es bei der Arbeit, um die Kompatibilität mit vielen Betriebssystemen zu gewährleisten. Es ist sehr schnell und zuverlässig, fast so reaktionsschnell wie eine Vanille-Maschine.
Ich weiß, dass Sie nach Hardwareanforderungen suchen, und ESXi hat eine sehr nette Funktion, mit der Sie die Menge an RAM, CPU oder Festplattenspeicher durch das Betriebssystem begrenzen und möglicherweise emulieren können, wie Ihr Spiel auf einem niedrigen Niveau laufen würde Ende der CPU oder wenig Arbeitsspeicher, um die CPU oder den Arbeitsspeicher der obersten Ebene zu nutzen (begrenzt durch Ihre tatsächliche Hardware).
Wenn Sie also einen hochklassigen PC hätten, könnten Sie ESXi darauf installieren, die gewünschten Betriebssysteme installieren und mit der CPU- und Speichernutzung experimentieren (ich glaube, Sie können sogar die Anzahl der vom Betriebssystem verwendeten Kerne ändern!).
Hier ist ein Link dazu: http://www.vmware.com/products/vsphere-hypervisor/index.html
Das Beste daran? Es ist 100% kostenlos!
quelle
Das Ausführen einer Art Profilerstellungstool wäre eine Möglichkeit. Für Java-Programme können Sie VisualVM ( https://visualvm.github.io/ ) verwenden. Wikipedia listet einige andere auf. Siehe: https://en.wikipedia.org/wiki/List_of_performance_analysis_tools . Gleiches gilt für das Debuggen des Speichers. Siehe: https://en.wikipedia.org/wiki/Memory_debugger
Im Grunde bedeutet dies, dass Sie Ihren Arbeitsspeicher und die CPU-Auslastung in regelmäßigen Abständen überprüfen müssen, während Sie das Programm ausführen / das Spiel spielen. Dann berechnet man eine durchschnittliche Reichweite und diese wird die meiste Zeit benötigt. Im Idealfall wird dies (aus Gründen der Konsistenz und Genauigkeit) automatisiert, und Sie möchten die Mengen dieser Ressourcen ausschließen, die von anderen Prozessen verbraucht, gemeinsam genutzt oder verwendet werden. Es könnte einige vorrangigen Themen sein , die Tatsache zu verstecken , dass Ihr Programm möglicherweise mehr Speicher verwenden , wenn es verfügbar ist. Das heißt, wenn das Betriebssystem sehr ausgelastet ist, kann es sein, dass Ihr Programm nicht genügend Arbeitsspeicher hat.
Letztendlich müssen Sie diese Tests testen / vergleichen / profilieren und dann analysieren. Es ist gut, eine vordefinierte Leistungsmetrik zu haben, mit der man vergleichen kann. ZB in einem FPS möchten Sie vielleicht mehr als 30 FPS für spielbare / unterhaltsame Spiele. Basierend darauf würden Sie die minimale Grenze auf / über die Hardware-Spezifikationen setzen, die benötigt werden, um diese 30+ FPS in einem bestimmten Prozentsatz der Zeit zu erreichen (es ist immer möglich, dass der Benutzer zu viel auf einmal ausführt und Abstürze und Hänge verursacht).
Wie andere bereits gesagt haben, brauchen Sie wirklich andere Leute, um es auf einer Reihe unterschiedlicher Hardware zu testen. In einer idealen Welt würden Sie eine Gruppe von Gruppen mit ähnlicher Hardware in einer Gruppe haben und eine Art Kontrolle im Vergleich zu Experimenten durchführen, um festzustellen, ob mehr / weniger Speicher, CPU, GPU von Bedeutung sind, wenn die anderen Faktoren konstant gehalten werden.
quelle