Tôi không có sở thích nào đối với Ruby (hoặc Python), bản thân tôi là một người Java. Nhưng câu trả lời của UnknownDevice về cách Ruby bằng cách nào đó "không thực sự dành cho trò chơi" và Python làm tôi thất vọng. Tôi hy vọng anh ấy sẽ làm rõ.
Tôi biết Pygame tồn tại và tồn tại và tôi nhận ra rằng Python có lượng người dùng lớn hơn Ruby. Nhưng thành thật mà nói, không ai trong số họ có vẻ như là một ngôn ngữ "cho các trò chơi". Java cũng không phải là ngôn ngữ lập trình trò chơi của tôi. (và khi tôi nói "của sự lựa chọn", tôi có nghĩa là bằng sự lựa chọn , không phải vì đó là những gì được dạy ở trường hoặc bởi vì đó là điều tôi "biết"). Và thực sự, ngôn ngữ "cho game" là gì? Chà, tốc độ là một yếu tố, và rõ ràng nó phải có thư viện cho đồ họa và các hệ thống trò chơi khác (âm thanh, đầu vào, v.v.).
Về tốc độ, nó dường như là một sự thay đổi giữa Ruby và Python. Thực hiện một số tìm kiếm và bạn sẽ nhanh chóng tìm thấy điểm chuẩn và đối số cho cả hai mặt của phổ và các cấu hình khác nhau đặt cái này hoặc cái kia đi trước. Python với thứ gọi là "Tâm lý" có vẻ là một con quỷ tốc độ phổ biến so với Ruby, nhưng Python thông thường dường như chậm hơn một chút so với Ruby. Cuối cùng, nếu bạn chọn một ngôn ngữ cấp cao như vậy thì rõ ràng bạn không quan tâm đến tốc độ bản địa; đi với ngôn ngữ bạn biết tốt nhất Và rõ ràng là bạn biết rõ nhất về Ruby, vì vậy tôi khuyến khích điều đó!
Yếu tố khác là liệu công nghệ có ở đó để tạo ra các trò chơi hay không; cho dù nó có thể hỗ trợ vẽ lên màn hình và thu thập đầu vào và phát âm thanh. Ruby có thể làm tất cả những điều này. Trong thực tế, có một số lựa chọn tốt về mặt này. Có gói ruby-opengl tại RubyForge sẽ hỗ trợ OpenGL cho Ruby (hoặc có thể được bao gồm theo mặc định?). Ngoài ra, Chingu cung cấp "đồ họa 2D tăng tốc nhanh như chớp!" theo trang chủ của nó; nó xây dựng các tính năng bổ sung trên đỉnh của Gosu , mà bạn có thể chọn sử dụng nếu Chingu quá nhiều cho bạn. Hoặc đối với đồ họa 3D, nếu bạn không muốn sử dụng ruby-opengl, hãy thử G3DRuby , "một tập hợp các lớp bao bọc rất sạch cho nhiều tính năng OpenGL tiên tiến hơn". CóRubygame , thứ mà tôi không thể tìm thấy nhiều thông tin nhưng nó tự nhận là "thư viện đa phương tiện đa nền tảng" và được đặt tên, phải nhấn mạnh vào phát triển trò chơi. Nếu bạn đã quen thuộc với thư viện SDL phổ biến cho C ++, thì có Ruby / SDL hoặc RUDL , cả hai đều là trình bao bọc Ruby của SDL. Hoặc nếu bạn thích SFML mới hơn, hướng đối tượng hơn , thì nó cũng có sẵn cho Ruby!
Không có lý do gì mà Ruby nên ít ngôn ngữ lập trình trò chơi hơn Python; nếu có, tôi thực sự muốn nghe nó để tôi có thể tranh luận với nó. Nếu bạn cảm thấy thoải mái nhất khi lập trình trong Ruby và bạn nhận thức được những ưu và nhược điểm so với các ngôn ngữ phổ biến khác, thì bằng mọi cách bạn chắc chắn có thể phát triển trò chơi trong Ruby!