Steam có thông báo cho người dùng rằng họ cần Java cho một trò chơi khi họ mua / tải xuống / cài đặt nó không?


8

Người bạn đời của tôi và tôi sẽ tạo ra một trò chơi cho Steam và tôi, với tư cách là lập trình viên, muốn sử dụng Java vì đó là ngôn ngữ yêu thích hiện tại của tôi. Vì vậy, tôi cần biết, Steam có thông báo cho người dùng rằng họ cần Java cho một trò chơi khi họ mua / tải xuống / cài đặt nó không?


4
Tôi đang bỏ phiếu để đóng câu hỏi này ngoài chủ đề vì nó liên quan đến tính năng của Steam hơn là về phát triển trò chơi.
MA

8
Thẳng thắn mà nói, tôi sẽ buồn nếu trò chơi tôi mua buộc tôi phải cài đặt Java. Đó là một ngôn ngữ và danh tiếng rất mạnh mẽ đối với bạn vì yêu thích nó nhưng nó lại là mối quan hệ ghét-ghét đối với bất kỳ người dùng trung bình nào phải tiếp xúc với Java. Mong đợi các bình luận viêm xuất hiện trên trang cửa hàng trò chơi của bạn có nội dung như "Trình giả lập vi rút 2016" hoặc "Không cài đặt, nó buộc một phiên bản Java lỗi thời vào máy của bạn."
MonkeyZeus

@MonkeyZeus Đó chính xác là lý do tại sao những thứ như thế này nên được trừu tượng hóa khỏi người dùng - họ thực sự không có manh mối gì về những gì họ đang nói. Các lỗ hổng chỉ có trong plugin trình duyệt web (điều này chưa bao giờ là một ý tưởng hay). Trong mọi trường hợp, hãy đóng gói trò chơi của bạn để bao gồm tất cả các tài nguyên cần thiết để trò chơi chạy ... đừng cho rằng người dùng có bất cứ điều gì. Lấy tuyến Minecraft làm ví dụ, sử dụng launch4j hoặc install4j để xây dựng trình cài đặt / thực thi được đóng gói với JRE được nướng. Không có lỗ hổng bảo mật và không gây rắc rối cho người dùng.
SnakeDoc

3
Một số trò chơi cài đặt .NET cho bạn khi khởi chạy lần đầu tiên.
dùng253751

1
@immibis Bạn nói đúng NHƯNG chỉ cần một người dùng bán giáo dục có trải nghiệm virus Java xấu từ một trang web mờ ám để đăng một bình luận được đánh giá cao hoặc nhận được trạng thái "buồn cười" hàng đầu. Nếu bạn chưa bao giờ nghe một anh chàng IT lẩm bẩm "Java xấu" như một người thượng cổ thì bạn là một ngoại lệ trong thế giới này. Ngoài ra, yêu cầu người dùng tải xuống một cái gì đó đang gợi ý rất nhiều khả năng của người dùng, đặc biệt là xem xét có bao nhiêu trang web sẽ cố gắng lừa bạn cài đặt virus chứ không phải là thật.
MonkeyZeus

Câu trả lời:


18

Để trả lời trực tiếp câu hỏi của bạn, không Steam nào không thông báo cho người mua rằng trò chơi cần cài đặt Môi trường chạy thi hành Java của Oracle để chơi trò chơi. Đó là bởi vì không cần thiết, bất kỳ trò chơi nào có sự phụ thuộc vào JRE sẽ tải xuống và cài đặt nó như một phần của quy trình cài đặt Steam thông thường. Điều này không khác gì các trò chơi có sự phụ thuộc vào thời gian chạy Visual Studio, DirectX hoặc .NET của Microsoft. Thậm chí còn có một kho JRE tiêu chuẩn mà bạn có thể sử dụng.

Điều đó nói rằng, cá nhân tôi từ chối mua hoặc cài đặt bất kỳ trò chơi nào phụ thuộc vào JRE của Oracle. Tôi không muốn phải đối phó với điều vô nghĩa đó. Một lộ trình thay thế sẽ đi theo sự dẫn dắt của Minecraft, bao gồm máy ảo Java như một phần của chính trò chơi. Đó là, thay vì cài đặt VM cho tất cả các ứng dụng Java trên máy để sử dụng, như với Oracle JRE, bạn cài đặt VM bên cạnh trò chơi mà chỉ trò chơi của bạn sử dụng. Tôi không nghĩ bạn có thể làm điều này với Oracle JRE, tôi tin rằng Minecraft sử dụng một cái dựa trên OpenJDK.

Mặt khác, nếu bạn mới bắt đầu, có lẽ bạn nên đi theo con đường dễ dàng và sử dụng cài đặt Oracle JRE tiêu chuẩn, và chỉ chấp nhận một số người sẽ không như vậy.


2
+1 cho câu trả lời trực tiếp. Là một phụ lục, có một danh sách các JVM thay thế @ en.wikipedia.org/wiki/List_of_Java_virtual_machines
Pikalek

14

Đây không phải là một câu trả lời, nhưng một số điểm cần xem xét. Nó không vừa trong hộp ý kiến.

Tôi nghĩ rằng ngay cả khi bạn sử dụng c ++, bạn sẽ cần gửi trò chơi của mình với một loạt Redistributable , ít nhất là trên Windows. Trừ khi bạn có thể quản lý để không sử dụng các công cụ Visual Studio và như vậy. Tôi không biết điều gì xảy ra với người dùng Mac.

Và nếu bạn đi với Java, tôi tin rằng sẽ có một cách để chuyển JVM với trò chơi của bạn. Điều này sẽ tăng kích thước tải xuống, nhưng nó sẽ đảm bảo

  1. khách hàng có jvm và
  2. khách hàng có phiên bản jvm chính xác cho trò chơi của bạn

Lưu ý rằng đã sẵn sàng gửi JVM cùng với trò chơi nếu bạn đang phân phối qua Mac App Store, vì vậy nếu bạn có kế hoạch phân phối ngoài Steam, dù sao thì điều này có thể cần thiết.


1
Có lẽ. Tôi không am hiểu về lĩnh vực đó. Tôi sẽ tìm kiếm thêm một chút trên web. Có lẽ điều này có thể được quan tâm đến bạn.
Vaillancourt

2
Hoặc chỉ sử dụng C. Nó nhanh, mức độ thấp và khó để mã hóa các công cụ đồ họa.
wizzwizz4

2
@AlexandreVaillancourt Bạn nói "Tôi tin rằng sẽ có một cách để vận chuyển JVM với trò chơi". Nó là hoàn toàn có thể. Mặc dù không phải là một trò chơi, tôi làm điều đó với ứng dụng Java của mình bằng launch4j . Tôi biết rằng có những công cụ khác có thể làm tương tự.
Thunderforge

3
Hầu hết các lỗ hổng Java chỉ liên quan đến các applet java và khi chạy mã không tin cậy. Nếu bạn tải xuống và chạy một trò chơi cục bộ, bạn đã (phải) tin rằng nó sẽ không làm điều gì độc hại. Tôi không nghĩ rằng có bất kỳ rủi ro cố hữu nào khi sử dụng java so với việc sử dụng bất kỳ khuôn khổ / công cụ / công nghệ nào khác.
kapex

2
kapep SnakeDoc Tôi đã cập nhật câu trả lời.
Vaillancourt

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.