Nie mam preferencji w stosunku do Ruby (lub Python), sam jestem osobą Java. Ale frustracja mnie wywołała odpowiedź UnknownDevice o tym, jak Ruby jest „nie do gier”, a Python. Mam nadzieję, że to wyjaśni.
Wiem, że Pygame istnieje i istnieje, i zdaję sobie sprawę, że Python ma większą bazę użytkowników niż Ruby. Ale szczerze mówiąc, żadne z nich nie wydaje się językiem „do gier”. Podobnie jak Java, i to jest mój wybrany język programowania gier. (a kiedy mówię „z wyboru”, mam na myśli wybór , nie dlatego, że uczy się tego w szkole, albo dlatego, że „coś wiem”). A tak naprawdę, czym jest język „do gier”? Szybkość jest czynnikiem, i oczywiście musi mieć biblioteki dla grafiki i innych systemów gier (audio, wejścia itp.).
Jeśli chodzi o prędkość, wydaje się, że jest to sprzeczka między Ruby a Pythonem. Wykonaj kilka wyszukiwań, a szybko znajdziesz punkty odniesienia i argumenty dla obu stron spektrum oraz różne konfiguracje, które stawiają jedną lub drugą przed sobą. Python z czymś zwanym „Psycho” wydaje się być popularnym demonem prędkości w porównaniu do Ruby, ale zwykły Python wydaje się być nieco wolniejszy niż Ruby. W końcu, jeśli wybierzesz język wysokiego poziomu, oczywiście i tak nie interesujesz się natywnymi prędkościami; idź w języku, który znasz najlepiej. I oczywiście znasz Ruby najlepiej, więc zachęcam!
Innym czynnikiem jest to, czy technologia służy do tworzenia gier; czy może obsługiwać rysowanie na ekranie oraz zbieranie danych wejściowych i odtwarzanie dźwięku. Ruby może to wszystko zrobić. W rzeczywistości istnieje wiele opcji w tym zakresie. Na RubyForge znajduje się pakiet ruby-opengl , który zapewni obsługę Ruby w OpenGL (czy może być domyślnie dołączony?). Alternatywnie, Chingu zapewnia „błyskawiczną grafikę 2D z akceleracją OpenGL!” zgodnie z jego stroną główną; buduje dodatkowe funkcje na Gosu , których możesz użyć, jeśli Chingu jest dla ciebie za dużo. Lub grafiki 3D, jeśli nie chcesz używać ruby-opengl, wypróbuj G3DRuby , „bardzo czysty zestaw klas opakowań dla wielu bardziej zaawansowanych funkcji OpenGL”. Tam'Rubygame , o której nie mogę znaleźć wielu informacji, ale twierdzi, że jest „wieloplatformową biblioteką multimedialną” i biorąc pod uwagę nazwę, musi kłaść nacisk na tworzenie gier. Jeśli znasz popularną bibliotekę SDL dla C ++, istnieje Ruby / SDL lub RUDL , z których oba są opakowaniami Ruby w SDL. Lub jeśli wolisz nowszy, bardziej obiektowy SFML , jest on również dostępny dla Ruby!
Nie ma powodu, dla którego Ruby powinna być mniej językiem programowania gier niż Python; jeśli jest taki, naprawdę chciałbym go usłyszeć, abym mógł się z nim kłócić. Jeśli czujesz się najwygodniej w programowaniu w Ruby i znasz zalety i wady w porównaniu do innych popularnych języków, to z pewnością możesz rozwijać gry w Ruby!