Tính khả thi của một trò chơi XNA trên PC


19

Một người bạn và tôi đang làm một game 2D XNA. Cho đến nay, API có vẻ rất tuyệt và hiệu suất có thể chấp nhận được. Câu hỏi của tôi là nhiều hơn đối với việc phát hành nó mặc dù. Là những nhà phát triển khác đã thực hiện các trò chơi như thế nào, họ đã làm tốt như thế nào cho bạn trên PC (như tải về, bán hàng, v.v.)? Tôi biết các số liệu thống kê về Xbox360 khi nhìn thấy nó một cách cá nhân nhưng, tôi tò mò không biết những thành công này trên PC như thế nào?

Câu trả lời:


25

Tôi không có bất kỳ số liệu thống kê nào để so sánh sự khác biệt giữa doanh số trò chơi XNA và không phải XNA - Tôi cho rằng dữ liệu là không thể thực hiện được - nhưng tôi tưởng tượng rằng nó sẽ không có sự khác biệt đối với các trò chơi tương đương. Vì vậy, hãy để tôi trả lời câu hỏi của bạn bằng cách giải quyết các vấn đề chính cụ thể về phân phối trò chơi XNA trên PC (đặc biệt là trực tuyến):


Trước hết: Để một trò chơi XNA chạy hệ thống cần phải cài đặt: XNA Framework và .NET Framework.

XNA Framework là một bản tải xuống khá nhỏ, dễ cài đặt, nhưng sẽ yêu cầu quyền quản trị - vì vậy sẽ gây ra lời nhắc UAC cũng như lời nhắc EULA. Khung này không tương thích lên hoặc xuống - nhưng có thể được cài đặt cạnh nhau. (ví dụ: trò chơi XNA 3.1 cần XNA 3.1 và sẽ không chạy trên XNA 4.0).

.NET Framework 2.0 được gói trên Vista trở lên, vì vậy tôi khuyên bạn nên nhắm mục tiêu đó (Thuộc tính dự án -> Khung mục tiêu). [CẬP NHẬT: XNA 4 yêu cầu .NET 4, vì vậy điều này sẽ không hoạt động nữa]

Cài đặt .NET 3.5 rất, rất chậm - Tôi khuyên bạn nên tránh nó. Tôi không chắc chắn về cài đặt 4.0 đầy đủ, nhưng cài đặt Hồ sơ khách hàng 4.0 đủ nhanh nếu bạn cần các tính năng .NET mới hơn (có thể bạn không - bạn vẫn có thể sử dụng lambdascác phương thức mở rộng trong .NET 2.0).

Tất nhiên, cài đặt .NET Framework sẽ gây ra dấu nhắc UAC và EULA. Nó cũng có thể gây ra khởi động lại.


Hiện tại, cách "tiêu chuẩn" để phân phối trò chơi XNA là với ClickOnce . Bạn có thể thực hiện cài đặt trực tuyến - nhược điểm là người dùng của bạn có một trình cài đặt "bootstrap" nhỏ có thể thực thi, kéo tất cả các tệp trò chơi lỏng lẻo khỏi trang web của bạn. Thay phiên, bạn chỉ có thể phân phối tất cả các tệp lỏng lẻo và trình cài đặt trong một zip. Đây không phải là một tập tin thực thi độc lập như người dùng mong đợi từ hầu hết các trò chơi.

Một nỗi đau lớn của ClickOnce là nó sẽ hiển thị một số cảnh báo về việc tải xuống phần mềm không dấu, có thể trông khá đáng sợ.

Một nhược điểm khác của ClickOnce là bạn không có nhiều quyền kiểm soát đối với những thứ như, ví dụ, những mục menu bắt đầu bạn có.

Ưu điểm của việc sử dụng ClickOnce là rất dễ thiết lập và nó sẽ tự động tải xuống và cài đặt các khung cần thiết từ trang web của Microsoft.

Tôi có ấn tượng rằng những vấn đề này với ClickOnce có thể được giải quyết bằng cách sử dụng MSI thay vào đó - và nó vẫn có thể tự động tải xuống và cài đặt các khung cần thiết. Tôi sợ rằng tôi không có hướng dẫn cụ thể cho việc này trong tay.


Nếu bạn tự cài đặt hoặc hoàn toàn không cài đặt, bạn cần lưu ý rằng chương trình thực thi trò chơi của bạn sẽ gặp sự cố với thông báo lỗi cực kỳ không có ích nếu thiếu các khung yêu cầu!


Ồ, và cài đặt của bạn có thể lớn hơn một chút (hoặc rất nhiều, nếu bạn bao gồm các khung). Nếu bạn đang sử dụng nội dung được tích hợp sẵn của XNA (và tại sao không, nó ở đó và dễ dàng), người dùng của bạn có thể tải xuống nhiều hơn vì các tệp không được nén cũng như nếu bạn tự xử lý (đặc biệt là âm thanh) .


Đó là về nó. Khi trò chơi được cài đặt, bạn sẽ gặp tình huống giống hệt với bất kỳ trò chơi nào khác sử dụng DirectX gốc (nghĩa là: hầu hết trong số chúng).

(Nếu bạn đang làm một cái gì đó như phân phối CD-ROM, thay vì phân phối trực tuyến, bạn có thể phải đối mặt với một số vấn đề tương tự tôi đã mô tả - nhưng bạn có thể đặt mọi thứ cần phải được tải xuống vào CD của mình, bao gồm cả các khung yêu cầu.)

Nếu bạn đang thực hiện phần mềm chia sẻ có thể tải xuống, về cơ bản, bạn đang cố gắng đưa người dùng theo một chuỗi từ tìm hiểu về phần mềm của bạn, đến chơi bản demo, để mua toàn bộ trò chơi. Nhược điểm của XNA là nó làm cho bước cài đặt trong chuỗi này khó hơn một chút để đánh bóng - nhưng vẫn có thể.

(IMO mặt trái của sự phát triển dễ dàng hơn và khả năng tương thích XBox rất đáng giá.)

Vì vậy, để đưa vấn đề này trở lại câu hỏi của bạn: sử dụng XNA có thể tạo ra một sự khác biệt nhỏ - nhưng không đủ để nó quan trọng. Vì vậy, bất kỳ số liệu thống kê nào bạn tìm thấy về doanh số trò chơi trên PC nên được áp dụng cho các trò chơi XNA trên PC.


Thật tuyệt, CUỐI CÙNG Tôi biết cách phân phối trò chơi XNA 2.0 của mình (vâng, tôi đã tạo một trò chơi khi 2.0 mới và tôi đã tìm kiếm rộng rãi nhưng không thể tìm thấy cách dễ dàng để trình cài đặt tải xuống tất cả mọi thứ cần thiết để không bị sập người dùng kém ...)
tốc

@speeder Thật đáng để chỉ ra rằng các tính năng ClickOnce là mới trong XNA 3.0, xem bài đăng này tại đây: blog.msdn.com/b/astebner/archive/2008/09/18/8957968.aspx Có cách giải quyết cho 2.0 - mặc dù tôi nghĩ rằng cách dễ nhất có thể là nâng cấp từ XNA 2.0 lên 3.1.
Andrew Russell

1
.Net 4.0 luôn gây ra khởi động lại trên máy của tôi - chỉ cần lưu ý điều đó.
Jonathan Dickinson

Không có vấn đề cấp phép nào với việc đóng gói các khung trên đĩa cd để tự phân phối sao?
Bill

1
@Bill: Không: "Tải xuống XNA Framework Redistributable cung cấp cho các nhà phát triển trò chơi các thư viện thời gian chạy XNA Framework mà họ có thể bao gồm với sản phẩm của họ để phân phối lại trên nền tảng Windows." Tham khảo
Andrew Russell

5

Đã hơn một năm kể từ khi chủ đề này được tạo ra, và kể từ đó đã có khá nhiều sự phát triển về phía XNA. Chẳng hạn, đây là danh sách một vài trò chơi XNA phổ biến đã được phát hành cho PC và hiện đang được bán trên Steam:

... và đây chỉ là những cái tôi tình cờ mua và nhận thấy rằng họ đã sử dụng thời gian chạy XNA - tôi chắc chắn có nhiều thứ trong số đó mà tôi không biết.

Và trong trường hợp bạn không biết chúng, Terraria đã bán một số lượng bản sao đáng kinh ngạc (nếu bạn không thể biết từ chối trách nhiệm "hơn một triệu bản được bán" trên liên kết ở trên), vẫn còn trong danh sách bán chạy nhất của Steam trong một thời gian dài . Và Bastion ... cũng vừa giành được ba giải thưởng Spike VG (bao gồm trò chơi có thể tải xuống tốt nhất trong năm) vài ngày trước .

Tôi cũng kêu gọi bạn kiểm tra các trò chơi khác. Chime là một game bình thường / âm nhạc tuyệt vời mang đến trải nghiệm cực kỳ thư giãn. Và Sequence là sự pha trộn thực sự nguyên bản giữa DDR và ​​RPG (với một số bản nhạc của Ronald Jenkees cho những người biết anh ta). Cuối cùng, Magicka là một game nhập vai hành động tương tự Diablo cũng khá tuyệt.

Tôi cho rằng nên nói điều gì đó về tính khả thi của việc sử dụng XNA để phát triển các trò chơi trên PC.


1
Ngoài ra, một cập nhật khác đáng chú ý là tái sử dụng mã. Ngày nay, có những dự án như MonoGame sẽ cho phép nhà phát triển giữ hầu hết cơ sở mã XNA của họ (nếu không phải tất cả) và có thể chạy phiên bản đa nền tảng của trò chơi đó. Một ví dụ điển hình là Bastion chạy trong Chrome (có sẵn trong Cửa hàng Chrome trực tuyến).
Darren Reid

1
@Layoric Trên lưu ý đó, tôi khá hào hứng về điều này (chỉ nghe về nó vài ngày trước). :)
David Gouveia

3
+1 để hiển thị nơi XNA đã đến. Mặc dù, như hầu hết các nhà phát triển sẽ nhận ra, XNA đang trở nên lỗi thời, nó vẫn đang chạy DX9 và không có nhiều từ phát triển cho nó. Tôi khuyên bạn nên xem ANX, nó cho phép bạn chỉ cần thay đổi không gian tên và sử dụng hệ thống của họ. Lợi ích của việc này là bạn có được một khung công tác cập nhật mã nguồn mở liên tục chạy trên sharpdx. Một hệ thống opengl cũng đang được phát triển, cho phép thay đổi trình kết xuất nhanh chóng. nỗi lo làm việc.codeplex.com
FrenchyNZ

1
@Twitchy Điều đó là đúng, nhưng tôi không hy vọng điều này sẽ tồn tại lâu. Bài đăng trên blog của Andrew Russell ( andrewrussell.net/2011/11/predictions-on-xna-in-windows-8 ) về tương lai của XNA / Windows 8 giải thích lý do đằng sau việc sử dụng DX9 và cung cấp lý do chính đáng để đề xuất rằng phiên bản XNA mới hơn hỗ trợ DX10-11 có lẽ đã hoạt động.
Darren Reid

@Twitchy Thật hài hước khi bạn đề cập đến ANX ngay sau khi tôi liên kết nó! Tôi thực sự mong muốn kiểm tra nó một khi nó trở nên ổn định. Nhưng một phiên bản XNA mới cũng rất được hoan nghênh.
David Gouveia

1

Không có ý tưởng về số liệu thống kê thực tế, nhưng nó có thể đáng để nắm bắt nếu bạn có thể tìm thấy bất cứ điều gì về vườn việt quấtflotilla . Cả hai đều được viết bằng XNA và cả hai đều có sẵn trên hơi nước. Flotilla thậm chí có một số steamworks (chỉ là danh sách bạn bè tôi tin) hỗ trợ tích hợp


Ồ tuyệt. Tôi không biết Steam thực sự sẽ chấp nhận các trò chơi XNA.
Corv1nus

Điều gì xảy ra nếu người dùng không cài đặt .NET?
Iain

2
Bạn có thể viết một trình cài đặt để kiểm tra cả .NET và XNA. Tôi đã thực hiện nó cho hầu hết các trò chơi nhỏ mà tôi đã phát hành cho XNA
Jeff

1
Steam có hỗ trợ kiểm tra các phụ thuộc và cài đặt chúng, tôi giả sử xung có một hệ thống tương tự.
Cubed2D

1

Bằng cách tạo trò chơi của bạn bằng XNA, bạn sẽ không làm tổn hại đến doanh số của mình quá nhiều. (Được cấp, người dùng trên Mac / Linux sẽ không thể chơi). Những gì sẽ là một yếu tố lớn hơn là quảng cáo, trêu ghẹo, demo và chơi trò chơi thực tế.

Hầu hết người dùng windows sẽ có mọi thứ họ cần để chơi trò chơi của bạn. Nếu bạn muốn thực sự thận trọng, tôi có thể yêu cầu trình cài đặt kiểm tra các yêu cầu như .net, xna runtime, directX, v.v ... và nhắc họ cài đặt nó.

Về cơ bản, đừng nghĩ rằng bằng cách sử dụng XNA, DirectX thuần túy hoặc Direct3D mà bạn sẽ có được doanh số lớn hơn. Bạn có được một lượng khán giả lớn hơn, nhưng điều đó không tương đương với doanh số.

Tập trung vào việc tạo ra một trò chơi tuyệt vời, đầu tư một số tiền vào quảng cáo (tạo một trang fanpage trên Facebook và xem liệu bạn có thể tạo ra một số tiếng vang ở đó không), dành thời gian để tạo một video trêu ghẹo hay và hầu hết đều xây dựng một bản demo vui nhộn.

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.