Ich habe keine Vorliebe für Ruby (oder Python), ich bin selbst eine Java-Person. Aber UnknownDevices Antwort, wie Ruby irgendwie "nicht wirklich für Spiele" und Python ist, hat mich frustriert. Ich hoffe, er wird klarstellen.
Ich weiß, dass Pygame existiert und existiert, und ich erkenne, dass Python eine größere Nutzerbasis als Ruby hat. Aber um ehrlich zu sein, scheint keine von beiden eine Sprache "für Spiele" zu sein. Java auch nicht, und das ist meine bevorzugte Programmiersprache. (und wenn ich "Wahl" sage, meine ich damit Wahl , nicht weil es das ist, was in der Schule gelehrt wird oder weil es etwas ist, was ich "weiß"). Und was ist eigentlich eine Sprache "für Spiele"? Nun, Geschwindigkeit ist ein Faktor, und natürlich muss es Bibliotheken für Grafiken und andere Spielsysteme (Audio, Eingabe usw.) geben.
Was die Geschwindigkeit anbelangt, scheint es sich um ein Chaos zwischen Ruby und Python zu handeln. Bei einigen Suchvorgängen finden Sie schnell Benchmarks und Argumente für beide Seiten des Spektrums sowie verschiedene Konfigurationen, die den einen oder anderen Vorsprung verleihen. Python mit dem Namen "Psycho" scheint im Vergleich zu Ruby ein beliebter Geschwindigkeitsdämon zu sein, aber reguläres Python scheint etwas langsamer zu sein als Ruby. Wenn Sie sich für eine solche Hochsprache entscheiden, interessiert Sie die native Geschwindigkeit letztendlich sowieso nicht. Gehen Sie mit der Sprache, die Sie am besten kennen. Und offensichtlich kennst du Ruby am besten, also ermutige ich ihn!
Der andere Faktor ist, ob die Technologie zum Erstellen von Spielen vorhanden ist. ob es das Zeichnen auf dem Bildschirm und das Sammeln von Eingaben und das Abspielen von Audio unterstützen kann. Ruby kann all dies. Tatsächlich gibt es in dieser Hinsicht eine Reihe von Optionen. Es gibt ein Ruby-Opengl- Paket bei RubyForge, das Ruby OpenGL-Unterstützung bietet (oder ist es möglicherweise standardmäßig enthalten?). Alternativ bietet Chingu "blitzschnelle OpenGL-beschleunigte 2D-Grafiken!" laut seiner Homepage; Es baut zusätzliche Funktionen auf Gosu auf , die Sie verwenden können, wenn Chingu zu viel für Sie ist. Oder für 3D-Grafiken, wenn Sie Ruby-OpenGL nicht verwenden möchten, versuchen Sie es mit G3DRuby , "einem sehr sauberen Satz von Wrapper-Klassen für viele der fortgeschritteneren OpenGL-Funktionen". Dort'Rubygame , zu dem ich nicht viele Informationen finden kann, der aber behauptet, eine "plattformübergreifende Multimediabibliothek" zu sein und den Namen zu tragen, muss den Schwerpunkt auf die Spieleentwicklung legen. Wenn Sie mit der beliebten SDL- Bibliothek für C ++ vertraut sind , gibt es Ruby / SDL oder RUDL , die beide Ruby-Wrapper von SDL sind. Wenn Sie das neuere, objektorientiertere SFML bevorzugen , ist es auch für Ruby verfügbar!
Es gibt keinen Grund, warum Ruby weniger eine Programmiersprache für Spiele sein sollte als Python. Wenn es einen gibt, würde ich ihn gerne hören, damit ich dagegen argumentieren kann. Wenn Sie sich beim Programmieren in Ruby am wohlsten fühlen und sich der Vor- und Nachteile im Vergleich zu anderen gängigen Sprachen bewusst sind, können Sie auf jeden Fall Spiele in Ruby entwickeln!