2009-08-11 29 views
7

Điều này nghe có vẻ giống như một câu hỏi ngu ngốc, nhưng ai đối tượng mục tiêu cho khung công tác XNA? Sau đây là nằm trên Microsoft XNA Game Sudio website:Đối tượng mục tiêu XNA

XNA Game Studio 3.1 cho phép người có sở thích, các viện nghiên cứu, và trò chơi độc lập phát triển dễ dàng tạo video trò chơi dành cho Windows, Xbox 360, và Zune phương tiện truyền thông kỹ thuật số máy nghe nhạc bằng sử dụng chơi trò chơi đa nền tảng được tối ưu hóa thư viện dựa trên .NET Framework bằng ngôn ngữ lập trình C#.

Đọc điều đó, tôi sẽ có ấn tượng rằng XNA là không phải là dành cho phát triển trò chơi nghiêm túc. Điều đó có đúng không?

Thứ hai, sự hiểu biết của tôi là XNA về cơ bản là trình bao bọc được quản lý cho API X trực tiếp. Đó có phải là mối quan hệ duy nhất mà XNA có tới Direct X không? Nền tảng nào là Microsoft đẩy mạnh phát triển trò chơi điện tử trên cả Windows và XBox?

Câu hỏi tổng thể của tôi là, đối với ai đó muốn tìm hiểu về phát triển trò chơi điện tử chuyên nghiệp, họ có tập trung vào XNA hay họ nên tập trung vào thứ gì đó khác?

Trả lời

10

Đối tượng mục tiêu là lớn và cộng đồng phát triển game sở thích, nhưng cũng có rất nhiều nhà phát triển chuyên nghiệp cũng có thể sử dụng XNA (bao gồm thực tế là một trong những cách dễ nhất để đưa trò chơi vào Hệ thống XBox LIVE, mặc dù trong một danh mục tách biệt với LIVE Arcade)

XNA là một thư viện được quản lý về bản chất là một trình bao bọc như Managed DirectX (thư viện được quản lý đầu tiên trên DirectX). Nó được gắn vào DirectX 9.0c vì nó là nền tảng tương thích với XBox 360, rõ ràng là bị kẹt ở phiên bản đó vì nó có phần cứng tĩnh sẽ không bao giờ thay đổi (cho đến khi một giao diện điều khiển XBox mới được phát hành)

Hiện tại, Microsoft đang tiếp thị XNA rất nhiều để phát triển XBox, nhưng họ cũng cho phép game PC thương mại được sản xuất với nó, mặc dù không có các mô hình phân phối và thanh toán tự động dễ dàng như XBox LIVE Arcade trên nền tảng PC. XNA là một công cụ học tập tuyệt vời để bắt đầu phát triển trò chơi chuyên nghiệp vì nó cho phép truy cập vào mọi thứ mà một bộ công cụ hoặc bộ công cụ "chuyên nghiệp" sẽ bao gồm Shaders, Networking, Audio phần cứng, thiết bị Gamepad vv. công cụ thực sự tốt để thử nghiệm nhanh trò chơi nếu bạn cần trình bày ý tưởng cho bất kỳ ai để tài trợ hoặc chỉ để xem ý tưởng của bạn thực sự trông như thế nào trên màn hình.

XNA tổng thể sẽ là một nơi tốt để bắt đầu học phát triển trò chơi DirectX vì hầu hết các khái niệm đều mang trực tiếp từ người này đến người khác. Nếu bạn không muốn bị kẹt ở hỗ trợ DirectX 9.0c, tôi khuyên bạn nên xem SlimDX (http://www.slimdx.org), khái niệm tương tự như XNA nhưng bản đồ cho cả DirectX 9 và 10.

+1

Không đúng là Microsoft không cho phép trò chơi thương mại được sản xuất với XNA. Từ các câu hỏi thường gặp tại http://msdn.microsoft.com/en-us/xna/aa937793.aspx: "XNA Game Studio có thể được sử dụng để tạo các trò chơi thương mại nhắm mục tiêu Windows". Hiện tại không có tương đương với thị trường cộng đồng trên Windows nhưng bạn có thể phát triển và bán một trò chơi bằng XNA Game Studio. – mattnewport

+1

Ngoài trò chơi, bạn thậm chí có thể sử dụng XNA để phát triển các ứng dụng kinh doanh yêu cầu trực quan hóa nội dung 3D. –

+0

Ah, đó là F.A.Q. và thực hành kinh doanh của họ phải được cập nhật kể từ lần cuối tôi nhìn vào trò chơi thương mại với XNA. Tôi sẽ cập nhật bài đăng để phản ánh điều đó. – mikeschuld

4

Trò chơi thương mại vẫn chủ yếu được phát triển bằng C++ (thường có ngôn ngữ kịch bản như Lua hoặc Python được sử dụng cho các phần của mã gameplay) nhưng điều đó không có nghĩa là XNA nhất thiết phải là lựa chọn tồi cho ai đó quan tâm đến việc phát triển trò chơi. nhà phát triển. Hầu hết các khái niệm mà bạn sẽ học bằng cách sử dụng XNA sẽ được áp dụng cho phát triển game chuyên nghiệp và nó sẽ cho phép bạn bao quát nhiều vùng hơn trong thời gian ít hơn nếu bạn bắt đầu với C++ và thư viện cấp thấp hơn cho đồ họa và âm thanh.Cuối cùng bạn có thể sẽ cần phải thành thạo với C++ để làm việc trong phát triển trò chơi chuyên nghiệp nhưng những gì bạn tìm hiểu về đồ họa, AI và phát triển trò chơi chung với XNA sẽ vẫn hữu ích.

2

Tôi đồng ý với điểm của Mattnewport và mikeschuld về XNA là tốt cho người có sở thích, hoặc thậm chí là điểm khởi đầu cho những người muốn làm việc theo cách của họ vào ngành công nghiệp trò chơi. Tôi cho rằng đó không phải là điều tốt nhất cho những người thực sự muốn tạo ra các công cụ trò chơi vì đó là những gì họ đang trừu tượng hóa. Ý tôi là nếu bạn thực sự muốn lập trình công cụ trò chơi grok, bạn chỉ nên cuộn chương trình của riêng mình. Đó là một trải nghiệm rất phức tạp và khai sáng, và nó thực sự giúp bạn đánh giá cao tất cả những gì diễn ra trong các trò chơi thương mại.

Nếu bạn chỉ tham gia một khu vực hoặc muốn trở thành chuyên gia chỉ trong một khu vực, tôi nghĩ rằng XNA là một cách tuyệt vời để tập trung lửa vào đó. AI, đồ họa, bất cứ điều gì.

Tôi nghĩ rằng việc chuyển đổi sang C++ là không thể tránh khỏi, mặc dù, nếu mục tiêu cuối cùng là phá sản vào ngành trò chơi. Vậy, bạn có muốn trở thành chuyên gia AI hay chuyên gia về gameplay không? Bạn có muốn viết chức năng của động cơ không? Bạn có muốn hiểu sâu sắc cách các hệ thống cốt lõi liên quan đến công việc chung với nhau như thế nào? Việc trả lời những câu hỏi này sẽ giúp bạn quyết định có nên nhảy ngay ở cấp độ C++ hay không hay có cảm giác về XNA.

Các vấn đề liên quan