NScripter更新中

しばらく、作業中のものはここに付け足していきます。
http://www.nscripter.com/test1.lzh

  • RPG風スクロールマップ移動のデモ。カーソルキーで移動です。
  • さすがにGDIで800x600を毎回再描画すると、多少ちらつくのかな。1920x1200の液晶モニタなんで、限界が来てるだけかもしれない(フルスクリーンだとちらついてない気もする)。
    • たぶんこの液晶の転送の限界っぽい。動画でもときどき引っかかってるからなあ。ネットブックでもそう無理なく動いてました。
  • 階段踏むとウィンドウが出て文字が出るようにしてみた。こんな感じでNScripterのほうの機能と連携取れますよ、ということで。
  • これを見てユーザさんがRPGを作る、というのはたぶん難しいと思います(C言語とかHSPとかJava等を使ってプログラム組むのとあまり変わらないので)。実際にはこういうコードを汎用に書いて供給するライブラリプログラマが必要になると思います。そういう基盤部分の技術デモなので、中身が分からなくてもあまり気にすることはないかと。

http://www.nscripter.com/nsdtest.lzh

  • NSD系命令のシンプルなデモ。

(進捗状況)

  • 拡大縮小回転も実装した。
  • NSD系命令からNScripter側のトランジションを使えるようにした。
  • テクスチャをDLLを呼び出してその中の関数で初期化できるようにした。
    • DLLとしてフォントを描画する物をサンプルに提供した。

(メモ)

  • Luaの分厚い本買った。仕事道具になりそうなので奮発した。とりあえず、バグらないけどバグ発見。今出先なので、帰ったら直します。
    • forループのカウントの変数は自動生成されるforループ内ローカル変数なので、ループより前にlocal宣言してる今まで書いたソースは間違いです。値を使ってないから不具合になってないけども。直します。

(以下検討中)

  • まず、検証待ち様子見の期間もかねて、GDI機能のほうで何かゲーム作ってみます。ちょっとしたやつ。安定したところで、↓の作業へ。
  • NSD系命令をDirectXに対応させる(そのために、DirectXにかなり近い仕様にしてあります)
    • DirectXとの連携はDLL部分で行うことにして、本体への影響を極力小さくします。ガワは作ったので、DirectXのいい資料を探します。これはゆっくりやります。
    • 回転無しならオフスクリーンサーフェイスだけで簡単にさくっと実装できそう。これはそういうモードとして実装したほうがいいかもしれない……マシンに優しそうだし。
      • これはダメぽ。システムメモリ上でいろいろやるみたいで、たぶん今と速度的に変わらない。
  • いきなりこれでユーザー公開するのは敷居が高すぎますね。マニュアルも散漫だし。とりあえずLuaへの処理の委譲が一通り終わったら、整備しなおす必要がありそう。RPGツクールrubyが使えるのと同じような感じにしたい。きっちり切り分けて、簡単に使える部分は簡単なまま残さないと。