Ruby をスクリプト言語として Microsoft XNA に組み込むことが可能かどうか、またそれを行う最善の方法は何かを考えています。Ruby を除いて、Xnuaのようなものを探しています。
私は Ruby.NET と IronRuby に出くわしましたが、どちらも非常に初期の段階にあるようです。さらに、それらが Xbox 360 で動作するかどうかはわかりません。たとえば、 XNA フォーラムのこのトピックでは、IronPython は動作しないと述べています。
IronRuby とIronPythonは Xbox 360 では機能しません。これらはDLR (動的言語ランタイム) に基づいており、 DLRは現在 Xbox 360 .Net Framework (修正されたCompact .Net Framework のバージョン)。
それを行う最善の方法については、残念ながら、それはゲームの残りの部分に依存します. XNA プログラムのコンテキストで IronRuby スクリプトを評価できるようにする作業はかなり簡単です。たとえば、このブログ投稿を確認してください。それを超えて、いくつかの興味深いオブジェクトをスクリプトに公開したいと思うでしょう。それは、残りのゲーム コード/デザインに完全に依存する部分です。Unity のスクリプト ドキュメントを参照して、公開するタイプとコマンドのアイデアを得ることができます。
IronRuby が Xbox で動作しないことはほぼ確実ですが、Windows 用の XNA ゲームを開発するだけであれば、他のアプリケーションと同じように使用できるはずです。
どうやってそれをやろうとしているのかは本当に言えませんが、それは可能なはずです。
リーフ ガーランドの見解には同意しますが、別の方法を提案させてください。
ゲームに「推奨される」スクリプト言語は Lua です。たとえば、Crysis と Far Cry というゲームでは、LUA が広く使用されています。それを使用する注目すべきゲームのリストについては、ウィキペディアをフリックしてください。
それを XNA で使用するという点では、趣味の XNA 開発を始めたばかりなので、表面をなぞっただけですが、わかっていることは、XNA で直接 LUA を使用できないということです。これは、LUA が C++ (アンマネージ) で構築されているため、XBOX360 に展開できないためです。
http://www.xnua.com/で lua の XNA バージョンを構築している開発中のプロジェクトがあります。また、無料の製品であり、ソース コードもダウンロードできます。
ゲーム業界が、AAA の商用ゲームには LUA が十分に適していると信じている場合、私も個人的にその方向に進みます (彼らは私よりもはるかに多くの経験を持っているため)。
これはRubyではなく、古い質問ですが、私が構築している新しいスクリプトエンジンについて説明したいと思います。基本的に、XNA下のXbox360を含め、.Netフレームワークがある場所ならどこでも実行できます。Reflection.Emitを使用しないため、他の言語では使用できません。また、完全にマネージコードであるため、LuaのようなP/Invokesはありません。
あなたは私のブログからより多くの情報を得ることができ、このデモページでそれを試すことができます
ベータテストの準備はほぼ整っていますが、ベータテスト後は、商用ライセンスのコンポーネントになります。