Je n'ai aucune préférence pour Ruby (ou Python), je suis moi-même une personne de Java. Mais la réponse de UnknownDevice sur le fait que Ruby n'est pas vraiment "pour les jeux" et que Python est frustré. J'espère qu'il clarifiera.
Je sais que Pygame existe et existe depuis longtemps, et je reconnais que Python a une base d’utilisateurs plus grande que Ruby. Mais pour être honnête, aucun d'entre eux ne semble être un langage "pour les jeux". Java non plus, et c'est mon langage de programmation préféré. (et quand je dis "de choix", je veux dire par choix , non pas parce que c'est ce qui est enseigné à l'école ou parce que c'est quelque chose que je "connais"). Et vraiment, qu'est-ce qu'un langage "pour les jeux"? La vitesse est un facteur et, évidemment, il doit disposer de bibliothèques pour les graphiques et autres systèmes de jeu (audio, entrée, etc.).
En ce qui concerne la vitesse, cela semble être un mélange entre Ruby et Python. Faites quelques recherches et vous trouverez rapidement des points de repère et des arguments pour les deux côtés du spectre, ainsi que diverses configurations qui donnent l’un ou l’autre. Python avec quelque chose appelé "Psycho" semble être un démon de vitesse populaire comparé à Ruby, mais Python ordinaire semble être un peu plus lent que Ruby. En fin de compte, si vous choisissez un langage de si haut niveau, les vitesses natives ne vous intéressent évidemment pas. va avec la langue que tu connais le mieux. Et évidemment, vous connaissez mieux Ruby, alors je l’encourage!
L'autre facteur est de savoir si la technologie est là pour créer des jeux; s'il peut prendre en charge l'affichage à l'écran, la collecte des entrées et la lecture de l'audio. Ruby peut faire tout cela. En fait, il existe un bon nombre d'options à cet égard. Il y a un paquetage ruby-opengl chez RubyForge qui donnera un support OpenGL à Ruby (ou peut-il être inclus par défaut?). Alternativement, Chingu fournit "des graphiques 2D accélérés par OpenGL ultra- rapides!" selon sa page d'accueil; il construit des fonctionnalités supplémentaires au-dessus de Gosu , que vous pouvez choisir d'utiliser si Chingu est trop pour vous. Ou, pour les graphiques 3D, si vous ne voulez pas utiliser ruby-opengl, essayez G3DRuby , "un ensemble très propre de classes de wrapper pour de nombreuses fonctionnalités OpenGL plus avancées". Là'Rubygame , sur lequel je ne trouve pas beaucoup d’informations mais prétend être "une bibliothèque multimédia multiplate-forme" et qui porte son nom, doit mettre l’accent sur le développement de jeux. Si vous connaissez le populaire bibliothèque SDL pour C ++, il existe Ruby / SDL ou RUDL , qui sont tous deux des wrappers Ruby de SDL. Ou si vous préférez la nouvelle SFML , plus orientée objet , elle est également disponible pour Ruby!
Il n'y a aucune raison pour que Ruby soit moins un langage de programmation de jeu que Python; s'il y en a un, j'aimerais vraiment l'entendre pour pouvoir argumenter contre. Si vous vous sentez le plus à l'aise pour programmer en Ruby et que vous connaissez les avantages et les inconvénients des autres langages populaires, alors vous pouvez certainement développer des jeux en Ruby!
http://gafferongames.com/2009/01/11/ruby-is-not-at-all-suitable-for-game-development/
L'URL est probablement un peu spoiler.
tl; dr: le ramasse-miettes naïf est un réel problème.
la source
Il n'y a aucune raison pour que vous ne puissiez pas. Tant qu'il existe un support multimédia pour une langue, il s'agit d'un contenu gamedev. Heck, une grande partie de l’un des jeux Rollercoaster Tycoon a été faite à la main en ASM.
la source
Bien que je ne sois pas familiarisé avec la plupart des travaux sur les spécifications concernant Ruby, Enterbrain a créé les programmes de création de jeux RPG Maker VX et RPG Maker XP qui utilisent des scripts de jeu basés sur Ruby: http://www.rpgmakerweb.com/
C'était en fait ma première plongée dans la langue. Comme la plupart des gens l'ont dit, vous n'obtiendrez probablement pas la haute performance des autres langues, mais si vous cherchez à démarrer un RPG 2D (ou un autre jeu en 2D, en fait), c'est probablement l'un des éditeurs de jeux les plus sophistiqués. Aidez-moi.
la source
Ruby est une belle langue, mais ce n’est pas vraiment que les jeux soient vraiment honnêtes. Si vous ne voulez pas utiliser C ++ mais que vous voulez quelque chose comme Ruby, consultez Python. Pour un bon framework Python, vous devriez essayer quelque chose comme www.cocos2d.org/.
la source
Cela dépend du type de jeu que vous souhaitez écrire. J'ai utilisé ruby pour écrire des clients IA pour plusieurs jeux, y compris Diplomacy , poker et Lost Cities . Je trouve que c'est un langage très convivial pour expérimenter rapidement différents concepts. D'autre part, je ne voudrais pas l'utiliser pour écrire mon jeu de tir en temps réel - il n'aura tout simplement pas la performance dont j'ai besoin.
la source
Votre question est trop générale. Voulez-vous simplement écrire un jeu vidéo en tant que projet hobby ou voulez-vous vous lancer dans le développement de jeux indépendants / professionnels? Aura-t-il des graphiques? Sur quelles plateformes est-il censé fonctionner?
En général, Ruby convient aux projets de loisir (BTW mon jeu préféré de Ruby est Ruby Warrior ) et au développement de jeux Web comme Farmville. Il y a même une certaine demande pour de tels programmeurs, essayez de chercher quelque chose comme Google: "jeu social de programmeur ruby".
D'autre part, si vous souhaitez développer des jeux avec des graphismes pour ordinateurs de bureau ou mobiles, Ruby n'est pas la meilleure option. Considérer:
la source
Ne vous attendez pas à écrire des jeux 3D très performants, professionnels, commerciaux avec Ruby, mais Ruby est un excellent langage à utiliser lors de l’apprentissage des concepts de développement de jeux.
Gosu est la bibliothèque la plus populaire (et maintenue activement) pour écrire des jeux 2D en Ruby. Il possède une bibliothèque C ++ sous-jacente qu'il utilise pour améliorer les performances et interagir avec les bibliothèques de rendu d'affichage sous-jacentes telles que OpenGL.
En ce qui concerne les performances, l'implémentation Ruby (MRI) Ruby "par défaut" fonctionnera bien (je suggère le dernier Ruby 2.0 pour de meilleures performances), mais il existe des implémentations alternatives qui ont des threads natifs et des algorithmes alternatifs de récupération de place tels que Rubinius, JRuby, etc. Si vous utilisez des threads, essayez Rubinius, sinon MRI Ruby fonctionnera parfaitement.
la source
J'ai dit Python parce qu'il a une base d'utilisateurs plus importante et plus de choix en matière de frameworks / bibliothèques pour le développement de jeux. Il est assez évident que cette personne n’ait aucune expérience en développement de jeux; il n’est donc pas logique pour moi de leur recommander d’utiliser quelque chose comme Ruby simplement parce que c’est possible.
Lorsque je travaille sur des jeux, j'utilise C ++ avec Lua, je n'écris pas mon jeu en Visual Basic uniquement parce qu'il prend en charge les médias. Je suis sûr que tout le monde ici a entendu quelqu'un dire certains outils pour certains travaux. Je suis sûr que vous pouvez enfoncer un clou avec une chaussure, mais pourquoi feriez-vous cela si vous pouvez utiliser un marteau?
la source