Sollten unabhängige Spieleentwickler auf ältere Hardware setzen?


25

Ein Entwickler, mit dem ich zusammenarbeite, teilt mir mit, dass Indie-Entwickler auf Hardware abzielen sollten, die mindestens sechs Jahre alt ist (bei maximalen Einstellungen). Ich habe die Idee, dass man jedem, der sein Spiel spielen möchte, erlauben sollte, es mit einer lauffähigen Bildrate zu spielen, unabhängig davon, wie alt seine Hardware ist, aber die Entwickler sollten sich darauf beschränken, einen Low-Poly-Art-Stil zu verwenden oder ihre Spiele zu entwickeln mit Blick auf ältere Hardware, vor allem, weil "die meisten Leute, die Indie-Spiele spielen, alte Hardware haben?"

Gibt es einen Grund, Ihr Spiel mit den maximalen Einstellungen für sehr alte Hardware laufen zu lassen, obwohl dies die grafischen Möglichkeiten für Leute mit neuerer Hardware einschränken würde?

Gibt es Statistiken, aus denen hervorgeht, dass Spiele, die mit älterer Hardware leicht an ihre oberen grafischen Grenzen stoßen, erfolgreicher sind als Spiele, bei denen die oberen grafischen Grenzen höher liegen, und dies zu Lasten von Spielern, die mit älterer Hardware arbeiten ?

Jeder Einblick in diese wird sehr geschätzt.


12
Dies hängt von Ihrem Zielmarkt ab
Vaughan Hilts

1
Sie sollten auch über schwache, aber neue Hardware nachdenken: Tablets / Netbooks. Der Modus mit niedriger Qualität kann beide Gruppen ansprechen und möglicherweise auch auf Telefone portiert werden. Und denken Sie daran, dass selbst Low-Poly-Spiele langsam sein können, wenn der Code langsam ist (z. B. PC Minecraft). Code ist nie zu schnell;)
PTwr

@PTwr Erinnerst du dich an die Spiele für PC-AT und ähnliches ohne Timing? Die wurden auf neuerer Hardware ziemlich schnell: D
Luaan

1
Mein PC ist 8 Jahre alt. Das einzige Upgrade, das es je gesehen hat, war vor 4 Jahren das Hinzufügen einer 40-GB-SSD. Ich spiele immer noch gut WoW. DayZ wird mit 1080p ausgeführt, wobei die meisten Einstellungen aktiviert sind. Ich habe ein paar Grafikmods für Skyrim und es läuft immer noch ~ 40-50 FPS bei 1080p. Eigentlich bedeutet dies nur, dass Ihr Indie-Spiel nicht schlechter abschneiden sollte als moderne AAA-Spiele.

1
Ich vermute, dass "die meisten Leute, die Indie-Spiele spielen, alte Hardware haben", die am leichtesten widerlegbare Behauptung Ihres Kollegen ist. In beiden Fällen ist dies jedoch eine Geschäftsentscheidung für den Entwickler und nichts anderes: Die Codierung für ältere / langsamere Hardware ist oft schwieriger und kostet daher mehr. Ich würde sagen, dass sich die Aussage Ihres Kollegen in derselben Kategorie befindet wie "Alle Websites sollten mit IE6 funktionieren". Es ist eine nette Idee, aber nicht oft praktisch und oft teuer zu liefern.
Dan Puzey

Antworten:


21

In dieser Ära ist alte Hardware zu einer Fehlbezeichnung geworden. Alte Hardware ist langsam nicht nötig. 6 Jahre alt ist 2009 und DirectX11 war bereits vorhanden. Wir haben heute noch nicht viel Neues.

Sie müssen zwei Dinge berücksichtigen:

  • Eigenschaften
  • Leistung

Eigenschaften

Dies ist die Ebene der Anweisungen, die die Hardware unterstützt, DirectX9,10,11 oder OpenGL (dies hängt von den Treibern ab). Und der CPU-Befehlssatz: SSE4, AVX ..

Dies ist das größte Problem bei der Entwicklung. Die Skalierbarkeit ist für diese Unternehmen schwieriger als für die Skalierbarkeit der Leistung. DirectX9 hatte etwas techniquein der aufgerufen.fx für beide Punkte Dateien, auf den zurückzugreifen war. Für CPU-Anweisungen benötigen Sie jedoch mehrere ausführbare Dateien oder große Verzweigungsabschnitte in Ihrem Programm. Oder benutze sie nicht.
Zum Glück sind heute schon 6 Jahre ein kurzer Zeitraum und Sie haben Zugriff auf alles, was Sie brauchen, auch auf "alte" Hardware.

Leistung

Dies ist der Punkt , die Skalierung soll, auf dem heutigen Maschine und nicht auf der Legacy-Maschine. Ein High-End-Modell des Jahres 2009 verfügt möglicherweise über eine geForce GTX280. Diese ist sehr leistungsstark und weitaus leistungsstärker als Ihre Low-End-APU AMD A6-3650 oder so.

Man muss die gigantische Leistungslücke zwischen dem unteren und dem oberen Ende der heutigen Maschine verstehen. Weil es die Leistungslücke Ihrer 6-Jahres-Maschinen auf der High-End-Skala weit übertrifft.

Es ist also keine Überlegung des Marktes hinsichtlich der Erneuerung, sondern eine Überlegung des Marktes hinsichtlich des ursprünglichen Kaufbudgets. Und wenn Sie auf die heutigen Laptops oder Low-End-Desktops abzielen möchten, müssen Sie trotzdem skalieren, und zwar um einiges mehr, als Sie denken.

Achten Sie auf die Auflösung, die Pixelfüllrate und die Bandbreite des Grafikspeichers. Sie spielen mit diesen Faktoren dank der Anzahl der Bildschirmdurchläufe, der Breite Ihres Gbuffer, wenn Sie die Schattierung verzögert haben (sehr kostspielig auf Low-End-Maschinen), der Auflösung Ihrer Texturen und der Menge, die zu einem bestimmten Zeitpunkt auf dem Bildschirm angezeigt wird. Der Polygonreichtum ist nur dann ein Problem, wenn Sie auf die Hardware von 2002 abzielen. Die Komplexität von Shader-ALU / FPU ist ebenfalls kein Problem, es sei denn, Sie haben die Hardware für 2005/2006 im Visier.


4
Beachten Sie jedoch, dass die Zielgruppe, die High-End-Videokarten wie die GTX280 kauft, so reich ist, dass sie seitdem eine neue Karte gekauft hat. Die Leute, die heute noch eine Videokarte aus dem Jahr 2009 verwenden, kauften damals wahrscheinlich ein Budgetmodell.
MSalters

3
Vergiss auch nicht, dass dein grafikintensives Indiespiel möglicherweise erst nach ein oder zwei Jahren fällig wird, damit du noch weniger alte Hardware ins Visier nehmen kannst.
Valmond

10

Ich kann mich nicht erinnern, wo ich es zum ersten Mal gehört habe, aber das ist eine alte Faustregel, die nicht viel kritisches Denken verträgt. Es kommt wirklich auf die Geschäftsziele an. Wenn Sie nicht vorhaben, das Spiel zu verkaufen, spielt das keine Rolle.

Tatsache ist, je mehr Hardware Sie unterstützen können, desto größer ist Ihr potenzieller Markt. Die meisten unabhängigen Entwickler werden jedoch ohnehin nicht über die Ressourcen verfügen, um Hardware auf dem neuesten Stand zu halten, da sie eine angemessene Menge für Inhalte aufwenden müssen, um diese Hardware zu nutzen . Jeder unabhängige Entwickler, der sich darüber Gedanken machen muss, verfügt normalerweise über die Ressourcen, um herauszufinden, auf welche Systemspezifikationen er abzielen muss, und diese Informationen können Sie wahrscheinlich erwerben. Steam sammelt diese Statistiken beispielsweise und verkauft sie wahrscheinlich an Entwickler weiter.


3
Ich habe hier einen Account erstellt, um Folgendes zu kommentieren: Gibt Steam diese Informationen nicht frei für alle frei?
Bedauern

@Regret jzx bezieht sich vermutlich auf eine gezieltere und daher engere Bevölkerungsgruppe. Die Rohdaten werden vermutlich von Sekundärsystemen, Indie-Spielen usw. verzerrt. Steam verkauft vermutlich Informationspakete an Entwickler, die die Hardware ihrer Zieldemo überprüfen möchten.
Lilienthal

Ich könnte mir vorstellen, dass sie es kostenlos zur Verfügung stellen, wenn Sie sich auf der Steamworks-Plattform befinden. Sie haben also Zugriff auf diese Daten, wenn Sie ein Spiel über Greenlight veröffentlichen.
Topperfalkon

2

Grundsätzlich gilt: Je größer die Vielfalt der Hardware, auf der ein Programm ausgeführt wird, desto mehr Möglichkeiten haben Sie, eine Kopie zu verkaufen. Wie viel Abwechslung Sie unterstützen können, hängt stark vom Spiel ab. Ein Spiel wie Dwarf Fortress kann sowohl in Bezug auf die Verarbeitungsanforderungen als auch in Bezug auf die Grafik leicht sehr skalierbar sein. Ein FPS mit realistischer Physik wie Amnesia nicht so sehr. Mein Vorschlag wäre, Ihr Spiel so zu schreiben, dass es auf einer möglichst breiten Palette von Hardware ausgeführt werden kann und trotzdem eine gute Erfahrung bietet. Sie müssen nicht unbedingt alles sofort unterstützen, aber die Möglichkeit, es für neuere / ältere / einfach andere Hardware zu konfigurieren, zahlt sich mit zunehmender Fangemeinde und fortschreitender Technologie aus.

Es gibt zwei Dinge, die Ihnen das Leben auf einer Vielzahl von Geräten erheblich erleichtern und die wenig mit dem Alter der Hardware zu tun haben, auf die Sie abzielen (zumindest direkt):

1) Teilen Sie nach Möglichkeit das Backend vom Frontend. Wenn der Teil, der rechnet, welche Teile was tun, wo eine gut definierte Schnittstelle zum Übergeben dieser Informationen an den Teil hat, der sie auf dem Bildschirm anzeigt und Benutzereingaben entgegennimmt, können Sie einen Teil einfacher anpassen (normalerweise das Frontend) ) auf neue Hardware umsteigen, ohne sich mit der anderen anlegen zu müssen. Auf diese Weise könnten viele Arten von Spielen mit Frontends versehen werden, die von erstklassigen 3D-Grafiken über animierte Sprites auf einer Webseite bis hin zu reinen ASCII-Textzeichen reichen. An diesem Punkt können Sie auswählen, welche implementiert werden soll, je nachdem, von wem Sie glauben, dass er das Spiel jetzt kauft. Und Sie können auf neue Ausgabeschemata erweitern, wenn die Leute Interesse zeigen - ohne sich mit dem Kern des Spiels herumschlagen zu müssen.

2) Schreiben Sie so viel wie möglich portablen Code. Abhängig vom spezifischen Verhalten von DirectX 9.3c oder was auch immer Sie schneller erledigen können, aber wenn Sie feststellen, dass Sie eine Version für Android herausbringen sollten, werden Sie eine Menge Arbeit wiederholen müssen. Durch die Auswahl von Bibliotheken und Sprachen, die nicht von einem einzigen Anbieter abhängig sind und offenen und genau definierten Standards folgen, wird Ihre Arbeitsbelastung auf lange Sicht erheblich reduziert. Denken Sie daran: Das Schreiben eines Programms ist normalerweise ein winziger Teil der Arbeit im Vergleich zur Pflege des Programms. (Es sei denn, Sie entscheiden sich für das Geschäftsmodell der "geplanten Überalterung", aber das wird Ihnen auf lange Sicht wahrscheinlich keine große Fangemeinde bringen.)

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.