У мене немає переваг щодо Рубі (або Python), я сама людина Java. Але відповідь UnknownDevice про те, як Рубі якось "не зовсім для ігор", а Python - мене засмутила. Я сподіваюся, що він уточнить.
Я знаю, що Pygame існує і існує, і я усвідомлюю, що Python має більшу базу користувачів, ніж Ruby. Але якщо чесно, жоден з них не здається мовою "для ігор". Ні Java, і це моя обрана мова програмування ігор. (і коли я кажу "за вибором", я маю на увазі під вибором , а не тому, що це те, чого навчають у школі, або тому, що я щось "знаю"). І справді, що таке мова "для ігор"? Ну, швидкість - це фактор, і, очевидно, в ній повинні бути бібліотеки для графіки та інших ігрових систем (аудіо, введення тощо).
Що стосується швидкості, то, здається, це сутичка між Рубі та Пітоном. Здійсніть кілька пошукових запитів, і ви швидко знайдете орієнтири та аргументи для обох сторін спектру та різних конфігурацій, які висувають одну чи іншу попереду. Python з чимось під назвою "Psycho" здається популярним демоном швидкості порівняно з Ruby, але звичайний Python здається трохи повільніше, ніж Ruby. Зрештою, якщо ви вибираєте таку мову високого рівня, ви, очевидно, не переймаєтесь швидкістю рідної мови; йдіть мовою, яку ви найкраще знаєте. І явно ти найкраще знаєш Рубі, тому я заохочую!
Інший фактор - чи існує технологія створення ігор; чи може він підтримувати малюнок на екрані та збирати вхід та відтворювати аудіо. Рубі все це може зробити. Насправді існує велика кількість варіантів у цьому відношенні. У RubyForge є пакет ruby-opengl, який надасть підтримку OpenGL для Ruby (або він може бути включений за замовчуванням?). Крім того, Chingu надає "блискавичну 2GB графіку, прискорену OpenGL!" відповідно до його домашньої сторінки; він створює додаткові функції Gosu , які ви можете вибрати, якщо Chingu для вас занадто багато. Або для 3D графіки, якщо ви не хочете використовувати ruby-opengl, спробуйте G3DRuby , "дуже чистий набір класів обгортки для багатьох більш досконалих функцій OpenGL". Там 'Rubygame , про який я не можу знайти багато інформації, але він стверджує, що є "мультимедійною бібліотекою між платформами" та дав назву, повинен робити акцент на розробці ігор. Якщо ви знайомі з популярною бібліотекою SDL для C ++, є Ruby / SDL або RUDL , обидва вони Ruby обгортки SDL. Або якщо ви віддаєте перевагу новіший, більш об'єктно-орієнтований SFML , він також доступний для Ruby!
Немає жодних причин, що Рубі має бути меншою мовою програмування ігор, ніж Python; якщо є, я дуже хотів би почути це, щоб я міг заперечувати проти цього. Якщо вам зручніше програмувати в Ruby, і вам відомо про плюси і мінуси в порівнянні з іншими популярними мовами, то, безумовно, ви можете безперечно розвивати ігри в Ruby!