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.
Antworten:
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
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
technique
in 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.
quelle
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.
quelle
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.)
quelle