Question

Je me demande s’il est possible d’intégrer Ruby en tant que langage de script dans Microsoft XNA et quelle est la meilleure façon de le faire. Je recherche quelque chose comme Xnua , à l'exception de Ruby.

Je suis tombé sur Ruby.NET et IronRuby et les deux semblent être à un stade très précoce, je ne suis donc pas sûr de savoir comment ils sont utilisables. De plus, je ne sais pas s'ils fonctionneraient sur Xbox 360. Ce sujet sur XNA forums indique qu'IronPython ne fonctionnerait pas, par exemple.

Était-ce utile?

La solution

IronRuby et IronPython ne fonctionnent pas sur la Xbox 360 car ils sont basés sur le DLR . (Dynamic Language Runtime) et le DLR utilisent beaucoup le System. Types Reflection qui ne sont pas actuellement disponibles sur le .NET Framework Xbox 360 (version modifiée du Compact .Net Framework).

Quant à la meilleure façon de le faire, malheureusement, cela dépend du reste de votre jeu. Le travail permettant aux scripts IronRuby d’être évalués dans le contexte de votre programme XNA est assez simple. Consultez cette article de blog par exemple. Au-delà de cela, vous voudriez exposer des objets intéressants à vos scripts et c'est ce qui compte entièrement pour le reste de votre code de jeu / conception. Vous pouvez consulter la la documentation de scripts pour Unity pour avoir une idée de quels types et commandes à exposer.

Autres conseils

Il est presque garanti qu'IronRuby ne fonctionnera pas sur la Xbox, mais si vous souhaitez simplement développer un jeu XNA pour Windows, vous devriez pouvoir l'utiliser de la même manière que pour toute autre application.

Je ne peux pas vraiment vous dire comment vous feriez cela, mais cela devrait être possible.

Tout en souscrivant aux observations de Leaf Garland, permettez-moi de vous proposer une alternative:

Le "préféré" Le langage de script pour les jeux est Lua. Par exemple, le jeu Crysis et Far Cry utilise abondamment LUA. Faites glisser votre doigt sur wikipedia pour obtenir une liste des jeux remarquables qui l'utilise.

Pour ce qui est de l’utiliser avec XNA, je ne fais que gratter la surface depuis que je viens de commencer avec le développement hobby de XNA, mais ce que je sais, c’est que vous ne pouvez pas utiliser LUA directement dans XNA. En effet, LUA est construit en C ++ (non géré) et vous ne pourrez donc pas le déployer sur votre XBOX360.

Un projet en cours de développement consiste à créer une version XNA de lua à l'adresse http://www.xnua.com. / . C'est également un produit gratuit et le code source est également disponible au téléchargement.

Si l’industrie du jeu croit que LUA est assez bon pour les jeux commerciaux AAA, je suivrais personnellement cette direction également (étant donné qu’ils ont beaucoup plus d’expérience que moi dans ce domaine)

Pourquoi ne pas utiliser Ruby pour le développement PC et Lua pour 360?

EDIT: peut-être ceci sera utile.

Bien que ce ne soit pas Ruby et qu’il s’agisse d’une vieille question, j’aimerais vous éclairer sur un nouveau moteur de script que je construisais. Il fonctionnera pratiquement partout où il y a un framework .Net, y compris sur la Xbox 360 sous XNA. Il ne fait pas appel à Reflection.Emit, il fonctionne donc là où les autres langues ne le font pas. C'est aussi un code complètement géré, donc pas de P / Invoque comme Lua.

Vous pouvez obtenir plus d'informations à partir de mon blog et vous permettre de l'essayer à ce sujet page de démonstration

Il est presque prêt pour les tests bêta, mais après les tests bêta, il s'agira d'un composant sous licence commerciale

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top