Mengapa game dibangun di atas mesin lintas platform terkadang eksklusif untuk Windows?

99

Jika sebuah mesin mendukung Windows, OS X, dan Linux, mengapa kita terkadang melihat permainan menggunakan mesin ini, seperti Space Hulk: Deathwing , terbatas hanya untuk Windows?

Nathan
sumber
25
Artinya bisa dibangun lintas platform, bukan berarti tidak memerlukan usaha tambahan.
marsh
Alasan sederhananya adalah sebagian besar jenis game itu ada di PC.
Fattie

Jawaban:

150

Alasan teknis:

  • Platform yang dibuat khusus untuk game : Ketika beberapa pengembang membuat game mereka, mereka terkadang dapat mengandalkan fungsi spesifik platform. Sementara mesin gim mungkin dapat membuat gim untuk berbagai platform, kode khusus non-gim mungkin membuat panggilan khusus Windows yang tidak ada pada platform lain atau akan membutuhkan pembuatan ulang bagian yang sulit dari gim tersebut (layanan Lisensi, Sistem Penyimpanan File, dll.).
  • Kurangnya Mesin yang Mampu : Untuk waktu yang lama, kebanyakan komputer Apple tidak memiliki kekuatan grafis yang cukup untuk menjalankan sebagian besar game. Jadi mengapa merilis di suatu tempat di mana pengguna kemungkinan besar hanya akan memiliki pengalaman buruk? Ini perlahan-lahan berubah, berkat grafik terintegrasi yang lebih baik, tetapi mungkin masih menjadi alasan mengapa beberapa hanya menggunakan Windows.
  • Kompatibilitas Plugin / Perpustakaan : Pengembang game mungkin menggunakan perpustakaan pihak ke-3 untuk membantu mempercepat pengembangan atau menggunakan standar industri / kode yang divalidasi (SSL, perpustakaan serialisasi, dll). Jika ini tidak mendukung platform X, game kemungkinan besar tidak akan berjalan dengan andal di dalamnya, sehingga mereka dikeluarkan.
  • Peningkatan QA : Selama pengembangan game, ada subbagian kecil dari tim yang memastikan bahwa tidak ada bug dan bahwa game memenuhi standar kinerja. Setelah Anda menambahkan platform, game pada dasarnya harus diuji dua kali! Bagian generik dari permainan bisa dibiarkan sendiri, tetapi masih ada banyak pengujian yang harus dilakukan sebelum rilis. Ini juga dapat menyebabkan peningkatan biaya, tidak hanya dengan waktu tambahan yang diperlukan tetapi juga perangkat keras khusus, tergantung pada platform (Apple, Xbox, PlayStation, Telepon, dll.).
  • Peningkatan Dukungan : Saat game dirilis, mereka akan memiliki bug (beberapa game lebih banyak daripada yang lain). Saat Anda menambahkan lebih banyak platform, jumlah dukungan pasca rilis yang harus dilakukan pengembang meningkat. Bug khusus platform harus diperbaiki dengan cara memperbaikinya untuk platform yang rusak dan tidak memengaruhi platform yang tidak terpengaruh. Jika platform berubah, misalnya, Windows 7 hingga 8 atau iterasi OSX, harus ada beberapa level QA untuk memastikan bahwa tidak ada bug pada versi yang lebih baru. Dan, jika ada, itu adalah platform lain yang harus didukung di samping versi yang lebih lama. Ini dapat memiliki dampak besar pada biaya, terutama setelah game diluncurkan (adalah game yang tidak menghasilkan banyak uang), 3-6 bulan setelah rilis.

Alasan Non-Teknis:

  • Perjanjian Penerbit : Beberapa pengembang akan memiliki perjanjian dengan pemegang platform untuk merilis secara khusus pada platform mereka. Meskipun ini lebih banyak terjadi pada konsol, ini juga bisa menjadi kasus untuk platform PC (misalnya, Windows).
  • Pengembang pihak pertama : Beberapa pengembang dimiliki oleh pemegang platform dan tidak diizinkan untuk merilis game mereka pada platform tertentu. Anda mungkin tidak akan melihat Halo di PS4 atau Forza di Mac.
  • Kurangnya pemirsa : Pengembang memiliki banyak statistik tentang tren konsumen pada platform tertentu, terutama jika mereka memiliki penerbit besar dengan banyak data yang tersedia. Jika mereka memiliki informasi yang mengatakan bahwa 90% dari target audiens mereka ada di Windows, mereka mungkin tidak repot-repot merilis pada platform lain untuk mencoba dan mengurangi potensi bug atau / dan membuat materi pemasaran tetap fokus.
  • Tidak memenuhi Persyaratan Platform : Beberapa platform seperti App Store Apple memiliki persyaratan ketat tentang tata letak dan desain yang harus diikuti untuk dipublikasikan. Jika sebuah game tidak memenuhi persyaratan ini untuk platform distribusi tertentu, mungkin tidak ada gunanya waktu rekayasa untuk mengadaptasi game dan merilisnya jika tidak ada prediksi penjualan yang cukup.
  • Kurangnya pengalaman dengan platform : Jika pengembang semata-mata bekerja dengan Windows (dan tidak ada / sedikit orang dengan pengalaman sistem lain), mungkin akan banyak pekerjaan untuk mempelajari perbedaan kecil yang dapat menyebabkan masalah terlambat dalam pengembangan atau mungkin tidak ada anggaran yang cukup untuk mempekerjakan staf baru untuk bertanggung jawab atas pembangunan Linux / OSX.
  • Biaya Pemasaran : jika dua platform memiliki khalayak yang berbeda secara signifikan atau kelompok umur materi pemasaran untuk satu mungkin tidak mencapai arti lain bahwa lebih banyak uang harus dihabiskan untuk pemasaran. Jika kedua kelompok memerlukan pemasaran yang berbeda, itu semua harus dibuat kembali dengan target audiens baru dalam pikiran. Pemasaran bisa menjadi sangat mahal terutama dengan rilis besar, semakin banyak platform yang membutuhkan pemasaran semakin cepat kenaikan biaya.

Saya yakin masih ada lagi. Ini hanya beberapa bagian atas kepala saya. Semoga ini membantu.

pengguna3797758
sumber
26
Ini adalah jawaban yang baik tetapi saya pikir Anda kehilangan satu elemen penting lainnya: biaya pengujian / QA. Mesin lintas platform tidak pernah melakukan pekerjaan yang sempurna untuk menyembunyikan perbedaan platform sehingga penting untuk menguji pada semua platform target. Mungkin ada bug yang hanya muncul pada satu platform atau perbedaan kinerja yang signifikan terkait dengan implementasi yang berbeda pada platform yang berbeda. Mungkin juga ada perbedaan perilaku dalam fungsi yang seharusnya merupakan lintas platform. Anda membutuhkan peningkatan waktu QA dan untuk memberikan penguji dengan perangkat keras tambahan. Beberapa pengembang akan membutuhkan perangkat keras dan perangkat lunak tambahan.
mattnewport
2
Saya pikir saya membahas bahwa di bagian kurangnya pengalaman .... tapi saya bisa menambahkannya :) selalu lebih baik meskipun
user3797758
5
Saya akan setuju dengan @mattnewport bahwa biayanya tidak terlalu banyak - ini bisa sangat padat untuk mengembangkan, membangun, menguji, men-debug, membilas, ulangi untuk beberapa platform. Cukup sulit untuk menguji dengan benar berbagai konfigurasi perangkat keras untuk satu platform!
AC
3
Juga, "dukungan" terkadang sangat dilebih-lebihkan. Banyak mesin "mendukung" Windows, tetapi sebenarnya Anda harus menginstal Visual Studio dan Python dan Perl dan Cygwin dan Msys dan 5 rasa MinGW dan gigabyte perpustakaan untuk benar-benar menggunakannya.
AndreKR
2
"Pengembang memiliki banyak statistik tentang tren konsumen pada platform tertentu" - tentu saja, menggunakannya untuk menentukan platform apa yang akan didukung secara teknis adalah sedikit ramalan yang berkelanjutan.
ATAU Mapper
30

Karena tersedia tidak berarti bebas & instan.

Mendukung satu sistem operasi lagi, dalam bentuknya yang paling sederhana, berarti satu platform lagi untuk memberikan dukungan teknis.

Semakin banyak platform yang Anda dukung = Semakin banyak platform yang Anda butuhkan untuk memberikan dukungan untuk = Menghabiskan lebih banyak waktu untuk dukungan = Kehilangan waktu kerja yang bisa menghabiskan waktu meningkatkan permainan Anda.

Mendukung platform semua bergantung pada kepercayaan di mana jika game Anda dapat menggambar playerbase yang cukup di platform target, maka itu akan menggantikan waktu yang Anda habiskan untuk menyediakan dukungan untuk platform tersebut.

S. Tarık Çetin
sumber
2
Juga lebih banyak pekerjaan yang hilang dari pengembangan pasar (App store, Steam, Google play) dan integrasi spesifik platform terutama di departemen sosial. (teman, berbagi, otentikasi)
CostelloNicho
18

Ada jawaban bagus sejauh ini, tapi mari kita sampai pada intinya.

Menurut survei Steam's Juni 2017 Hardware, 96,24% dari pengguna sampel menggunakan Windows. Dari pengguna Windows, 87,37% adalah Windows 10 atau 7, 64 atau 32 bit. Varian OSX mewakili 2,95% pengguna, dan varian Linux total 0,72%.

Waktu adalah uang. Kecuali jika pasar Anda khusus dan menargetkan OSX atau Linux secara khusus, Anda harus menjual banyak game sebelum <4% dari pasar sepadan dengan waktu Anda, terutama karena pengembang game biasanya meluangkan waktu untuk membuat fitur produk mereka lengkap.

Kode tidak pantas
sumber
3
... dan ini juga mengasumsikan semua pengguna membayar rata-rata uang yang sebanding untuk game. Saya ingat statistik untuk Android vs Windows Phone, di mana sementara Android memiliki pangsa perangkat yang jauh lebih besar, pendapatan langsung (non-iklan) hampir sama - dan keduanya kecil dibandingkan dengan iOS. Jika Anda menjual game, Anda perlu tahu berapa banyak orang yang mau membayar. Membuat permainan untuk segmen 0,7% dari pasar yang jarang membeli game adalah gila langsung: D Ini mungkin tidak akan sia-sia bahkan jika mesin itu sempurna multi-platform (tidak ada gotchas aneh pada platform yang berbeda).
Luaan
1
@Luaan Menurut Humble Bundle pendapatan untuk Linux hanya sedikit kurang dari Mac meskipun Mac tiga kali lebih populer. Mungkin dijelaskan oleh fakta bahwa komputer Linux kelas atas cenderung memiliki kartu grafis yang jauh lebih baik daripada Mac dengan harga yang sama karena pertukaran dari mesin-mesin ini terletak di tempat lain.
stommestack
1
@JV. Bundel sederhana agak rumit karena faktor bundel. Jika saya hanya peduli pada satu game dalam bundel, saya tidak cenderung membayar lebih hanya karena saya mendapatkan game tambahan yang tidak akan saya mainkan (atau game yang sudah saya bayar sebelumnya, kadang berkali-kali; ya, saya sedikit gila: P). Mungkin juga ada efek dari fakta bahwa Linux telah sebagian besar diabaikan untuk bermain game sampai saat ini, sehingga seseorang dengan komputer Mac atau Win mungkin sudah memiliki beberapa gim, sementara itu mungkin merupakan rilis pertama untuk Linux. Mungkin. Apakah mereka juga memiliki statistik dari Toko Humble?
Luaan
2
@Luaan Setiap kali ada Humble Indie Bundle ada beberapa statistik di dekat bagian bawah halaman, termasuk total dan jumlah rata-rata uang yang disumbangkan per OS. Mereka tetap konsisten setiap bungkusan.
stommestack
14

Jawaban lain di sini bagus, tapi ini salah satu yang tidak disebutkan.

Saya mengalami masalah ini sekarang - tim saya akan merilis game buatan Unity untuk Windows / Mac. Kami punya banyak pertanyaan mengapa game kami tidak ada di ponsel. Ada 2 jawaban utama:

1) Ponsel tidak cukup kuat untuk mengikuti permainan. Mungkin kita dapat mengurangi kesetiaan seni (lebih sedikit poligon dalam model, lebih sedikit piksel dalam tekstur, dll), tetapi itu hanya berjalan sejauh ini. Sebagian besar gim harus ditulis ulang agar cukup optimal agar ponsel dapat menjalankannya. Kami memang mencobanya, tetapi kami hanya mendapat sekitar 0,5 frame per detik. Jelas, tidak bisa dimainkan.

2) Input. Seluruh antarmuka pengguna dirancang menggunakan mouse, dan bagian dari permainan tergantung pada mengetahui di mana mouse berada pada waktu tertentu. Seluruh mekanisme input kami harus ditulis ulang agar gim tetap bekerja tanpa mengetahui di mana mouse berada, dan menerjemahkan berbagai tindakan "sentuh" ​​di layar menjadi tindakan "mouse" untuk mendapatkan fungsi yang sama. Seperti user3797758 yang disebutkan dalam jawaban mereka, ini akan membutuhkan hal-hal yang harus ditulis ulang sehingga input "mouse" dan "touch" dapat dimasukkan ke dalam sistem yang sama, dan bug di satu tidak akan mempengaruhi yang lain, dan perbaikan bug itu juga tidak akan mempengaruhi yang lain. Ini membutuhkan lebih banyak sumber daya untuk dilakukan daripada yang tersedia tim saya saat ini.

Juga disebutkan dalam jawaban user3797758, kami bahkan tidak memiliki dukungan Linux karena salah satu paket kami macet di mesin Linux, tetapi bekerja pada Windows / Mac. Hanya karena mesinnya adalah platform silang, tidak berarti semuanya menggunakannya.

Cody
sumber
1
Ponsel saya dapat memainkan GTA Vice City tanpa kesulitan. Kedengarannya mesin rendering Anda tidak efisien! :)
Lightness Races in Orbit
2
Pokoknya jawaban ini lebih tentang porting game ke platform / paradigma perangkat keras yang berbeda, dan lebih sedikit tentang OS pada PC
Lightness Races in Orbit
2
@LightnessRacesinOrbit yah, itu adalah Unity ... Sungguh, kami memiliki satu efek khusus yang merupakan pusat permainan, dan sangat tidak efisien. Orang yang menulisnya hilang dan kami belum dapat menemukan cara untuk membuatnya lebih baik. Begitulah hidup ...
Cody
3
@JV. Umm, tidak. Sejarah adalah kecil sedikit lebih rumit dari itu. Tetapi benar-benar tidak ada gunanya membahas hal ini di sini. Saya hanya akan mencatat bahwa OpenGL adalah API rendering 3D; DirectX jauh lebih luas dari itu. Jika Anda perlu terlibat dalam debat tanpa tujuan, setidaknya bandingkan OpenGL dengan Direct3D :) OpenGL dirancang untuk pekerjaan 3D profesional ("membuka" IrisGL yang dipatenkan). Platform apa yang mendukung OpenGL saat itu? Tidak ada "menghambat pengembangan lintas platform" - Windows memiliki dukungan OpenGL asli. OpenGL tidak pernah dimaksudkan untuk apa pun selain pekerjaan profesional kelas atas.
Luaan
2
GPU ponsel jauh lebih kuat daripada intel grafis karena mereka memiliki batas termal dan ukuran. juga banyak orang memiliki ponsel yang tidak mendukung opengl es 3.0 sehingga hanya beberapa orang yang dapat menggunakan aplikasi Anda kecuali Anda menulis ulang game Anda untuk
operasi