DS用プログラミング言語DSLuaを使ってみる。

Luaという開発言語が有ります。これがニンテンドーDS用に拡張移植されていているのですが、DSの機能を色々使えたりして面白そうなわけです。ちょっと勉強してみることにしました。

Lua言語を勉強するのには下記のページが大変参考になります。

DSLua Wiki <http://dslua.7mc.org/>

DSLua – Home <http://www.dslua.com/component/option,com_frontpage/Itemid,1/>

Lua: 5.0 リファレンスマニュアル <http://uri.sakura.ne.jp/~cosmic/yuno/lab/lua5_manual_ja.html#top>

詳しいことは上記のサイトなどを見て頂くとして、Luaはインタプリタ言語です。書いたソースをコンパイルすることなく実行することが出来ます。コンパイル作業が必要なコンパイラ言語よりはとっつきやすいわけです。単純に例えればPHPやPerlに近いわけです。

DSLuaはDSの機能であるWifiやタッチスクリーンやスプライト機能等も使えるようで工夫次第で面白そうなことが出来そうです。

作ったプログラムを実行するにはDS本体とマジコンなどが必要になります。ただ、プログラムを少し書いてはマイクロSDカードに書き込んでマジコンにさしてDSを起動して実行するという工程ではあまりにも作業効率が悪いので、開発時にはエミュレータなどを利用するのがよさそうです。

僕の場合はDSエミュレータの「DeSmuME」を開発環境として用意してみました。ソースを書いたらエミュレータを起動してDSLuaを起動し書いたソースを選択するだけで実行できるのでデバックにはとても便利です。DSLuaにはあらかじめサンプルのソースがいくつかついていてとても参考になるので最初はこのソースをいじったりしていろいろ試してみるのがいいと思います。

ただ、ちょっとまだ調べていないのでよくわからないのがデバッグの方法ですが、書いたプログラムが動かない場合プログラムのエラーが発生しているはずですが、通常インタープリター言語の場合、その利点のひとつにエラーが発生した箇所がわかりやすいということにあるのですが、動か無い場合全く何も表示されないので何が悪いのか直ぐにわからないのがちょっと困ってます。まー直前に書いた箇所をチェックするしかないです。デバッグ系の関数もあるようなのでちょっと調べようと思います。知ってる人がいたら教えてください。m(_ _)m

DeSmuME – Nintendo DS Emulator <http://desmume.org/>

とりあえずちょっとDSLuaをかじってみたので、テトリスもどきを作成してる途中の画面です。まだ全然ゲームとして成り立ってないですw。本来ならスプライト機能を使って作るのが王道ですが、面倒なのでとりあえずということでテキストキャラで作ってます。w

DeSmuME DSLua テトリスもどき作成中
テキストベースの超貧弱なテトリスもどきの超作りかけwブロックが落ちてるところ

DSLua ソース

こんな感じのソースになります。(まだ、全然ちょっとしかできてないですけど)

また進展があったら報告します。

 

タグ : ,