Wie bestimme ich die minimalen Hardware- / Softwareanforderungen meiner Spiele?


72

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.


3
Das war schon immer eine große Unbestimmtheit für mich, deshalb dachte ich, dass eine etwas ausführlichere Diskussion darüber gut sein könnte.
Jari Komppa

Ehrfürchtige Frage! Ich frage mich selbst
Dream Lane

Antworten:


29

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.


1
Genau. Testen Sie einfach auf einer Vielzahl von Maschinen der unteren Preisklasse.
David McGraw

1
Ok ... du hast recht, aber das ist es, was sich wahrscheinlich jeder denken kann. Ich verstehe wirklich nicht, warum diese bestimmte Antwort zu viele Pluspunkte hat. Nichts für ungut, es ist völlig richtig.
Notabene

24

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.


7
Die Nachteile von VM-Tests bestehen darin, dass Sie im Wesentlichen immer die gleiche Taktrate verwenden und die 3D-Unterstützung immer noch ziemlich miserabel ist. Sie werden Ihnen dabei helfen, Ihre Grundlagen zu verdeutlichen, indem Sie sicherstellen, dass Ihr Spiel mit 32/64-Bit und dem Umfang der Windows-Auswahlmöglichkeiten funktioniert.
Fehler 454

Ich bin damit einverstanden, dass VMs zwar eine ganze Reihe von Grundlagen abdecken, aber Einschränkungen aufweisen. Gemessen an der Fülle der Antworten denke ich jedoch, dass der Fragesteller in Ordnung sein wird ^ _ ^
G. Davids

1
@Error 454 Nicht mit ESXi, wie in meiner Antwort beschrieben. Sie können tatsächlich die Menge an CPU- und Speicherressourcen steuern, die das Betriebssystem haben soll
Ray Dey

@ Ray Dey sorry, nicht wahr, ESXi gibt Ihnen eine virtuelle SVGA, es gibt keinen direkten Zugriff auf Ihre Grafikkarte: kb.vmware.com/kb/1011942
Fehler 454

@Error 454 Ich war mir über die Videofunktionen nicht sicher, also habe ich mich nicht dazu geäußert. Ich hätte es klarer machen sollen. Aber danke, dass du das für mich geklärt hast :)
Ray Dey

16

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.


13

Ü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.


2
Bei den meisten Programmen ist das Verhältnis zwischen Anzahl der Kerne und Bildrate nicht linear.
Ponkadoodle

2
Diese Beziehung impliziert auch, dass das Spiel CPU-begrenzt ist, was nicht oft der Fall ist.
Kromster

Ich meinte das als allgemeine Richtlinie - jeder Programmierer sollte überprüfen, welche Technologien er / sie verwendet und von welchen Ressourcen sie abhängen. Ich habe meine Antwort leicht geändert.
Danny Varod

8

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.


6

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:

  • CPU-Anforderungen = Spiel mit minimaler Auflösung oder ohne GPU-Rendering ausführen (ich hoffe, der Rendering-Code benötigt minimaler CPU-Aufwand)
  • GPU-Anforderung = Spiele auf einer leistungsstarken CPU mit Standardauflösung und finde heraus, welche GPU für die Ausführung der Aufgabe ausreicht. Nenne auch die minimale Direct3D / OpenGL-Version
  • RAM-Bedarf = wie viel RAM benötigt das Spiel (z. B. über den TaskManager mit der Spalte "VM-Größe", um den gesamten zugewiesenen RAM anzuzeigen, der nicht nur aktiv ist)
  • Sound = fast alles passt, erwähne nur die Unterstützung von 2 / 5.1-Kanälen
  • Display = minimale spielbare Auflösung angeben, wenn die Spielsteuerung passt
  • Netzwerk = einige massive Lasttests und sehen, welche Bandbreite es erlaubt (56k Modem, DSL, T1, LAN)
  • Tastatur / maus / tablet / joystick, etc ..

2
Nachdem Sie diese Zahlen erhalten haben, möchten Sie sie auf jeden Fall leicht erhöhen, falls Ihr Spiel nur wenig Speicher benötigt.
Die kommunistische Ente

2

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.


1

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.


1

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.


1

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!


0

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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.