У меня нет никаких предпочтений по отношению к Ruby (или Python), я сам человек Java. Но ответ UnknownDevice о том, что Ruby почему-то «не совсем для игр» и Python, разочаровал меня. Я надеюсь, что он прояснит.
Я знаю, что Pygame существует и существует, и я понимаю, что Python имеет большую базу пользователей, чем Ruby. Но, честно говоря, ни один из них не кажется языком «для игр». Так же как и Java, и это мой любимый язык программирования игр. (и когда я говорю «по выбору», я имею в виду под выбором не потому, что это то, чему учат в школе, или потому, что это то, что я «знаю»). И действительно, что такое язык "для игр"? Ну, скорость является фактором, и, очевидно, она должна иметь библиотеки для графики и других игровых систем (аудио, ввод и т. Д.).
Что касается скорости, то между Ruby и Python, похоже, возникли трудности. Сделайте некоторые поиски, и вы быстро найдете критерии и аргументы для обеих сторон спектра, а также различные конфигурации, которые ставят одну или другую вперед. Python с чем-то под названием «Psycho» кажется популярным демоном скорости по сравнению с Ruby, но обычный Python, кажется, немного медленнее, чем Ruby. В конце концов, если вы выбираете такой высокоуровневый язык, вы, очевидно, не заботитесь о нативных скоростях; иди с языком, который ты знаешь лучше всего. И, очевидно, вы знаете Руби лучше всех, поэтому я поощряю это!
Другой фактор - есть ли технология для создания игр; может ли он поддерживать рисование на экране и сбора ввода и воспроизведения звука. Руби может сделать все это. На самом деле существует множество вариантов в этом отношении. В RubyForge есть пакет ruby-opengl , который предоставит поддержку OpenGL для Ruby (или он может быть включен по умолчанию?). Кроме того, Chingu обеспечивает «молниеносную ускоренную 2D-графику OpenGL!» в соответствии с его домашней страницей; он строит дополнительные функции поверх Gosu , которые вы можете использовать, если Chingu слишком много для вас. Или для 3D-графики, если вы не хотите использовать ruby-opengl, попробуйте G3DRuby , «очень чистый набор классов- оболочек для многих из более продвинутых функций OpenGL». Там'Rubygame , о которой я не могу найти много информации, но она претендует на звание «кроссплатформенной мультимедийной библиотеки» и, учитывая ее название, должна уделять особое внимание разработке игр. Если вы знакомы с популярной библиотекой SDL для C ++, есть Ruby / SDL или RUDL , оба из которых являются Ruby-обертками SDL. Или, если вы предпочитаете более новый, более объектно-ориентированный SFML , он также доступен для Ruby!
Нет причин, по которым Ruby должен быть языком программирования меньше, чем Python; если таковой имеется, я бы очень хотел услышать это, чтобы спорить с этим. Если вы чувствуете себя наиболее комфортно в программировании на Ruby и знаете о плюсах и минусах по сравнению с другими популярными языками, то вы непременно можете разрабатывать игры на Ruby!