Tương lai của XNA trong Windows 8 là gì hoặc các trò chơi được quản lý sẽ được phát triển trong Windows 8 như thế nào? [đóng cửa]


83

Tôi biết đây là một bản sao tiềm năng của câu hỏi này , nhưng câu trả lời cuối cùng đã có từ 18 tháng trước và rất nhiều điều đã xảy ra kể từ đó.

Dường như có một số điểm không chắc chắn về XNA trong Windows 8. Cụ thể, Windows 8 theo mặc định sử dụng giao diện Metro, không được XNA hỗ trợ. Ngoài ra, cửa hàng Windows 8 sẽ không lưu trữ các ứng dụng không phải là tàu điện ngầm, vì vậy nó sẽ không lưu trữ các ứng dụng XNA.

Chúng ta có nên gắn bó với XNA hay Microsoft muốn chúng ta chuyển sang một khuôn khổ khác để phát triển trò chơi được quản lý trong Windows 8?

Chỉnh sửa: Như đã chỉ ra trong một trong các ý kiến, Windows 8 sẽ có thể chạy các trò chơi XNA ở chế độ tương thích ngược. Nhưng đó là mùi của sự phản đối.


2
Windows 8 có chế độ tương thích ngược ra khỏi hộp, vậy tại sao điều này sẽ là một vấn đề?
tro999

6
Nếu tôi muốn phát triển trò chơi ac # cho giao diện người dùng metro, tôi nên sử dụng khung nào?
Ken

5
Bạn nên sử dụng SharpDX.
Jonathan Dickinson

+1 cho Johnathan. SharpDX hiện hỗ trợ DirectX 11.1 để tương thích với Metro.
ChrisC

4
@Deza: Không chỉ không có hỗ trợ metro, mà XNA cũng sẽ không được sử dụng cho Windows Phone 8. Trên hết, nếu XNA không được cập nhật, nó sẽ không bao giờ hỗ trợ DX11 và sẽ không hoạt động cho bảng điều khiển Xbox sắp tới. Có rất nhiều lý do để các nhà phát triển né tránh XNA nếu nó không được cập nhật.
Nic Foster

Câu trả lời:


61

EDIT: Chính thức, Microsoft đã giết XNA . Tôi rất buồn vì điều này nhưng điều đó không bất ngờ, đó là điều tôi dự đoán sẽ xảy ra, nhưng hy vọng tôi đã sai. Tất cả mọi thứ dưới điểm này là bài viết gốc của tôi từ đầu năm 2012.

Một điều khác cần xem xét là Microsoft có thể sẽ phát hành một giao diện điều khiển mới vào giữa đến cuối năm 2013. Họ sẽ tiếp tục cố gắng để có một cái gì đó như XNA hoạt động trên bảng điều khiển của họ chứ? Nếu họ muốn các cá nhân tạo trò chơi trên Xbox mới, họ sẽ cần một cái gì đó và sẽ thật lãng phí khi loại bỏ XNA và bắt đầu lại với một thứ khác. Ngoài ra, Windows 8 sẽ chạy trên máy tính bảng có bộ xử lý ARM và tất cả chúng ta đều biết thị trường ứng dụng cho điện thoại và máy tính bảng lớn như thế nào, đó là cơ hội lớn để Microsoft có API tạo ứng dụng trên các thiết bị đó, nhưng đó sẽ là XNA , hay chỉ .NET?

Tôi thấy một vài con đường tiềm năng:

  1. XNA đã không cực kỳ thành công với Xbox hiện tại, chủ yếu là do số lượng trò chơi XNA đang hiển thị và cách thiết lập cửa hàng kém cho các trò chơi XNA trên Xbox Live. Vì vậy, Microsoft có thể quyết định rút hoàn toàn phích cắm, để lại cho chúng tôi XNA 4.0, tương thích với DX10 và sẽ là nền tảng phù hợp để mọi người tạo các trò chơi PC đơn giản trong vài năm tới trước khi nó biến mất.

  2. Microsoft có thể thấy các khả năng lớn với các ứng dụng tự chế, những thứ như App Store của Apple là những nhà sản xuất tiền khổng lồ và nếu Microsoft có thể làm cho trò chơi dễ dàng hơn và đưa chúng lên máy tính bảng Xbox Live và Windows 8, thì họ có cơ hội làm cho nó trở nên lớn hơn trong thị trường ứng dụng console. Nếu Microsoft đi theo con đường này, tôi sẽ thấy XNA mới hỗ trợ DX11.1 với phiên bản tiếp theo và tiếp tục hỗ trợ cho XNA trong ít nhất 5 năm nữa.

Một số điều cần xem xét:

  • Hiện tại với XNA, bạn phải trả 100 đô la nếu bạn muốn phát triển trò chơi của mình cho Xbox 360, đó là 100 đô la chỉ để dùng thử và xem bạn có thể kiếm được tiền hay không, và thậm chí sau đó MS nhận được một phần lợi nhuận từ trò chơi của bạn. Nếu Microsoft bỏ ra khoản phí 100 đô la và chỉ mất một phần lợi nhuận, họ thực sự có thể sẽ thấy nhiều trò chơi hơn và kiếm được nhiều tiền hơn từ thỏa thuận này.

  • Các trò chơi XNA có vấn đề về hiệu năng trên Xbox 360. Microsoft không muốn các trò chơi XNA có rủi ro bảo mật khi họ chạy trên Xbox của người khác, vì vậy về cơ bản họ chạy các trò chơi XNA trong hộp cát với quyền truy cập hạn chế vào CPU, GPU và bộ nhớ. Ngoài quyền truy cập hạn chế, các trò chơi được lập trình trên Xbox SDK đầy đủ không được viết bằng C # và không cần những thứ như bộ sưu tập rác, nhưng XNA chạy trên C # của chính Microsoft, vì vậy Microsoft phải viết một trình bao bọc để XNA chạy trên Xbox và trình bao bọc đó làm mọi thứ chậm lại một chút. Những thứ như hiệu suất điểm nổi có thể chậm hơn tới 10 lần so với các trò chơi Xbox được viết thông qua SDK đầy đủ. Những vấn đề về hiệu suất này có nghĩa là các trò chơi Xbox được phát triển thông qua XNA thực sự không thể sử dụng toàn bộ tiềm năng của Xbox, điều này chỉ làm tổn hại đến chất lượng của các trò chơi mà Microsoft có thể nhận được từ cộng đồng. Microsoft sẽ làm tốt việc xem xét điều này nếu họ tiếp tục với XNA để bảng điều khiển tiếp theo của họ cho phép các nhà phát triển XNA sử dụng toàn bộ hệ thống.

  • Theo tôi biết, XNA sẽ không hỗ trợ kiểu tàu điện ngầm của Windows 8, vì vậy các nhà phát triển sẽ không thể viết trò chơi để tận dụng lợi thế của nó. XNA cũng sẽ không chạy trên bộ xử lý ARM, vì vậy bạn không thể sử dụng XNA để viết ứng dụng cho máy tính bảng Windows 8 sắp ra mắt. Đây có phải là dấu hiệu cho thấy XNA có thể không được hỗ trợ trong tương lai không?

  • Microsoft sử dụng XNA cho các trò chơi ngay bây giờ, nhưng với một chút công việc, nó có thể được sử dụng để tạo ra một số ứng dụng thú vị. Nếu Microsoft đẩy XNA đến các cộng đồng khác ngoài các nhà phát triển trò chơi thì nó có thể được sử dụng thường xuyên hơn và có nhiều lý do hơn để Microsoft tiếp tục hỗ trợ.

  • Các diễn đàn XNA đã cạn kiệt một chút, mọi người cần nhiều thời gian hơn để có câu trả lời và tôi hiếm khi thấy bất kỳ thành viên nào của nhóm XNA trên các diễn đàn nữa ngoại trừ Shawn Hargreaves, vì vậy họ có thể chỉ đóng vai trò hỗ trợ vào lúc này.

  • Tôi đã tạo và hỗ trợ một công cụ trò chơi mã nguồn mở cho XNA, trong 2 năm qua, số lượt tải xuống của công cụ này đã giảm xuống khoảng một nửa so với những gì họ bắt đầu, mặc dù công cụ này tốt hơn nhiều so với trước đây. Điều này báo hiệu với tôi rằng có rất ít người đang sử dụng XNA hơn trước đây. Đây là biểu đồ về số lượt truy cập tôi có trên trang web của mình, bạn có thể thấy sự quan tâm đến XNA đạt đỉnh vào khoảng cuối năm 2007 đến giữa năm 2008. Lượt xem trang của QuickStart Engine

Đây là một cuộc thảo luận dài bao gồm một số thành viên của nhóm XNA. Tất nhiên, họ không sẵn sàng bình luận nhiều vì Microsoft không nói nhiều về điều đó trước khi họ công bố:

http://xboxforums.create.msdn.com/forums/t/91616.aspx

Ngoài ra trích dẫn như thế này là thú vị:

Tạo các trò chơi nhập vai bằng sức mạnh của DirectX Ngăn xếp đồ họa Windows 8 mới được tích hợp tốt hơn, giúp các thành phần Direct2D, Direct3D và DirectCompute dễ sử dụng hơn và yêu cầu ít tài nguyên trùng lặp hơn trước. Các khả năng trước đây chỉ có trong XNA, như DirectXMath, XAudio2 và XInput, hiện có sẵn. Để có trải nghiệm tuyệt vời nhất khi chơi game và video, hãy sử dụng DirectX 11.1 để mang 3D lập thể vào các ứng dụng của bạn.

http://doad.microsoft.com/doad/1/E/4/1E455D53-C382-4A39-BA73-55413F183333/Windows_Developer_Preview-Windows8_guide.pdf

Tôi hiện đang hỗ trợ công cụ trò chơi nguồn mở cho XNA, vì vậy tôi muốn thấy nó được hỗ trợ trong tương lai, tuy nhiên, ngay cả khi XNA 4.0 là XNA cuối cùng, nó vẫn là một nền tảng tốt để tạo trò chơi Windows nhanh chóng và dễ dàng một API tuyệt vời cho những ai muốn tìm hiểu cách tạo trò chơi video.

Ý kiến ​​trung thực của tôi là XNA 4.0 sẽ là cái cuối cùng, nhưng tôi thực sự hy vọng tôi đã sai về điều đó.


Đại diện của Microsoft rõ ràng đã nói với mọi người rằng hãy sử dụng MonoGame cho hỗ trợ Windows 8, mặc dù hỗ trợ 3D vẫn còn trong dev. Có thể đáng xem nếu bạn có thể chuyển động cơ của mình :)
David C. Giám mục

1
Phải đó là điều tôi có thể xem xét. Tôi hầu như đã sử dụng dự án công cụ như một sở thích để tìm hiểu thêm về các lĩnh vực phát triển trò chơi mà tôi ít quen thuộc. Với các công cụ như Unity ngoài kia có thể được sử dụng miễn phí, có rất ít việc sử dụng công cụ của tôi (theo như tôi biết). Tôi không chắc mình nghiêm túc đến mức nào để làm cho động cơ dễ tiếp cận hơn khi biết nó sẽ được sử dụng ít như thế nào. Tôi có thể tiếp tục mở rộng công cụ hơn nữa chỉ để tiếp tục thực hành với công nghệ công cụ trò chơi nói chung.
Nic Foster

1
Tôi hiện đang sử dụng Monogame cho trò chơi XNA 3D của mình hiện đang hoạt động trên WP7, Windows và W8. Vẫn còn một số yếu tố quan trọng mà tôi mong muốn ở đó nhưng nó đang được phát triển mạnh mẽ bởi một vài bên quan tâm chính.
RobCurr

47

MonoGame (một triển khai OpenNA, OpenGL của XNA) v2.5 đã được phát hành ngày hôm nay với sự hỗ trợ cho các shader tùy chỉnh trên iOS, Android, MacOS và Linux. Nhóm của chúng tôi đã bắt đầu làm việc để thêm hỗ trợ PlayStation Suite SDK và Window8 Metro (dựa trên SharpDX tôi tin).

Chúng tôi đã có một chi nhánh 3D, được đặt tên một cách tưởng tượng là Develop3d, đó là nơi mà tất cả những nỗ lực của chúng tôi sẽ được tập trung vào những tháng tới, bây giờ v2 đã hết. Hãy xem kênh YouTube của chúng tôi để biết nơi chúng tôi hiện đang ở với 3D - http://www.youtube.com/user/MonoGameTeam?feature=watch .

Chúng tôi có các nhà phát triển từ một vài studio trò chơi giúp đỡ, vì vậy chúng tôi nghĩ rằng nhánh Develop3d nên được tối ưu hóa hơn so với nhánh v2 của chúng tôi hiện tại và nó gần như viết lại hoàn toàn. Bản demo Reach mất 15 phút để chuyển từ Windows sang MacOS X, khi tôi bắt đầu từ đầu cuối tuần trước. Chi nhánh Develop3d vẫn chưa hoàn hảo và cũng không phải là toàn bộ MonoGame, nhưng chúng tôi nghĩ rằng chúng tôi đang trên đường để giải quyết các vấn đề chúng tôi có và nếu có nhiều người giúp đỡ hơn, thậm chí còn tốt hơn.

Hiện đã có 28 trò chơi iOS (27 2D và 1 3D) trên Apple App Store, 5 trên thị trường Android và 1 trên cả hai cửa hàng MacOS và Linux. Nếu bất cứ ai ở đây đã chơi Bastion trong trình duyệt Google Chrome của họ, sử dụng phiên bản MonoGame đã sửa đổi và chúng tôi hy vọng sẽ hỗ trợ các trò chơi NaCL trong tương lai, nhờ SuperGiant gửi cho chúng tôi thông tin về cách họ giúp MonoGame hoạt động với NaCL.

Chúng tôi có khoảng 4-5 nhà phát triển đang hoạt động trên MonoGame và nếu bạn thích trò chuyện với chúng tôi, vui lòng chuyển sang monogame.codeplex.com hoặc trên irc.gnome.org trên kênh #MonoGame. Lấy mã mới nhất từ Github

Vì vậy, tôi cho rằng quan điểm của tôi là, vui lòng xem xét MonoGame nếu bạn dự định viết các trò chơi đa nền tảng bằng XNA.

Thống lĩnh.


4
Đối với bất cứ ai cho tôi điểm số âm, tôi không trả lời câu hỏi của tác giả ban đầu về "trò chơi được quản lý sẽ được phát triển như thế nào trong Windows 8?" Tôi nghĩ rằng tôi đã đề xuất rằng MonoGame sẽ có triển khai Windows 8 trong tương lai, vì vậy đó là một giải pháp thay thế khả thi cho Unity3D, DeltaEngine, v.v. Và tôi cũng đã làm rõ các điểm xoofx về MonoGame. Chỉ tự hỏi tại sao bỏ phiếu xuống.
Dominique

6
Tôi muốn mạo hiểm để đoán nó có thể là vì câu trả lời của bạn đọc giống như một quảng cáo hơn là một câu trả lời.
Josh

6
@Dominique tôi xuống bình chọn bạn. Tôi đã sử dụng và rất thích sản phẩm của bạn nhưng bit có nội dung "Vì vậy, tôi cho rằng quan điểm của tôi là, vui lòng xem xét MonoGame nếu bạn dự định viết các trò chơi đa nền tảng bằng XNA." tóm tắt ý định trả lời của bạn. Một lượng nhỏ thông tin hữu ích không che giấu sự thật rằng đó là cao độ.
ClassicThunder

1
@Dominique Xem Câu hỏi thường gặp về quảng cáo trên trang web. Tôi tin rằng bạn đã thành thật cố gắng trả lời câu hỏi, nhưng có một chút bị cuốn vào việc thúc đẩy dự án của bạn hơn là cung cấp câu trả lời cho câu hỏi. Vì dự án của bạn là nguồn mở, bạn có thể đủ điều kiện cho Quảng cáo quảng cáo cộng đồng và đáng để xem xét. Cảm ơn câu trả lời và chào mừng bạn đến với GDSE.
MichaelHouse

1
Đã được một thời gian kể từ khi tôi trả lời chủ đề này và rất nhiều điều đã xảy ra. Tôi chỉ muốn chỉ ra rằng hiện tại có ít nhất 2 trò chơi trên Cửa hàng xem trước Windows 8, sử dụng MonoGame. ARMED đầu tiên! đã được đặc trưng trên khán đài và trang web của Microsoft gần đây. Truyền thuyết Rune là một. Hãy tìm hiểu thêm các trò chơi hỗ trợ MonoGame đến với Windows 8. Chỉ 2 tuần trước, tôi và một nhà phát triển MonoGame, đã được yêu cầu đến thăm Microsoft Reading, Vương quốc Anh và nói chuyện với họ về MonoGame. Chúng tôi trình bày cho 8 nhà truyền giáo. Ngoài ra Bob Fam lạ, một nhà truyền giáo của Microsoft ở Mỹ, gần đây đã viết một bài báo gồm 3 phần abou
Dominique

16

Từ những gì tôi hiểu về tình huống, nó có thể đi theo một trong hai cách. API đang bị phản đối hoặc chúng đang được tăng cường để tạo phiên bản XNA dựa trên DirectX 11.

Đây là một bài viết về mỗi quan điểm:


8
Tôi thực sự hy vọng đó là điều thứ hai, bởi vì nếu họ đang phản đối XNA sau bao nhiêu lần họ đã đẩy nó trong nhiều năm qua, thì tốt quá.
bắt đầu

@jhocking đồng ý rằng đó là poo. Nhưng là nhà phát triển, chúng ta nên luôn luôn đa ngôn ngữ. XNA cũng là nền tảng yêu thích của tôi, nhưng bây giờ, tôi đoán nó đã trở lại với Flash hoặc một cái gì đó. Thở dài.
tro999

2
lol cũng không "quá" vì tôi chưa bao giờ lập trình trong XNA. Tôi đã suy nghĩ nhiều hơn rằng điều này có thể làm hỏng tất cả những người bạn của tôi, những người tiếp tục truyền giáo XNA. Nó có thể không cá nhân tôi, nhưng tôi cũng không muốn thấy người khác bị lừa.
jhocking

Những điều xảy ra với chính DX sẽ gợi ý rằng sẽ không có phiên bản XNA nào khác. Nhưng, công nghệ thay đổi.
Blecki

11
  1. Tương lai của XNA trên Windows 8 là gì?

    XNA sẽ chỉ chạy trên máy tính để bàn Win8 và gần như không có khả năng Microsoft đang làm việc trên API tương thích XNA chạy trong Win8 Metro UI / DirectX11.1.

    Nếu bạn thực sự muốn tiếp tục phát triển trên XNA như API trên Windows 8 Metro, trong khi vẫn có thể sử dụng đường dẫn nội dung (một trong những lý do tại sao XNA thân thiện với nhà phát triển trò chơi ngân sách thấp), bạn nên theo dự án ANX Framework . Dự án này có một số cơ hội tốt để sẵn sàng trước Windows 8 RTM (ít nhất là với sự hỗ trợ của SpriteBatch). Mặc dù có thể sẽ cần thay đổi một chút các shader (ví dụ như ngữ nghĩa), ANX đang cung cấp một cách để nhập một dự án XNA hiện có, vì vậy điều đó có thể giúp ích rất nhiều. Họ cũng đang làm việc trên các phụ trợ khác (như OpenGL cho đồ họa), vì vậy họ cũng có thể nhắm mục tiêu các nền tảng .NET khác (như Mono trên Android / iPhone).

    MonoGame có thể là một tùy chọn khác, nhưng hiện tại nó chỉ dành cho 2D, với một phụ trợ OpenGL / ES, do đó, nó sẽ không thể chạy trên Windows 8 Metro (OpenGL không phải là API "được chứng nhận" trong Win8 Metro, và rất có thể không nằm trong kế hoạch của Microsoft).

  2. Các trò chơi được quản lý [ngoài sử dụng API XNA] sẽ được phát triển như thế nào trong Windows 8 (Metro)?

    Có một số lựa chọn:

    • Bạn có thể sử dụng trực tiếp SharpDX , API DirectX cấp thấp (ANX đang sử dụng nó). Ví dụ: một khung tối thiểu cho trò chơi 2D thường khả thi với API cấp thấp như thế này (và có thể được thực hiện với Direct2D). Tôi biết ít nhất hai công ty nhỏ đang sử dụng nó để phát triển các trò chơi Win8 Metro.

    • Bạn có thể bắt đầu sử dụng DeltaEngine , tương thích với Win8 Metro trong những tháng tới (có thể sẽ cần giấy phép)

    • Bạn có thể thử phát triển với Unity3D , mặc dù họ chưa công bố bất kỳ hỗ trợ nào của Windows 8 Metro (yêu cầu phải có giấy phép). Nhưng gần đây họ đã làm việc trên trình kết xuất Direct3D11, do đó họ không khó để cung cấp hỗ trợ Win8 (nhưng vì rất nhiều API Win32 không được ủy quyền từ Win8 Metro, có lẽ đó không phải là điều duy nhất họ cần chuyển).


5

Với việc phát hành WinRT , ngày càng rõ ràng rằng cách của Microsoft đã có một bước chuyển lớn. Quản lý cường điệu đang đi xuống, cường điệu bản địa mạnh mẽ hơn bao giờ hết. Rõ ràng có ai đó có ảnh hưởng trong công ty (một số tuyên bố đó là nhóm Windows cốt lõi) hoàn toàn không hài lòng với hiệu suất .NET. Xu hướng chính tôi thấy trong các bài viết mới nhất là một cái gì đó như

WinRT là .NET tiếp theo và C ++ / CX là C # tiếp theo.

Họ nói:

Này, thật dễ dàng để viết bằng C ++ như trong C #! Tại sao bạn cần XNA nếu bạn có thể viết bằng C ++ và DirectX?

Đó là cảm giác tôi có được tất cả thời gian qua. Cho rằng bạn có thể mong đợi sự chậm lại của tất cả các dự án liên quan được quản lý, sự khác biệt duy nhất là số tiền chậm lại.

Microsoft tôn trọng tôi gần như không bao giờ bỏ hỗ trợ cho các sản phẩm, chúng chỉ không được phát triển nữa. Vì vậy, ít nhất chúng ta có thể sử dụng XNA 4.0 trong một thời gian khá lâu ngay cả khi đó là phiên bản được hỗ trợ cuối cùng.


2

Nó không có vẻ tốt cho chúng tôi, các nhà phát triển XNA độc lập, những người muốn chuyển các trò chơi XNA của chúng tôi sang Metro. Microsoft đã tỏ ra không quan tâm và hy vọng chúng tôi sẽ quay lại lập trình C ++ / DirectX hoặc áp dụng các khung C # của bên thứ ba, hầu hết trong số đó không hỗ trợ bất kỳ Đường ống nội dung XNA nào.

Tất cả khá buồn, đôi khi tôi thực sự không thể hiểu MS.


7
Xin chào Jules. Chào mừng đến với GDSE! Chúng tôi không thực sự thích một diễn đàn ở đây, vì vậy những câu trả lời như thế này chỉ là trò chuyện là không được khuyến khích. Nếu bạn có thông tin thực tế để thêm hoặc nguồn cho câu trả lời của bạn sẽ là tuyệt vời!
MichaelHouse
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.