3

Javaで砂落ちゲームを作っています。私は、ユーザーがゲーム用に独自のエンジンを作成できるようにしたいと考えており、それにはスクリプト言語が役立つのではないかと考えました。jython で小さなスクリプトを試してみましたが、その Java バージョンよりも何倍も遅くなります。

高速ループや高速配列アクセスを備えたスクリプト言語が必要です。それがゲームで頻繁に行われるためです。または、ユーザーがゲーム用に独自のエンジンを作成できるようにする別の方法について提案があれば.

また、これが機能するかどうかも完全にはわかりません(まあ)。できないと思われる場合は、その理由と、考えられる代替案を教えてください。

4

3 に答える 3

2

JavaCC

JavaCCを使用して、独自の単純なゲーム言語を作成できます。これにより、必要なすべての柔軟性とネイティブ Java の速度が得られます (実際には実装に依存します)。ただし、構文をシンプルに保つ必要があります。そうしないと、多少の手間がかかります...

ジャワ

ジャワ?はいジャバ!ユーザーがゲームを Java コードで拡張できるようにしてみませんか? Java 6 には、Java コンパイラ API があります。

ビーンシェルvsライノ

BeanShellRhino (Javascript) インタープリターのパフォーマンス比較(Rhino が勝者):

于 2010-10-01T19:58:33.127 に答える
0

RelProxyは、オンザフライの Java コンパイラであり、自動ホット クラス リローダーであり、純粋な Java コードをスクリプト言語のように実行できます。

Java は非常に優れているため、Java はおそらく最速のスクリプト言語です。オプションで、一種のコンパイル済みキャッシュのような .class ファイルを使用して、負荷時のコンパイルを回避できます。

于 2014-02-20T11:16:36.610 に答える
0

これについてはBeanShellを参照してください。私の使用では、Java 1.4 周辺でロックされていますが、ネイティブ Java とほぼ同じくらい高速であり (それが実際にそうなったため)、Java と同じようにかなりアクセスしやすくなっています。

于 2010-10-01T20:04:48.653 に答える