C#2.0時代のゲームプログラミング(48) 〜 The Programming Language Lua


Lua 5.1 Reference Manual
Programming in Lua

Luaについてはいまさら語るまでもないだろう。手続き型言語関数型言語の特性を備えたマルチパラダイム言語である。*1


ちょっとしたスクリプトを書くのに使うと便利で、C/C++からLuaで書かれたプログラムを呼び出して使ったりもする。RPGで、イベントに番号を振っておいて、それぞれのイベントをLuaで書くというような使い方も出来る。


Lua自体は有名な言語ではあるのだが、.NET版はいま一つ知名度が無い。Luaの.NET版はLuaInterfaceと呼ばれる実装が一番勢力があって、LuaInterfaceではLuaで書かれたスクリプト側から、.NETで書かれたクラスなどを呼び出したりも出来る。C/C++Luaとの相互運用をするよりさらに密なコラボレーションが図れる。


このLuaInterfaceだが、monoには非対応なのでLuaInterfaceを使ってしまうとLinux環境で動かすことが出来ない。そこでこの度、monoで動くようにportingした。LuaInterfaceの作者にpatchを送りつけておいたので、次期バージョンのLuaInterfaceでサポートされる。


また、LuaInterfaceのWindows上で動作するdll(x86/x64)はYaneuraoGameSDK.NET公式のほうからdownload出来るようにしておいた。Luaの.NET版に興味のある人はお試しあれ。