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:
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.
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.
Đâ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 đó.