久しぶりにこの形式でアフィ張ってみる。
技術関連書籍ってのは高いもんだから、この値段は安いほうなんだろうけど、でもやっぱり躊躇してしまう値段。
でもラノベ6冊分って考えたらそれほど高くもないか、とか思えてきたので購入することにした。
前にも書いたけど、まぁ、相変わらず公開することのないであろうゲーム開発なんてことを続けてるわけです。
で、つい先日Seleneの利用者向けWikiなんてモノができてて、そこにSeleneでLuaを使うサンプルがあったのですよ。
Luaっていうのは、PerlとかPHPとかPythonとかRubyみたいなスクリプト言語(コンパイルとかしなくてもテキストファイルの状態で実行できる)で、C/C++から呼び出して使われることを想定して作られたらしい言語。ブラジル生まれ。
スクリプト言語ってのは、CやJavaみたいなコンパイルされるタイプの言語に比べてかなり低速ってのが通例なんだけど、Luaはスクリプト言語の中ではかなり高速に動作する部類らしい。
近年ゲーム開発現場で急速に普及してるとか。
んで、早速SeleneのLuaサンプル動かして、ソース眺めて見たんだけど、随分あっさりと呼び出せるんだねぇ。
C側からLua側関数呼び出しはもちろん、LuaからC側関数呼び出しも楽にできるっぽい。
で、あのサンプルではパラメータを渡すだけしかやってないんだけど、Lua使うならコルーチンも試さないと!とかどこかから電波を受信したので、コルーチンも試してみた。(”コルーチン”でググると、「Lua のコルーチンの使い方」的なページが上位にくるくらいだし)
呼び出しに手こずったけど、Lua側の実装は凄くアッサリ。楽すぎる。
コルーチンっていうのは、処理の途中でその処理を一時停止しておいて別の処理をして、あとでまた再開できるっていう仕組みなんだけど、これがゲーム開発に使えると凄く楽なんですよ。
今回初めてLuaって言語触ったのに、軽くサンプルソース眺めただけで簡単なコードなら書けるくらい習得が容易な言語なんだね。素敵。
んで、もっとLuaについて知りたくなったのと、ゲームへの実装の方法(コルーチンの管理とか)が気になったこと、さらにLuaだけじゃなくゲーム開発のフレームワーク的なとこまで書いてあるらしいので、冒頭の本の購入を決定した訳です。
あの本結構いろんなところでオススメされててかなりの良書っぽいし。