Tại sao các trò chơi được xây dựng trên các công cụ đa nền tảng đôi khi chỉ dành riêng cho Windows?


99

Nếu một công cụ hỗ trợ Windows, OS X và Linux, tại sao đôi khi chúng ta thấy các trò chơi sử dụng các công cụ này, như Space Hulk: Deathwing , chỉ giới hạn ở Windows?


25
Nó có nghĩa là nó có thể được xây dựng đa nền tảng, nó không có nghĩa là nó không đòi hỏi nỗ lực bổ sung.
đầm lầy

Lý do đơn giản là đại đa số loại game đó là trên PC.
Fattie

Câu trả lời:


150

Lý do kỹ thuật:

  • Nền tảng trò chơi được tạo cụ thể : Khi một số nhà phát triển tạo trò chơi của họ, đôi khi họ có thể dựa vào các chức năng cụ thể của nền tảng. Mặc dù công cụ trò chơi có thể xây dựng trò chơi cho nhiều nền tảng, nhưng mã cụ thể không phải trò chơi có thể thực hiện một cuộc gọi cụ thể của Windows không tồn tại trên các nền tảng khác hoặc sẽ yêu cầu làm lại một phần khó khăn của trò chơi (Dịch vụ cấp phép, Hệ thống lưu tập tin, vv).
  • Thiếu máy có khả năng : Trong một thời gian dài, hầu hết các máy tính Apple không có đủ sức mạnh đồ họa để chạy hầu hết các trò chơi. Vậy tại sao phát hành ở một nơi mà người dùng rất có thể sẽ chỉ có trải nghiệm xấu? Điều này đang dần thay đổi, nhờ đồ họa tích hợp tốt hơn, nhưng vẫn có thể là một lý do khiến một số người chỉ đi Windows.
  • Tương thích với Plugin / Thư viện : Các nhà phát triển trò chơi có thể sử dụng các thư viện của bên thứ 3 để giúp tăng tốc độ phát triển hoặc sử dụng mã xác thực / mã xác thực của ngành (SSL, thư viện tuần tự hóa, v.v.). Nếu những thứ này không hỗ trợ nền tảng X, thì trò chơi rất có thể sẽ không chạy một cách đáng tin cậy trên nó, vì vậy chúng bị loại trừ.
  • Tăng QA : Trong quá trình phát triển trò chơi, có một phần nhỏ của nhóm đảm bảo rằng không có lỗi và trò chơi đáp ứng các tiêu chuẩn hiệu suất. Khi bạn thêm một nền tảng, trò chơi về cơ bản phải được thử nghiệm hai lần! Các phần chung của trò chơi có thể được để lại một mình, nhưng vẫn còn nhiều thử nghiệm phải làm trước khi phát hành. Điều này cũng có thể dẫn đến tăng chi phí, không chỉ với thời gian bổ sung cần thiết mà còn cả phần cứng chuyên dụng, tùy thuộc vào nền tảng (Apple, Xbox, PlayStation, Điện thoại, v.v.).
  • Hỗ trợ tăng : Khi trò chơi phát hành, họ sẽ có lỗi (một số trò chơi nhiều hơn những trò chơi khác). Khi bạn thêm nhiều nền tảng, số lượng hỗ trợ sau phát hành mà nhà phát triển phải tăng lên. Các lỗi dành riêng cho nền tảng sẽ phải được sửa theo cách sửa lỗi cho nền tảng bị hỏng và không ảnh hưởng đến các nền tảng không bị ảnh hưởng. Nếu một nền tảng thay đổi, giả sử, Windows 7 thành 8 hoặc lặp OSX, sẽ phải có một số mức QA để đảm bảo rằng không có lỗi trên phiên bản mới hơn. Và, nếu có, đó là một nền tảng khác phải được hỗ trợ cùng với phiên bản cũ hơn. Điều này có thể ảnh hưởng rất lớn đến chi phí, đặc biệt là sau khi trò chơi ra mắt (là trò chơi không kiếm được nhiều tiền), 3-6 tháng sau khi phát hành.

Lý do phi kỹ thuật:

  • Thỏa thuận nhà xuất bản : Một số nhà phát triển sẽ có thỏa thuận với chủ sở hữu nền tảng để phát hành cụ thể trên nền tảng của họ. Mặc dù điều này xảy ra nhiều hơn với bảng điều khiển, nhưng điều này cũng có thể xảy ra đối với các nền tảng PC (ví dụ: Windows).
  • Nhà phát triển bên thứ nhất : Một số nhà phát triển được sở hữu bởi chủ sở hữu nền tảng và không được phép phát hành trò chơi của họ trên các nền tảng cụ thể. Bạn có thể sẽ không thấy Halo trên PS4 hoặc Forza trên Mac.
  • Thiếu khán giả : Các nhà phát triển có rất nhiều số liệu thống kê về xu hướng tiêu dùng trên các nền tảng cụ thể, đặc biệt nếu họ có các nhà xuất bản lớn với nhiều dữ liệu có sẵn. Nếu họ có thông tin nói rằng 90% đối tượng mục tiêu của họ là trên Windows, họ có thể không bận tâm phát hành trên các nền tảng khác để thử và giảm các lỗi tiềm ẩn hoặc / và giữ cho tài liệu tiếp thị tập trung.
  • Không đáp ứng Yêu cầu về Nền tảng : Một số nền tảng như App Store của Apple có các yêu cầu nghiêm ngặt về bố cục và thiết kế cần phải được tuân theo để được xuất bản. Nếu một trò chơi không đáp ứng các yêu cầu này cho một nền tảng phân phối cụ thể, có thể không đáng để dành thời gian kỹ thuật để điều chỉnh trò chơi và phát hành nó nếu không có đủ doanh số dự đoán.
  • Thiếu kinh nghiệm với nền tảng : Nếu nhà phát triển chỉ làm việc với Windows (và không có / ít người có kinh nghiệm về các hệ thống khác), có thể có rất nhiều công việc để tìm hiểu những khác biệt nhỏ có thể gây ra sự cố phát triển muộn hoặc có thể không đủ ngân sách để thuê nhân viên mới chịu trách nhiệm xây dựng Linux / OSX.
  • Chi phí tiếp thị : nếu hai nền tảng có đối tượng hoặc nhóm tuổi khác nhau đáng kể, tài liệu tiếp thị cho một nền tảng có thể không đạt được ý nghĩa khác là phải chi nhiều tiền hơn cho tiếp thị. Nếu hai nhóm yêu cầu tiếp thị khác nhau, tất cả phải được tạo lại với đối tượng mục tiêu mới trong tâm trí. Tiếp thị có thể trở nên cực kỳ tốn kém, đặc biệt là với các bản phát hành lớn, càng nhiều nền tảng cần tiếp thị thì chi phí càng tăng nhanh.

Tôi chắc chắn có nhiều hơn nữa. Đây chỉ là một số đỉnh đầu của tôi. Hi vọng điêu nay co ich.


26
Đây là một câu trả lời hay nhưng tôi nghĩ bạn bỏ lỡ một yếu tố quan trọng khác: chi phí xét nghiệm / QA. Các công cụ đa nền tảng không bao giờ thực hiện một công việc hoàn hảo là che giấu sự khác biệt của nền tảng, do đó, điều cần thiết là phải thử nghiệm trên tất cả các nền tảng đích. Có thể có các lỗi chỉ hiển thị trên một nền tảng hoặc sự khác biệt hiệu suất đáng kể liên quan đến việc triển khai khác nhau trên các nền tảng khác nhau. Cũng có thể có sự khác biệt về hành vi trong chức năng được cho là đa nền tảng. Bạn cần tăng thời gian QA và để cung cấp cho người kiểm tra thêm phần cứng. Một số nhà phát triển sẽ cần thêm phần cứng và phần mềm.
mattnewport

2
Tôi nghĩ rằng tôi đã đề cập đến điều đó trong phần thiếu kinh nghiệm .... nhưng tôi có thể thêm nó :) luôn luôn tốt hơn
user3797758

5
Tôi sẽ đồng ý với @mattnewport rằng chi phí được tiết lộ ở đây - có thể khá tốn công sức để phát triển, xây dựng, kiểm tra, gỡ lỗi, rửa, lặp lại cho nhiều nền tảng. Nó đủ khó để kiểm tra chính xác các cấu hình phần cứng khác nhau cho một nền tảng duy nhất!
AC

3
Ngoài ra, "hỗ trợ" đôi khi được phóng đại rất nhiều. Nhiều công cụ "hỗ trợ" Windows, nhưng thực sự bạn sẽ phải cài đặt Visual Studio và Python và Perl và Cygwin và Msys và 5 hương vị của MinGW và gigabyte thư viện để thực sự sử dụng nó.
AndreKR

2
"Các nhà phát triển có rất nhiều số liệu thống kê về xu hướng của người tiêu dùng trên các nền tảng cụ thể" - tất nhiên, sử dụng điều đó để xác định nền tảng nào hỗ trợ về mặt kỹ thuật là một lời tiên tri tự khắc phục.
HOẶC Mapper

30

Bởi vì có sẵn không có nghĩa là miễn phí và ngay lập tức.

Hỗ trợ thêm một hệ điều hành, ở dạng đơn giản nhất, có nghĩa là thêm một nền tảng để cung cấp hỗ trợ kỹ thuật cho.

Càng nhiều nền tảng bạn hỗ trợ = Bạn càng có nhiều nền tảng để cung cấp hỗ trợ cho = Dành nhiều thời gian hơn cho hỗ trợ = Mất thời gian làm việc có thể đã dành để cải thiện trò chơi của bạn.

Việc hỗ trợ một nền tảng hoàn toàn phụ thuộc vào sự tự tin trong đó nếu trò chơi của bạn có thể thu hút đủ lượng người chơi trong nền tảng mục tiêu đó, thì nó sẽ bù đắp cho thời gian bạn dành để cung cấp hỗ trợ cho nền tảng.


2
Ngoài ra còn nhiều công việc bị mất để phát triển thị trường (App store, Steam, Google play) và tích hợp cụ thể nền tảng đặc biệt là trong bộ phận xã hội. (bạn bè, chia sẻ, xác thực)
CostelloNicho

18

Có những câu trả lời tốt cho đến nay, nhưng chúng ta hãy đi đến điểm mấu chốt.

Theo khảo sát phần cứng tháng 6 năm 2017 của Steam, 96,24% người dùng đã lấy mẫu Windows đã sử dụng. Trong số người dùng Windows, 87,37% là Windows 10 hoặc 7, 64 hoặc 32 bit. Các biến thể OSX chiếm 2,95% người dùng và các biến thể Linux có tổng số 0,72%.

Thời gian là tiền bạc. Trừ khi thị trường của bạn thích hợp và nhắm mục tiêu cụ thể đến OSX hoặc Linux, bạn sẽ phải bán rất nhiều trò chơi trước khi <4% thị trường đáng để bạn dành thời gian, đặc biệt là khi các nhà phát triển trò chơi thường kéo dài thời gian để hoàn thiện tính năng sản phẩm của họ.


3
... Và điều này cũng giả sử trung bình tất cả những người dùng đó trả tiền tương đương cho các trò chơi. Tôi nhớ các số liệu thống kê cho Android so với Windows Phone, trong khi Android có thị phần thiết bị lớn hơn nhiều, doanh thu trực tiếp (không phải quảng cáo) là khá giống nhau - và cả hai đều nhỏ bé so với iOS. Nếu bạn đang bán một trò chơi, bạn cần biết mọi người sẵn sàng trả bao nhiêu. Tạo một trò chơi cho một phân khúc 0,7% của thị trường mà hiếm khi mua trò chơi là hoàn toàn không phù hợp: D Có lẽ nó sẽ không có giá trị ngay cả khi động cơ này là đa nền tảng hoàn hảo (không có vấn đề kỳ lạ trên các nền tảng khác nhau).
Luaan

1
@Luaan Theo Humble Bundle, doanh thu cho Linux chỉ kém Mac một chút mặc dù Mac phổ biến gấp ba lần. Có thể giải thích bởi thực tế là các máy tính Linux cao cấp có xu hướng có card đồ họa tốt hơn nhiều so với máy Mac có cùng giá vì sự đánh đổi của các máy này nằm ở nơi khác.
stommestack

1
@JopV. Gói khiêm tốn là một chút khó khăn vì yếu tố bó. Nếu tôi chỉ quan tâm đến một trò chơi trong gói, tôi không có xu hướng trả nhiều tiền hơn chỉ vì tôi nhận được các trò chơi bổ sung mà tôi sẽ không chơi (hoặc các trò chơi tôi đã trả tiền trước đó, đôi khi nhiều lần; vâng, tôi có một chút điên: P). Cũng có thể có một ảnh hưởng từ thực tế là Linux đã bị bỏ qua phần lớn để chơi game cho đến gần đây, vì vậy ai đó với máy tính Mac hoặc Win có thể đã có một số trò chơi, trong khi đó có thể là bản phát hành đầu tiên cho Linux. Có lẽ. Họ cũng có số liệu thống kê từ Cửa hàng Humble?
Luaan

2
@Luaan Mỗi khi có một Gói Indie khiêm tốn, có một số thống kê ở gần cuối trang, bao gồm tổng số tiền và trung bình số tiền đóng góp cho mỗi HĐH. Họ ở lại khá nhất quán mỗi bó.
stommestack

14

Các câu trả lời khác ở đây là tốt, nhưng đây là một câu trả lời không được đề cập.

Tôi đang gặp vấn đề này ngay bây giờ - nhóm của tôi sắp phát hành một trò chơi được tạo trong Unity cho Windows / Mac. Chúng tôi đã nhận được rất nhiều câu hỏi tại sao trò chơi của chúng tôi không có trên thiết bị di động. Có 2 câu trả lời chính:

1) Điện thoại đơn giản là không đủ mạnh để theo kịp trò chơi. Có lẽ chúng ta có thể giảm độ trung thực của nghệ thuật (ít đa giác hơn trong các mô hình, ít pixel hơn trong kết cấu, v.v.), nhưng điều đó chỉ đi xa hơn. Hầu hết các trò chơi sẽ cần phải được viết lại để được tối ưu hóa đủ cho điện thoại chạy nó. Chúng tôi đã thử nó, nhưng chúng tôi chỉ có khoảng 0,5 khung hình mỗi giây. Rõ ràng, không thể chơi được.

2) Đầu vào. Toàn bộ giao diện người dùng được thiết kế xung quanh bằng chuột và một phần của trò chơi phụ thuộc vào việc biết chuột ở đâu tại bất kỳ thời điểm nào. Toàn bộ cơ chế nhập liệu của chúng tôi sẽ phải được viết lại để trò chơi vẫn hoạt động mà không biết chuột đang ở đâu và chuyển các hành động "chạm" khác nhau trên màn hình thành các hành động "chuột" để có cùng chức năng. Giống như user3797758 được đề cập trong câu trả lời của họ, điều này sẽ yêu cầu các công cụ được viết lại để các đầu vào "chuột" và "chạm" có thể được đưa vào cùng một hệ thống và một lỗi trong một lỗi sẽ không ảnh hưởng đến lỗi khác và khắc phục lỗi đó cũng sẽ không ảnh hưởng đến người khác. Điều này đòi hỏi nhiều nguồn lực để làm hơn nhóm của tôi có sẵn tại thời điểm này.

Cũng được đề cập trong câu trả lời của user3797758, chúng tôi thậm chí không có hỗ trợ Linux vì một trong các gói của chúng tôi gặp sự cố trên các máy Linux, nhưng hoạt động trên Windows / Mac. Chỉ vì động cơ đa nền tảng không có nghĩa là mọi thứ sử dụng nó.


1
Điện thoại của tôi có thể chơi GTA Vice City mà không gặp rắc rối. Âm thanh như công cụ kết xuất của bạn là không hiệu quả! :)
Các cuộc đua nhẹ nhàng trong quỹ đạo

2
Dù sao, câu trả lời này liên quan nhiều hơn đến việc chuyển các trò chơi sang các nền tảng / mô hình phần cứng khác nhau và ít hơn về các hệ điều hành trên PC
Các cuộc đua Lightness trong Orbit

2
@LightnessRacesinOrbit, đó là Unity ... Thực sự, chúng tôi có một hiệu ứng đặc biệt là trung tâm của trò chơi và thực sự không hiệu quả. Người viết nó đã biến mất và chúng tôi không thể tìm ra cách để làm cho nó tốt hơn. Đó là cuộc sống ...
Cody

3
@JopV. Ừm ... không. Lịch sử là một nhỏ phức tạp hơn chút hơn thế. Nhưng thực sự không có điểm nào để thảo luận về vấn đề này ở đây. Tôi sẽ chỉ lưu ý rằng OpenGL là API kết xuất 3D; DirectX rộng hơn thế nhiều. Nếu bạn cần tham gia vào cuộc tranh luận vô nghĩa, ít nhất hãy so sánh OpenGL với Direct3D :) OpenGL được thiết kế cho công việc 3D chuyên nghiệp ("mở" IrisGL độc quyền). Nền tảng nào khác hỗ trợ OpenGL tại thời điểm đó? Không có "cản trở phát triển đa nền tảng" - Windows có hỗ trợ OpenGL riêng. OpenGL không bao giờ được dành cho bất cứ điều gì ngoại trừ công việc chuyên nghiệp cao cấp.
Luaan

2
gpus điện thoại ít mạnh hơn nhiều so với đồ họa intel vì chúng có giới hạn nhiệt và kích thước. cũng có nhiều người có điện thoại không hỗ trợ opengl es 3.0, vì vậy chỉ có vài người có thể sử dụng ứng dụng của bạn trừ khi bạn viết lại trò chơi của mình cho opengl es 2.0 nguyên thủy
Suici Doga
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.