まず、私はこれに関連する多くの質問があることを知っていますが、それらのどれも私の特定の状況を助けるように見えませんでした。特に、ルアとパイソンは、私の希望に合っていないし、希望することもできる。私の必要条件のある言語は存在しないかもしれませんが、その結論に達する前に、いくつかの意見を聞くことはうれしいでしょう。 :)高速で埋め込みが容易で、ハイレベルのゲームプログラミングに適したスクリプト言語はありますか?
私が作ろうとしているゲームエンジンには、あなたが推測しているように、私はそのような言語が必要です。このゲームエンジンの目的は、ゲームを構築するための基本的なツールをユーザーに提供することです。ただし、さまざまな種類のゲームを自由に作成することができます。
このため、スクリプト言語はゲームのコンセプトを直感的に処理できる必要があります。とりわけ、さまざまなタイプを定義し、わずかに異なるプロパティでサブタイプを分類し、オブジェクトを動的にクエリしたり変更したりするのは簡単です。
さらに、ゲーム開発者は、スクリプト言語で出会ったあらゆる状況に対処することができます。レンダラーやネットワークのような基本的なコンポーネントはC++で実装されますが、地球上で数百のオブジェクトを回転させるなどのゲーム固有のメカニズムは、スクリプト言語で処理されます。これは、スクリプト言語が非常に高速でなければならないことを意味し、1/10 Cの速度がおそらく最小です。
次に、デバッグの問題があります。関数、スタックトレース、およびエラーが発生した変数の状態に関する情報にアクセス可能である必要があります。
最後に、これは一人の人間によって行われたプロジェクトです。私が欲しがっていても、グルーコードだけで何週間も費やすことができません。私のプロジェクトと言語を統合することは、luaを統合するよりも難しいはずはありません。
luaとpythonの2つの推奨言語を調べると、luaは高速で(luajit)、簡単に統合できますが、標準のデバッグ機能は不足しているようです。さらに悪いことに、デフォルトではluaには全く型システムがありません。もちろん、それを自分で実装することもできますが、構文は常に奇妙で直感的ではありません。
Pythonは、使い方が非常に快適で、基本的なクラスシステムを備えています。しかし、統合するのは簡単ではありません。パラダイムは実際にタイプチェックを必要とせず、より複雑なゲームでは十分に速くはありません。私は再びすべてがPythonで行われることを指摘したいと思います。私はよくpythonがコードの90%のために十分に速いだろうことをよく知っています。
Scalaもありますが、それは私がこれまで示唆していないものです。 Scalaは実際にはほとんどの要件を満たしているようですが、Java VMをC言語で埋め込むのは非常に簡単ではないようですが、JavaのようにJavaでアプリケーションを構築することが一般的です。 Scalaの機能パラダイムが直感的なゲーム開発に適しているかどうかもわかりません。
編集:この問題は解決策を見つけることを控えてください。ルアよりも優れた言語がない場合、私は単に妥協して使用します(私は実際に私のプログラムにリンクされたものを持っています)。私はちょうど私がそうする前にもっと適しているものを見逃していないことを確認したい、ルアは私にとって完璧な解決策から遠いので見ている。
あなたはすでにエンジンを作成しましたか?あなたはOGREのようなエンジンを見てきましたが、彼らはあなたが言及している問題にどのようにアプローチしていますか?あなたはどれくらいの経験を持っているのか分かりませんが、あなたが自分より先に進んでいるように思います。経験がたくさんある場合は、私を無視してください。しかし、いずれにせよ、私はあなたのすべてのニーズに合った提案を思いつくように強く求められています。 – Bart
質問のタイトルを読んで、私はルアと言おうとしていました。あなたがルアにノーと言うなら、私は、[Go](http://golang.org/)を見てとうとう提案するかもしれません。 – c00kiemon5ter
@バート:あなたは正しいですが、私はこの点ではあまり経験がありません。私はここに求めています。私が言ったように、そのような言語は存在しないとは考えにくい。しかし、言語の仕組みについてはかなり分かりますが、私は自分が望むものについて非常に具体的な考えを持っています。ルアは良い選択肢のように聞こえるが、それについては私には何の慰めもない(+ =の欠如は非常に基本的な欠点である)ということであり、本当に楽しいシステムを作りたいと思うユーザーがルアの小さな奇妙なことをすべて覚えさせるのではなく、使用すること。 – cib