読者です 読者をやめる 読者になる 読者になる

ゆとりーなの日記

日記的な事を書いて行くと思はれる

どこまでスクリプトにやらせるのが楽か

現在絶賛移植作業中な訳です。C++、Boost、PSPSDK、Luaを使って書いている訳ですが、Luaでどこまで書くべきかという問題が出てくるんですね。
以下個人的に思ったC++Luaの対比

  • 利点
    • C++
      • 書きなれている
      • 早い
      • コンパイルが通れば取り敢えず動く
    • Lua
      • 修正後に再コンパイル不要
      • 修正後にリセットするだけで変更が反映される
      • コルーチンが素敵
  • 不満点
    • C++
    • Lua
      • 文法ミスってたとき修正点を探すのが困難
      • 書きなれてない
      • 少し遅い

以上を踏まえて、Luaでどこまで書くかを考える段階に来ている気がします。現状描画、音声、入力関連のC++関数をLuaに全て公開して、毎フレームの処理を全てLuaで書いているのですが、再コンパイルしていない分効率がいいのかといえばなんだか微妙な感じです。GUI部分は微修正がたくさん必要そうな感じがしたのでLuaで書いてみたのですが、ちょっと文法ミスすると途端にフリーズしたり、意味不明な挙動をしたりするのでそれの修正で結構時間をとられてあばばばばって感じがするんです。Lua文法チェッカとかありますが、そんなのにかけるくらいならC++コンパイルすればよくないかという気にもなります。まぁエミュレータの再起動分の時間が取られるわけですが。
流石に弾幕の生成パターンとかはLuaで書かなきゃ死ぬだろうな〜とは思いますが、メニュー画面などのGUI部は実はC++で直に書いたほうがいいかな〜って気がしてきました。C++の方が圧倒的に書きなれてますし、色々と綺麗に書ける気がします。まぁ最初Luaで書いて動きが固まったらC++に書き直すって手もあるのかもしれませんが、Luaで書くという部分で作業効率が上がった感があまり無いのでう〜んという感じです。まぁなんだかんだ言ってもエミュレータ再起動しないで済むのは大きいんですけどね。
さて、どうしたものか。