2009-02-27 30 views
5

Có thể sử dụng XNA và C# để tạo các trò chơi PC/XBOX khả thi về mặt thương mại không?Có thể tạo trò chơi thực bằng XNA và C# không?

Đây có phải là cách tiếp cận tốt nhất để tạo trò chơi 3D với C# không? Nếu không, điều gì sẽ xảy ra?

+0

Bản sao cho câu hỏi của tôi: http://stackoverflow.com/questions/794045/is-it-possible-to-write-a-commercial-xbox-game-using-visual-studio-and-ms-xna- gam – MaSuGaNa

Trả lời

6

Câu trả lời ngắn cho câu hỏi đầu tiên của bạn là, có. Nó hoàn toàn có thể tạo ra bất kỳ loại trò chơi nào với thư viện XNA. Nó có thể được sử dụng để tạo các platformer 2D đơn giản hoặc các game bắn súng 3D phức tạp vừa phải.
Tùy thuộc vào trò chơi, số lượng logic bạn cần tạo cho trò chơi của mình có thể thay đổi.

Tất nhiên, trong khi tạo trò chơi 3D, bạn sẽ phải tạo công cụ 3D của riêng bạn hoặc thực hiện một thao tác trước. XNA trong và trên chính nó không cung cấp một công cụ mà có thể hoàn toàn có thể sử dụng ra khỏi hộp. Nó, tuy nhiên, cung cấp nhiều công cụ để giúp bạn trong quá trình làm cho động cơ của riêng bạn.

0

Tôi nghi ngờ bạn sẽ tạo ra Gears of War tiếp theo với nó, nhưng XNA hoạt động tốt cho nhiều loại trò chơi. Hầu hết (tất cả?) Của Trò chơi cộng đồng trên XBox Live đều được tạo bằng XNA.

7

Thực ra bạn có thể làm điều đó nhưng hơi phức tạp một chút.

Bạn cần phải trải qua quá trình phê duyệt của "cộng đồng" (người dùng XNA Người sáng tạo câu lạc bộ trực tuyến).

Bạn cũng sẽ cần phải trả một tài khoản Xbox trực tiếp cộng với giấy phép phát hành trực tiếp Xbox.

Theo câu hỏi thường gặp của XNA:

Tôi có cần hội viên cao cấp của XNA Creators Club để tạo trò chơi không? Bạn không cần tư cách thành viên cao cấp để tạo trò chơi cho Windows hoặc Zune. Tuy nhiên, bạn phải là thành viên cao cấp và trong khu vực được hỗ trợ để tạo trò chơi cho Xbox 360, phát hành trò chơi Xbox 360 cho Trò chơi cộng đồng trên Xbox LIVE hoặc để đánh giá ngang hàng các trò chơi đã gửi.

Ai có thể đánh giá ngang hàng XNA Community Games? Một thành viên của Câu lạc bộ sáng tạo có tài khoản cao cấp (trả tiền) có trạng thái tốt và là người lớn hợp pháp (đối với các quốc gia chúng tôi hiện đang phục vụ phương tiện này từ 18 tuổi trở lên).

Và: Tại sao trò chơi của tôi phải được xem xét ngang hàng? Tại sao tôi không thể gửi nó đến thị trường Xbox LIVE? Người đánh giá ngang hàng giúp người sáng tạo viết các trò chơi hay hơn và bảo vệ người chơi trò chơi không bị các trò chơi gây khó chịu hoặc gây trục trặc.nhận xét Peer sẽ từ chối trò chơi của bạn nếu:

  • Trò chơi của bạn chứa cấm nội dung, đó là nội dung không được phép trên dịch vụ Xbox LIVE

  • Bạn xuyên tạc những gì có trong chơi trò chơi hoặc trong các tài liệu quảng cáo cho trò chơi

  • Nội dung quảng cáo cho trò chơi của bạn (ví dụ: hộp nghệ thuật, mô tả, biểu ngữ hoặc tiêu đề) không phù hợp với mọi lứa tuổi trên Xbox LIVE Marketplace

  • Các tai nạn trò chơi, nó có quá nhiều lỗi, hoặc nó là kỹ thuật khiếm khuyết trong một số cách

các câu hỏi thường gặp là có thể được đọc here

Nếu bạn muốn làm điều đó đơn giản hơn bạn có thể chơi với DirectX trực tiếp hoặc thậm chí các thư viện khác như SDL (cho trò chơi 2D). Trên thực tế C# rất tốt cho nhiều thứ và nó trở nên tốt hơn khi thời gian trôi qua.

3

C# không chậm hơn nhiều so với C++, tuy nhiên quản lý bộ nhớ của C# không thực sự thân thiện với Game (theo kiểu AAA). Không bao giờ kết xuất ít về cơ bản giống nhau, vì bạn sẽ sử dụng DirectX tôi đoán, vì vậy không có lý do gì mà một game rất chuyên nghiệp như Gear of Wars không thể được thực hiện với C# (Là một game tự dev của tôi, tôi đã nhìn thấy mã nguồn cho Gears of War, và có thể cho bạn biết bàn tay đầu tiên này). Nhưng bạn sẽ cần những nghệ sĩ tuyệt vời.

Rào cản thực, là nếu nguồn của bạn nằm trong C#, bạn vừa tự khóa các nền tảng khác không phải từ Microsoft (Say Sony hoặc Nintendo), nhưng sau đó lại GoW là Microsoft bị ràng buộc, ASFAIK.


Đối với XNA, bán chạy nhất Arcade/Cộng đồng game Braid, được viết bằng C++, nhưng đó là vì tác giả không muốn khóa mình ra khỏi nền tảng khác, và ông đã có rất nhiều kinh nghiệm và một cơ sở mã lớn đã là C++ dựa trên

3

XNA chuyên dành riêng cho trò chơi nhà để xe, các dự án nhỏ với các đội nhỏ và người có sở thích. Ngoài ra, nó là một công cụ học tập thực sự tốt cho kiến ​​trúc trò chơi và lập trình 3D. Nhưng đối với các ứng dụng thương mại, có một khoảng cách rất lớn giữa XLA và XDK.

Sử dụng XDK cho phép bạn truy cập vào một mức độ sâu hơn về phần cứng, điều chắc chắn là phải nếu màn trình diễn là một vấn đề. Ngoài ra, hầu hết các công cụ trò chơi thương mại đều được phát triển để sử dụng với XDK (ví dụ như Unreal Engine). Hệ thống gỡ rối và lược tả của XDK cũng là một công cụ tuyệt vời không có sẵn bằng XLA.

Vì vậy, có, về mặt kỹ thuật có thể tạo trò chơi thương mại bằng XNA, nhưng thế giới thực có xu hướng thích XDK hơn.

1

XNA giúp bạn tiết kiệm rất nhiều tedium cấp thấp liên quan đến việc tạo trò chơi. Điều này có thể là một khoản tiết kiệm thời gian rất lớn cho một số ít người đập ra các trò chơi mà không cần phải đẩy phần cứng đến giới hạn của nó; Tuy nhiên, hầu hết các trò chơi AAA yêu cầu một vài người bị xuống và bẩn với phần cứng để đẩy giới hạn càng nhiều càng tốt.

Có nói rằng không có nghĩa là trò chơi của bạn phải là AAA để có tính khả thi về mặt thương mại hoặc vui vẻ - người ta thậm chí có thể tranh luận rằng nó đau hơn nó giúp. Công nghệ hiếm khi là nút cổ chai của việc tạo ra những trò chơi hay.

+0

Gần đây tôi đã chơi arounf với visual3d.net, một công cụ trò chơi dựa trên xna. Nó có vẻ khá mạnh mẽ tổng thể - tuy nhiên, trong bản demo của họ các avatar không có cùng chủ nghĩa hiện thực như trong các trò chơi AAA như WOW vv Bạn có nghĩ rằng đó là một hạn chế của XNA? Bạn có phải sử dụng Dx để có được cái nhìn tốt nhất sau đó? – alchemical

+0

@alchemical Điều đó rất có thể là các nhà phát triển không muốn chia tiền cho ba nghệ thuật - không phải là XNA. –

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