Warum gibt es Spiele, die auf plattformübergreifenden Engines basieren, manchmal nur für Windows?

99

Wenn eine Engine Windows, OS X und Linux unterstützt, warum sehen wir manchmal Spiele, die diese Engines verwenden, wie Space Hulk: Deathwing , das nur auf Windows beschränkt ist?

Nathan
quelle
25
Es bedeutet, dass es plattformübergreifend gebaut werden kann, es bedeutet nicht, dass es keinen zusätzlichen Aufwand erfordert.
Marsh
Der einfache Grund ist, dass die überwiegende Mehrheit dieser Art von Spielen auf dem PC stattfindet.
Fattie

Antworten:

150

Technische Gründe:

  • Plattformspezifisch für Spiele: Wenn einige Entwickler ihre Spiele entwickeln, können sie sich manchmal auf plattformspezifische Funktionen verlassen. Während die Game-Engine das Spiel möglicherweise für mehrere Plattformen erstellen kann, führt der nicht spielspezifische Code möglicherweise zu einem Windows-spezifischen Aufruf, der entweder auf anderen Plattformen nicht vorhanden ist oder eine erneute Erstellung eines schwierigen Teils des Spiels erfordert (Lizenzdienste, Dateispeichersysteme usw.).
  • Mangel an leistungsfähigen Computern: Lange Zeit verfügten die meisten Apple-Computer nicht über genügend Grafikleistung, um die meisten Spiele auszuführen. Warum also irgendwo veröffentlichen, wo die Benutzer höchstwahrscheinlich nur eine schlechte Erfahrung haben werden? Dies ändert sich langsam, dank besser integrierter Grafik, könnte aber immer noch ein Grund sein, warum manche nur auf Windows umsteigen.
  • Plugin / Bibliothekskompatibilität : Spieleentwickler verwenden möglicherweise Bibliotheken von Drittanbietern, um die Entwicklung zu beschleunigen, oder verwenden branchenüblichen / validierten Code (SSL, Serialisierungsbibliotheken usw.). Wenn diese Plattform X nicht unterstützen, wird das Spiel höchstwahrscheinlich nicht zuverlässig auf dieser Plattform ausgeführt, sodass sie ausgeschlossen werden.
  • Erhöhte Qualitätssicherung : Während der Spieleentwicklung gibt es einen kleinen Teil des Teams, der sicherstellt, dass es keine Bugs gibt und das Spiel den Leistungsstandards entspricht. Sobald Sie eine Plattform hinzugefügt haben, muss das Spiel im Wesentlichen zweimal getestet werden! Die allgemeinen Teile des Spiels könnten in Ruhe gelassen werden, aber es gibt noch viel mehr zu testen, bevor es veröffentlicht wird. Dies kann auch zu höheren Kosten führen, nicht nur aufgrund des zusätzlichen Zeitaufwands, sondern auch aufgrund der speziellen Hardware, die von der Plattform abhängt (Apple, Xbox, PlayStation, Telefone usw.).
  • Verbesserte Unterstützung : Bei der Veröffentlichung von Spielen treten Fehler auf (manche Spiele häufiger als andere). Je mehr Plattformen hinzugefügt werden, desto mehr Unterstützung muss der Entwickler nach der Veröffentlichung leisten. Plattformspezifische Fehler müssen so behoben werden, dass sie für die defekte Plattform behoben werden und sich nicht auf die Plattformen auswirken, die nicht betroffen sind. Wenn sich eine Plattform ändert, z. B. Windows 7 auf 8 oder eine OSX-Iteration, muss eine gewisse Qualitätssicherung durchgeführt werden, um sicherzustellen, dass die neuere Version keine Fehler enthält. Und wenn ja, ist dies eine weitere Plattform, die neben der älteren Version unterstützt werden muss. Dies kann einen enormen Einfluss auf die Kosten haben, insbesondere nach dem Start des Spiels (wenn das Spiel nicht viel Geld verdient), 3-6 Monate nach der Veröffentlichung.

Nichttechnische Gründe:

  • Publisher-Vereinbarung : Einige Entwickler haben Vereinbarungen mit dem Plattforminhaber, die eine Veröffentlichung speziell auf ihrer Plattform vorsehen. Während dies eher bei Konsolen der Fall ist, kann dies auch bei PC-Plattformen (z. B. Windows) der Fall sein.
  • Erstanbieter-Entwickler : Einige Entwickler sind im Besitz des Plattforminhabers und dürfen ihre Spiele nicht auf bestimmten Plattformen veröffentlichen. Sie werden Halo wahrscheinlich nicht auf PS4 oder Forza auf Mac sehen.
  • Kein Publikum : Entwickler verfügen über zahlreiche Statistiken zu Verbrauchertrends auf bestimmten Plattformen, insbesondere wenn sie große Publisher mit vielen verfügbaren Daten haben. Wenn sie Informationen haben, die besagen, dass 90% ihrer Zielgruppe Windows ist, müssen sie möglicherweise nicht auf anderen Plattformen veröffentlichen, um potenzielle Fehler zu reduzieren oder / und das Marketingmaterial fokussiert zu halten.
  • Erfüllt nicht die Plattformanforderungen : Einige Plattformen wie der App Store von Apple haben strenge Anforderungen an Layout und Design, die befolgt werden müssen, um veröffentlicht zu werden. Wenn ein Spiel diese Anforderungen für eine bestimmte Distributionsplattform nicht erfüllt, ist es möglicherweise nicht die Entwicklungszeit wert, das Spiel anzupassen und zu veröffentlichen, wenn nicht genügend prognostizierte Verkäufe vorliegen.
  • Mangelnde Erfahrung mit einer Plattform : Wenn der Entwickler ausschließlich mit Windows gearbeitet hat (und es gibt nur wenige Personen, die Erfahrung mit anderen Systemen haben), ist es möglicherweise sehr mühsam, die kleinen Unterschiede zu lernen, die zu Problemen bei der späten Entwicklung führen können oder Möglicherweise reicht das Budget nicht aus, um neue Mitarbeiter einzustellen, die für einen Linux / OSX-Build verantwortlich sind.
  • Marketingkosten : Wenn zwei Plattformen deutlich unterschiedliche Zielgruppen oder Altersgruppen haben, erreicht das Marketingmaterial für eine Plattform möglicherweise nicht die andere, sodass mehr Geld für Marketing ausgegeben werden muss. Wenn die beiden Gruppen ein unterschiedliches Marketing erfordern, muss alles unter Berücksichtigung der neuen Zielgruppe neu erstellt werden. Insbesondere bei großen Releases kann Marketing extrem teuer werden. Je mehr Plattformen Marketing benötigen, desto schneller steigen die Kosten.

Ich bin mir sicher, dass es noch mehr gibt. Dies sind nur einige der Höhepunkte meines Kopfes. Hoffe das hilft.

user3797758
quelle
26
Dies ist eine gute Antwort, aber ich denke, Sie vermissen ein weiteres wichtiges Element: die Kosten für Tests / Qualitätssicherung. Plattformübergreifende Engines können Plattformunterschiede nie perfekt verbergen. Daher ist es wichtig, auf allen Zielplattformen zu testen. Es kann Fehler geben, die nur auf einer Plattform auftreten, oder signifikante Leistungsunterschiede in Bezug auf verschiedene Implementierungen auf verschiedenen Plattformen. Es kann auch Verhaltensunterschiede in der Funktionalität geben, die plattformübergreifend sein sollen. Sie benötigen eine längere QS-Zeit, um Testern zusätzliche Hardware zur Verfügung zu stellen. Einige Entwickler benötigen zusätzliche Hardware und Software.
Mattnewport
2
Ich dachte, ich habe das im Abschnitt über mangelnde Erfahrung behandelt ... aber ich kann es hinzufügen :) Immer besser zu sein
user3797758
5
Ich bin mit @mattnewport einverstanden, dass die Kosten hier unterbewertet sind - es kann sehr arbeitsintensiv sein, für mehrere Plattformen zu entwickeln, zu bauen, zu testen, zu debuggen, zu spülen und zu wiederholen. Es ist schwierig genug, verschiedene Hardwarekonfigurationen für eine einzige Plattform zu testen!
AC
3
Auch "Support" ist manchmal stark übertrieben. Viele Engines "unterstützen" Windows, aber tatsächlich müssten Sie Visual Studio und Python und Perl und Cygwin und Msys sowie 5 Varianten von MinGW und Gigabyte Bibliotheken installieren, um es tatsächlich zu verwenden.
AndreKR
2
"Entwickler haben eine Menge Statistiken über Verbrauchertrends auf bestimmten Plattformen" - natürlich ist es eine sich selbst fortsetzende Prophezeiung, anhand dieser Statistiken zu bestimmen, welche Plattformen technisch unterstützt werden sollen.
ODER Mapper
30

Denn verfügbar zu sein bedeutet nicht, frei und augenblicklich zu sein.

Die Unterstützung eines weiteren Betriebssystems in seiner einfachsten Form bedeutet eine weitere Plattform für den technischen Support.

Je mehr Plattformen Sie unterstützen = Je mehr Plattformen Sie unterstützen müssen = Mehr Zeit für den Support aufwenden = Arbeitszeit verlieren, die zur Verbesserung Ihres Spiels hätte beitragen können.

Wenn Sie eine Plattform unterstützen, müssen Sie darauf vertrauen, dass Ihr Spiel genügend Spielerbasis auf dieser Zielplattform hat, damit Sie die Zeit für die Bereitstellung von Support für die Plattform wieder wettmachen können.

S. Tarık Çetin
quelle
2
Außerdem geht mehr Arbeit für die Marktplatzentwicklung (App Store, Steam, Google Play) und plattformspezifische Integrationen verloren, insbesondere in der Sozialabteilung. (Freunde, Teilen, Authentifizierung)
CostelloNicho
18

Bisher gibt es gute Antworten, aber lassen Sie uns zum Endergebnis kommen.

Laut Steams Hardware-Umfrage vom Juni 2017 verwendeten 96,24% der befragten Benutzer Windows. 87,37% der Windows-Benutzer sind Windows 10 oder 7, 64 oder 32 Bit. OSX-Varianten machen 2,95% der Benutzer aus, und Linux-Varianten machen insgesamt 0,72% aus.

Zeit ist Geld. Wenn Ihr Markt keine Nische ist und sich speziell an OSX oder Linux richtet, müssten Sie eine Menge Spiele verkaufen, bevor <4% des Marktes Ihre Zeit wert sind, insbesondere da Spieleentwickler in der Regel überfordert sind, ihre Produktfunktionen zu vervollständigen.

Unangemessener Code
quelle
3
... und dies setzt auch voraus, dass alle Nutzer im Durchschnitt vergleichbares Geld für Spiele zahlen. Ich erinnere mich an die Statistiken für Android im Vergleich zu Windows Phone, bei denen Android einen viel größeren Anteil an den Geräten hatte, die direkten Einnahmen (ohne Werbung) jedoch ziemlich gleich waren - und beide waren im Vergleich zu iOS winzig. Wenn Sie ein Spiel verkaufen, müssen Sie wissen, wie viel die Leute bereit sind zu bezahlen. Ein Spiel für ein 0,7% -Segment des Marktes zu machen, das selten Spiele kauft , ist geradezu verrückt: D Es würde sich wahrscheinlich nicht lohnen, selbst wenn die Engine vollkommen plattformübergreifend wäre (keine seltsamen Fallstricke auf den verschiedenen Plattformen).
Luaan
1
@Luaan Laut Humble Bundle ist der Umsatz mit Linux nur geringfügig geringer als mit Mac, obwohl Mac dreimal beliebter ist. Vielleicht erklärt sich dies aus der Tatsache, dass High-End-Linux-Computer in der Regel viel bessere Grafikkarten als Macs zum gleichen Preis haben, da die Kompromisse zwischen diesen Computern anderswo liegen.
Stommestack
1
@JopV. Bescheidenes Bündel ist aufgrund des Bündelfaktors etwas knifflig. Wenn mir nur ein Spiel im Bundle wichtig ist, zahle ich nicht mehr, nur weil ich zusätzliche Spiele bekomme, die ich nicht spiele (oder Spiele, für die ich bereits bezahlt habe, manchmal mehrmals). Ja, ich bin ein bisschen verrückt: P). Dies könnte sich auch auf die Tatsache auswirken, dass Linux für Spiele bis vor kurzem weitgehend ignoriert wurde, sodass möglicherweise bereits einige Spiele auf einem Mac- oder Win-Computer verfügbar sind, während dies möglicherweise die erste Veröffentlichung für Linux ist. Vielleicht. Haben sie auch Statistiken aus dem Humble Store?
Luaan
2
@Luaan Jedes Mal, wenn es ein Humble Indie Bundle gibt, gibt es unten auf der Seite einige Statistiken, einschließlich des Gesamtbetrags und des Durchschnittsbetrags des Geldbetrags pro Betriebssystem. Sie bleiben in jedem Bundle ziemlich konsistent.
Stommestack
14

Die anderen Antworten hier sind gut, aber hier ist eine, die nicht erwähnt wurde.

Ich habe gerade dieses Problem - mein Team ist dabei, ein in Unity für Windows / Mac erstelltes Spiel herauszubringen. Wir haben viele Fragen dazu, warum unser Spiel nicht auf Mobilgeräten läuft. Es gibt 2 Hauptantworten:

1) Handys sind einfach nicht leistungsfähig genug, um mit dem Spiel Schritt zu halten. Vielleicht können wir die Wiedergabetreue reduzieren (weniger Polygone in Modellen, weniger Pixel in Texturen usw.), aber das geht nur so weit. Der größte Teil des Spiels müsste neu geschrieben werden, damit es von einem Telefon ausgeführt werden kann. Wir haben es versucht, aber wir haben nur etwa 0,5 Bilder pro Sekunde. Offensichtlich nicht spielbar.

2) Eingabe. Die gesamte Benutzeroberfläche wurde mit einer Maus erstellt. Ein Teil des Spiels hängt davon ab, zu wissen, wo sich die Maus zu einem bestimmten Zeitpunkt befindet. Unser gesamter Eingabemechanismus müsste neu geschrieben werden, damit das Spiel weiterhin funktioniert, ohne zu wissen, wo sich die Maus befindet, und um verschiedene "Touch" -Aktionen auf dem Bildschirm in "Maus" -Aktionen umzuwandeln, um dieselbe Funktionalität zu erhalten. Wie der in der Antwort erwähnte Benutzer 3797758 erfordert dies das Umschreiben von Inhalten, damit "Maus" - und "Touch" -Eingaben in dasselbe System eingespeist werden können, und ein Fehler in einem wirkt sich nicht auf den anderen aus, und eine Fehlerbehebung dieses Fehlers Auch wird nicht die andere beeinflussen. Dies erfordert mehr Ressourcen, als mein Team derzeit zur Verfügung hat.

Ebenfalls in der Antwort von user3797758 erwähnt, haben wir nicht einmal Linux-Unterstützung, da eines unserer Pakete auf Linux-Rechnern abstürzt, aber auf Windows / Mac funktioniert. Nur weil der Motor plattformübergreifend ist, heißt das noch lange nicht, dass er alles nutzt.

Cody
quelle
1
Mein Handy kann problemlos GTA Vice City abspielen. Klingt so, als wäre Ihre Rendering-Engine ineffizient! :)
Leichtigkeitsrennen im Orbit
2
Auf jeden Fall geht es in dieser Antwort mehr um das Portieren von Spielen auf verschiedene Hardwareplattformen / -paradigmen und weniger um Betriebssysteme auf einem PC
Lightness Races in Orbit
2
@LightnessRacesinOrbit Nun, es ist Unity ... Wirklich, wir haben jedoch einen besonderen Effekt, der für das Spiel von zentraler Bedeutung ist und der wirklich ineffizient ist. Der Typ, der es geschrieben hat, ist weg und wir haben keinen Weg gefunden, es besser zu machen. So ist das Leben ...
Cody
3
@JopV. Ähm nein. Die Geschichte ist ein winzig bisschen komplizierter als das. Aber es hat wirklich keinen Sinn, das hier zu diskutieren. Ich stelle nur fest, dass OpenGL eine 3D-Rendering-API ist. DirectX ist viel umfassender. Wenn Sie sich auf eine sinnlose Debatte einlassen möchten, vergleichen Sie mindestens OpenGL mit Direct3D :) OpenGL wurde für die professionelle 3D-Arbeit ("Öffnen" der proprietären IrisGL) entwickelt. Welche andere Plattform unterstützte damals OpenGL? Es gab keine "Behinderung der plattformübergreifenden Entwicklung" - Windows hatte native OpenGL-Unterstützung. OpenGL war einfach nie für etwas anderes als professionelle High-End-Arbeit gedacht.
Luaan
2
Telefon-GPUS sind viel weniger leistungsfähig als selbst Intel-Grafiken, da sie thermische und Größenbeschränkungen haben. Auch viele Leute haben Telefone, die opengles 3.0 nicht unterstützen, so dass nur wenige Leute in der Lage sind, Ihre App zu verwenden, es sei denn, Sie schreiben Ihr Spiel für primitive opengles 2.0
Suici Doga