đây là một bài viết chi tiết tìm kiếm của tôi cho cách thú vị nhất để một lập trình viên trò chơi có sở thích làm dịu thời gian rảnh của mình với việc làm một trò chơi.
Yêu cầu của tôi: Tôi đã xem Flash trước, tôi đã tạo ra một vài trò chơi nhỏ nhưng tôi nghi ngờ về hiệu suất. Tôi muốn làm một trò chơi chiến lược khá lớn, với hàng trăm đơn vị chiến đấu cùng lúc, bao gồm cả vụ nổ và hình ảnh động. Ngoài ra bản đồ có thể phóng to. Tôi thấy rằng Adobe có API 3D mới cho Flash, nhưng tôi không biết liệu điều đó có cải thiện hiệu suất 2D hay không, tôi không thể tìm thấy bất cứ điều gì liên quan đến câu hỏi đó trong các phiên MAX10 của họ. Bạn có nói rằng Flash là một công nghệ tốt để tạo các game 2D lớn một cách dễ dàng không? Tôi thực sự thích Actioncript và tôi thích mọi thứ trong Flash dễ dàng như thế nào. Có một số động cơ có sẵn mà làm cho nó thậm chí dễ dàng hơn.
Tôi chỉ làm điều này cho vui, và sẽ tốt hơn nữa nếu có sẵn các trình soạn thảo hoạt hình / hạt thích hợp và nếu công cụ tôi sử dụng, sẽ có sẵn cho nhiều nền tảng. (để nhiều người có thể chơi trò chơi của tôi sau khi hoàn thành). Tôi muốn có nó trên nhiều nền tảng di động. (vì tôi thích đầu vào cảm ứng vì một số lý do)
Tôi biết khung XNA khá tốt, nhưng không có công cụ tốt nào cho nó và nó sẽ chỉ chạy trên Windows, đây là một sự thay đổi lớn. Thậm chí lớn hơn là, bạn cần cài đặt XNA phân phối lại mỗi khi bạn muốn đưa trò chơi cho ai đó. Nếu tôi sử dụng XNA, tôi sẽ phải tự tạo tất cả các công cụ và có lẽ tôi phải tạo chúng bằng WPF. (Tôi thích tạo các công cụ với Adobe AIR, nhưng tiếc là API để xử lý hình ảnh, v.v. lại tệ hơn nhiều so với Flash, so với trong XNA / WPF.) Bây giờ, tôi biết rằng tôi có thể tạo công cụ của riêng mình hỗ trợ từng nền tảng đó, nhưng thật lòng mà nói, đó sẽ là quá nhiều công việc cày qua API. Rốt cuộc, tôi muốn làm một trò chơi, không phải là một công cụ.
Vì vậy, câu hỏi trở thành: Có thể có một công cụ đa nền tảng (miễn phí hoặc miễn phí để phát triển không?) Mà tôi có thể sử dụng để phát triển 2D? Tôi thích: C #, Actioncript. Tôi không phiền khi sử dụng c ++ nếu bộ công cụ trên mức trung bình, nhưng tôi rất nghi ngờ rằng có một cái gì đó như thế. Vui lòng chứng minh tôi sai :) Vì vậy, tóm tắt: Tôi muốn sử dụng Flash, nhưng tôi không biết liệu nó có đủ tốt không. Tôi không phải là người viết kịch bản, tôi muốn một số API thực sự mà tôi có thể làm việc với bên trong một IDE phù hợp.
Chỉ để biết thông tin, tôi đã xem xét một số lựa chọn thay thế, tôi thực sự đang tìm kiếm trong một thời gian dài. Bạn sẽ giúp tôi rất nhiều để đưa ra quyết định cuối cùng.
Tính năng thông minh, động cơ Flatredball sẽ là lý tưởng. Nhưng tôi đã thử các công cụ của họ, và thật lòng mà nói, chúng thật kinh khủng. Hoàn toàn không thể sử dụng được, tôi cần phải tự làm cho chắc chắn. Tôi đã không nhìn vào API của họ, nhưng nếu công cụ của họ quá tệ, tôi không có xu hướng tìm kiếm thêm.
Unity3D. Cái này khá hay, nhưng tôi thực sự không cần 3D , và nó khá ... nhiều việc phải học. Tôi cũng không thích rằng nó quá đắt để sử dụng cho các nền tảng khác nhau và tôi chỉ có thể viết mã cho nó thông qua kịch bản. Bạn phải mua riêng từng nền tảng. Khả năng sử dụng của biên tập viên là trung bình, tổng thể sản phẩm đủ tốt cho hầu hết các mục đích, nhưng bản thân việc học nó sẽ là quá mức cần thiết.
Shiva 3D. Nó có vẻ đủ tốt, nhưng một lần nữa: tôi không thực sự cần 3D. Theo tôi, khả năng sử dụng trình soạn thảo kém hơn một chút so với Unity3D và theo tôi thì không rõ cách bắt đầu lập trình. Tôi nghĩ rằng nó đòi hỏi C ++ để mã hóa, vì vậy đó cũng là một tiêu cực. Tôi muốn vui chơi, và c # là niềm vui;)
SDL. Thẳng thắn mà nói, tôi vẫn cần chuyển đến tất cả các triển khai SDL khác nhau. Và tôi không thích lập trình kiểu OpenGL, nó thật đơn giản. Và nó cần c ++, tôi biết rằng có thể có một số hàm bao có sẵn, nhưng tôi không thích sử dụng các hàm bao, bởi vì ...
Irrlicht. Rất nhiều tính năng, nhưng sự hỗ trợ dường như còn thấp và nó nhắm đến những người đam mê. Các ràng buộc C # bị giảm liên tục. Tôi không phải là người đam mê động cơ, tôi chỉ muốn làm một trò chơi. Tôi không thấy điều này xảy ra với Irrlicht.
Ogre3D. Quá nhiều công việc, nó chỉ là một công cụ đồ họa. Ngoài ra không có nhiều nền tảng hỗ trợ và c ++.
Mô-men xoắn2D. Chi phí một cái gì đó để sử dụng, và tôi đã không nghe thấy nhiều điều tốt về hỗ trợ và tài liệu. Cũng chi phí thêm cho mỗi nền tảng.