2010-03-16 27 views
6

Tôi hoàn toàn yêu thích các trò chơi hậu vệ tốt (ví dụ: Gemcraft, Protector: giành lại ngai vàng) vì chúng có thể khá khó khăn về trí tuệ; nó giống như chơi cờ vua nhưng một chút suy nghĩ và hành động nhiều hơn một chút. Đáng buồn thay, không có nhiều người trong số những người tốt nhất ngoài kia và tôi nghĩ tôi sẽ tự tạo một bản thân và chia sẻ nó với phần còn lại của thế giới bằng cách làm cho nó có sẵn trên mạng.Tại sao (gần như) tất cả các trò chơi trực tuyến được viết bằng ActionScript (Flash) chứ không phải Java?

Tôi chưa bao giờ làm việc với ActionScript nhưng khi nói đến trò chơi trực tuyến, đây là lựa chọn chính. Tôi đã cố gắng tìm một game 2D phong nha dưới dạng một applet Java nhưng không có kết quả. Tại sao cái này rất? Tôi có thể viết các trò chơi, thoải mái nhất, trong Delphi cho Win32 nhưng sau đó mọi người sẽ cần phải tải về thực thi, mà có thể ngăn chặn một số hình thức tải nó, và nó cũng sẽ chỉ làm việc trên Windows. Tôi cũng quen thuộc với Java, đã làm việc với Java trong bốn năm qua; mặc dù, tôi không có nhiều kinh nghiệm với lập trình trò chơi.

Tôi không nên bị ngăn cản bởi thực tế là tất cả các trò chơi trên mạng đều được viết bằng Flash và tạo trò chơi hậu vệ của tôi làm ứng dụng Java, hoặc tôi nên cân nhắc việc học ActionScript và phát triển trò chơi cho Máy ảo ActionScript. rất nhiều giống như Java ... nhưng vẫn còn, đó là một công nghệ hoàn toàn mới đối với tôi và tôi có thể không bao giờ sử dụng nó một cách chuyên nghiệp.)

Bạn vui lòng trả lời câu hỏi trong tiêu đề? Tại sao Flash, không phải là các ứng dụng Java? Nó chỉ là 'chính trị'?

Trả lời

12

Flash phổ biến hơn kể từ its penetration rate is huge.

Flash cũng mạnh hơn khi tạo và tích hợp nội dung đồ họa (vì Flash CS * cũng là trình chỉnh sửa hoạt ảnh vector). Nó cũng rất dễ dàng để nhúng âm thanh và phông chữ tài sản, để chơi với các hiệu ứng bitmap, mà không cần sử dụng bất kỳ thư viện có điều kiện.

Và cuối cùng nhưng không kém, có rất nhiều các trang web người cung cấp API ActionScript để kiếm tiền với các trò chơi của bạn bằng cách thêm các quảng cáo khác nhau trong đó (chẳng hạn như MochiMedia, Kongregate ...)

+1

một số tỷ lệ thâm nhập. wow –

+0

Mặc dù Silverlight đang tăng nhanh chóng: http://www.riastats.com/ –

+0

Khi cố gắng sử dụng các trò chơi Java trên máy Mac, tôi thường thấy cần phải làm một chút công việc để thuyết phục trò chơi Java hoạt động, đặc biệt là Java 1.6. Điều này hiếm khi xảy ra với Flash. – Brian

0

Rất nhiều nhà phát triển flash là nhà thiết kế đã vượt qua để tạo trò chơi. Họ sử dụng đèn flash như một công cụ thiết kế trước một công cụ lập trình.

Ngoài ra nó có vẻ là một cái gì đó của một tiền lệ bây giờ cho trò chơi trực tuyến phải được viết bằng đèn flash vì vậy tôi đoán mọi người không muốn đi chệch khỏi "chuẩn mực"

1

Flash có một rộng hơn cài đặt cơ bản, mà có thể là lý do duy nhất. Cá nhân tôi không cài đặt Java trên máy của tôi .... flash, tất nhiên.

Tại sao viết nội dung nào đó cho một đối tượng nhỏ hơn nhiều? Tôi không nói nó sai, nhưng đó thường là lý do khi bạn làm game cho một lợi nhuận.

Hãy suy nghĩ về điều này tương đương với bàn giao tiếp, với playstation thế hệ thứ hai đã có phần cứng tiện ích có sẵn ... nhưng họ vô dụng trừ khi các trò chơi sử dụng chúng. Bạn có 3 lựa chọn làm nhà phát triển trò chơi, đóng gói sản phẩm của bạn - tăng giá lên, giả sử họ có - đối tượng nhỏ hơn hoặc giả sử họ không - đối tượng tối đa, lợi nhuận tối đa. Kết quả là phần cứng không bao giờ thực sự được bán nhiều bởi vì với tư cách là một nhà phát triển trò chơi, bạn phải cho rằng họ không có nó. Đối với tôi, điều đó tương đương với Java vs Flash, nếu tôi phải cài đặt nó, giá cho tôi truy cập nó tăng lên ... giả sử họ có điều phổ biến nhất và bạn an toàn, chi phí nhập cảnh tối thiểu , đối tượng tối đa.

Tuy nhiên, nếu bạn có một trò chơi tuyệt vời, tôi có thể được thuyết phục để cài đặt :)

6

Flash cung cấp một hoàn toàn được xây dựng đồ họa và âm thanh động cơ mà sẽ xử lý đối tượng riêng biệt ("sprites") trên đường dẫn và hình ảnh động.

Trong Java, các tính năng đó sẽ cần được cung cấp bởi thư viện của bên thứ ba. Tuy nhiên, Java cung cấp các viên đá xây dựng cần thiết để xây dựng một động cơ như vậy.Tuy nhiên,

JavaFX có thể thay đổi điều này.

2

Câu trả lời đơn giản: trình phát flash được cài đặt trong hầu hết các PC, nhưng JRE thì không.

+0

Câu trả lời của bạn gần như là tốt. Tôi gần như upvote bạn. – Ricket

4

tôi có thể cung cấp một chút thông tin chi tiết về phía Java: Sớm trong lịch sử của Java, Sun đã cố gắng để đẩy Java applet như là cách mới để hiển thị nội dung động trong một trình duyệt. Nỗ lực này đã bị thất bại bởi sự kết hợp của các yếu tố sau:

  • Java có (và vẫn có) thời gian tải dài (JRE);
  • Java ban đầu chỉ có AWT như một bộ công cụ GUI, và AWT bị giới hạn và thực sự xấu xí;
  • Java đã từng chậm hơn rất nhiều trước khi sự ra đời của CPU nhanh hơn và biên dịch JIT;
  • Java là (nhiều người nghĩ cố ý) được Microsoft hỗ trợ rất nửa vời, vì vậy nó không được tích hợp tốt và chạy kém.

Tất cả điều này đã cho Java (xứng đáng) là một danh tiếng khủng khiếp, từ đó máy tính để bàn và trình duyệt Java vẫn chưa hồi phục. Đối với hầu hết mọi người, Java là viết tắt của các ứng dụng xấu xí, chậm và thường không hoạt động. Nó vẫn bị sự kỳ thị này ngày nay.

Trong khi cả Java và Flash đều có môi trường lập trình hoàn chỉnh, Java phổ biến hơn, với bộ thư viện lớn hơn cho tất cả các mục đích khác nhau. Sun đã cố gắng để có môi trường Java là phổ biến giữa các nền tảng, do đó, Java bên trình duyệt bao gồm rất nhiều thư viện thường không cần thiết. Một lần nữa, thời gian tải nhiều hơn.

+0

Nếu bạn nhìn vào Flash trước khi Java giới thiệu Swing, nó không phải là rất ấn tượng. Tất nhiên, trước khi Swing "Java" sống trên do MSJVM. –

1

Flash thường hoạt động tốt hơn ở các loại tính năng vẽ, hoạt ảnh và video mà trò chơi yêu cầu, vì đó là những gì ban đầu được thiết kế cho. Ngoài ra, bản chất nghiêm ngặt-OO của ngôn ngữ Java không cho vay tốt đối với loại môi trường phát triển nhanh đặc biệt phổ biến cho trò chơi.

Quan trọng hơn từ quan điểm của tác giả, Flash đến nay là plugin trình duyệt được triển khai phổ biến hơn. Java chỉ không có sự xâm nhập trên máy tính để bàn. Các applet bị lịch sử khinh thường vì sự bất ổn định và hiệu suất kém (đặc biệt là khởi động chậm); trong khi đó đã được cải thiện một chút, Sun đang tiếp tục làm suy yếu những gì người dùng chấp nhận họ đã để lại với updater bundnoxious bundater của họ. Nó là một công ty dũng cảm mà phát triển bất cứ điều gì nhiều cho Java máy tính để bàn những ngày này.

tôi nên xem xét việc học ActionScript và các trò chơi phát triển cho ActionScript Virtual Machine

Đó chắc chắn là giá trị học tập JavaScript/ActionScript. (Chúng gần như là cùng một ngôn ngữ, chia sẻ một lõi phổ biến tiêu chuẩn hóa.) Sau đó, bạn có thể áp dụng kiến ​​thức về tập lệnh Flash của mình cho trình duyệt tập lệnh. Bạn thậm chí có thể cân nhắc việc triển khai trò chơi bằng JavaScript/HTML!

AS3 trông rất giống với Java ...

Trong nhiều như nó là một ngôn ngữ C-như, vâng. Tuy nhiên, các khái niệm và thực hành rất khác nhau; bạn sẽ gặp khó khăn nếu bạn cố gắng viết JS/AS như Java.

+0

bạn có chắc nó hoạt động tốt hơn không? Ít nhất Java + PulpCore thư viện thực hiện tốt hơn nhiều so với Flash (trên máy tính của tôi, đó là ...), so sánh bằng cách sử dụng http://bubblemark.com – Tedil

+2

Thực ra, AS2 khá giống với JavaScript, nhưng AS3 lại gần giống với Java hơn (cú pháp của nó, nhưng cũng là khái niệm về các gói, không gian tên, bộ thu gom rác ...). AS2 và AS3 không thực hiện cùng phiên bản tiêu chuẩn ECMAScript, và rất khác nhau. Tôi yêu AS3 nhiều như tôi ghét mã hóa trong AS2 hoặc JavaScript. –

+0

Flash hoạt động tốt khi thực hiện đồ họa vector, nhưng bạn chắc chắn bị nhầm lẫn nếu bạn nghĩ rằng đây là loại bản vẽ, hoạt ảnh và tính năng video mà trò chơi yêu cầu. ;) –

0

Tương lai Flash CS5 có thể tạo ứng dụng iPhone trực tiếp, vì vậy bạn sẽ tạo trò chơi cho 2 nền tảng cùng một lúc.

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