fc2ブログ

残念ながら年内更新は間に合いそうにないです(FAM)

2008.12.31.Wed
数日前からキーボードやら体調やらが壊れたりしながらもペンぷろの制作続けてきたんですが、年内更新はどう考えても間に合いません。


区分(背景の「学校」とか「外」とかの区分けのことね)ごとに各種設定できるように、それと小さいウインドウが出るのは見失いやすいから区分の設定は設定ウインドウから直接入力できるように修正を。

たったこれだけのことを実現させるのに無茶苦茶時間がかかってしまいました。
普通に考えりゃすでに同じようなものがあるわけで、それをコピペすればすぐにできるじゃん、ってことなんですが、そうやってできたのはバグを多量に含み直感的とは言いにくい代物で。
その辺とか過去の自分が残したままだったバグと闘っている間にもうこんな時間。もう無理。


どうせ正月も時間あるからペンぷろを作り続けますので,なにかあったらまたこちらに書き込みます。
それではみなさん、来年もゆにたりをよろしくお願いします!!
スポンサーサイト



なにもできないうちに一日が飛んだ><(FAM)

2008.12.28.Sun
身内の忘年会のあと寝て起きて残り物食べて仕事の残りをやって寝て起きたらすでに今日が半分終わってました。
のんびり作ってたらペンぷろの次回更新が来年になりかねないので、予定していたスプライト移動機能追加は後回しにして他の部分を作っていきます。

あ、スプライトを選択したときの挙動ですが、背景をクリックした時は選択したスプライトを前面にださないってことにしました。
背景なら前面に出さなくても何を選択しているかはわかるし、それ以外のものは前面に出すことで隠れてしまうスペースも限られてるだろうから。
それに伴って次回更新時にサンプルの1枚絵を背景に分類しなおして収録します。
ばたばた挙動が変わってあれですが、これも体験版ならではのことということでどうかひとつ。

本当は今日新しいバージョンをアップするつもりでした(FAM)

2008.12.25.Thu
実際は仕事が忙しくてほとんど手をつけていない状態です。
仕事は明日けりがつく(・・はず)のでそれからツール制作を再開する予定です。
中途半端に手をつけて不完全な状態のまま放置されている部分もあったりするんで、更新までもう少し時間がかかりそうですが。


仕事の合間にスプライト等を管理するウインドウをどうするかだけでも考えているんですが、それすらもまだ固まっていません。
理想はNスクと独立した形のウインドウで操作できるようにすることですが、なでしこでグリッドを使うとマウスホイールを回した時にグリッドをスクロールさせてしまい、キャラの立ち絵をホイールで変える動作を管理ウインドウからはさせれなくなるために二の足を踏んでいます。
管理ウインドウからスプライトを選択する画面に移れたら十分かもしれませんが、このあたりは実際にやってみないとなんとも。
選択ウインドウのように、Nスク上で擬似的なウインドウとして扱うという手もちょっとだけ考えましたが、Nスクのウインドウ内にしか置けれないのでスペースが足りなくなって使いにくいだろうと思うし。

なんにせよ早く制作に戻りたいです。

よくあること? いつものこと? それもそうか(FAM)

2008.12.19.Fri
昨日の夜、ハードディスクがちょっといかれました。
ディレクトリエントリが壊れれただのどうのとかいう話で、ほとんどのデータはそっくりそのまま残ってましたが、それらもフォルダ名が「DIR00000」のようになったり、ファイル名がショートネームに変わってたりしていたので使うに使えず。
昔のデータはそのままバックアップからひっぱってきて、それ以降のデータはファイル名直して使おうかと修復作業をちまちまやってたんですけど、消えたデータってほとんど新しい(バックアップとっていない)所でした・・・。

うん、ここ数ヶ月のこのハードディスクに保存していたものはほとんど残ってないや。


ペンぷろのデータもほとんど消えたんですが、こっちはサーバーにアップした分と合わせてほぼ復活。
おかげで作業にはあまり支障が出なさそうなので助かったといえば助かった。
最強のバックアップ方法は他人のパソコン(サーバー)にデータを置くことかもなあ、なんて思ったりしてしまいました。


ペンぷろを早く完成させてとっとと消えたデータの復活させなきゃなあ・・・。

予定よりも遅れるのがデフォになるのはよくない(FAM)

2008.12.18.Thu
ペンぷろった~の更新分アップしました。
変更点などはりーどみーに書かれています。
次に更新するのはスプライトの管理部分ができたら、かな?
なるべく早くにしたいとは思いますが、毎日のようにバグに悩まされているのでいつ頃できるかはもう少し目処が立つところまで進めないとなんとも言えず。
迂闊な事言ったところで、間に合わないかもだし。

本日のNスクめも。(FAM)

2008.12.17.Wed
*define
btnnowindowerase
game

*start
btndef clear
btndown 1

*loop
btnwait2 %0
%0
goto *loop



上記のプログラムを実行させ、タイトルバーをダブルクリックすると0が数行表示される。
1行ではなく数行なのはキーを押している間にそれだけループしているからだろう。
ボタンウェイトの前にspbtnがあると、一番最初に表示される0は最後に指定されたspbtnのボタン番号(?)に置き換わりこともあったり。どうしてかはよくわからない。

ちなみにbtndown 1(ボタンの判定を押した瞬間にする)を削除して同じことをするとなにも起きない。
goto *loopをendに置き換えてもなにも起きなかったことからそもそもボタンウェイトから抜け出していないのだと思われる。
というか、本来タイトルバーをクリックしても何も返さないのが当たり前なのでこれが正しい挙動。
ゆえにbtndown 1をかました状態のボタンウェイトでダブルクリックすると0(または予期しないボタンの番号)を返す、というのがこの現象の正しい理解かと。


でですね、なんでこんなことを突然言い出したのかといいますと、ドラッグ操作できるようにする都合上、今までのプログラムにbtndown 1を加えていじっていたら急に反映モードから画像を表示させようとした時にエラーが出るようになったんですね。
おっかしいなー、とさんざん調べて辿り着いた結論が上記の現象。
ほら、画像表示させるときにダブルクリックするので、そのときにボタンウェイトから抜け出してしまうわけなんですよ。
そんなもん知る由もないのでデバッグ作業に時間がかかって更新が遅れてしまったというわけです。
というわけで、みなさんもNスクでプログラムする時には気をつけてくださいね!

・・・そもそもNスクではダブルクリックを扱ったりしていないので気にする必要がないなんて正論は聞きたくないです。



あー、ついでに。
今はヘルプ書いてるとこなんで更新は日付変わる頃かと思われ。

移動部分はともかく、それ以外の調整に時間がかかってます(FAM)

2008.12.16.Tue
身内から報告があったタスクバーのサブウインドウを消すと動作がおかしくなる、という症状は、起動してから設定ウインドウを出さずに消すとそのままなでしこのプログラムが終了してしまうことが原因らしく。
その他の連打した時に反応がおかしくなるのも合わせて次回更新時に直します。

さっきアップしたばかりでなんなんですが(FAM)

2008.12.14.Sun
早速エラーが確認されたので急遽修正。
それに伴ってヘルプも少し書き換えました。
端的に言うと、立ち上げた時に出るサブウインドウというタスクバーはあまり触らないでね、ということで。
あとは連打しまくった時に出るエラーとか、自分のセーブ情報が残ってて他の環境で「データが言われたところにないぞ!」と起こられるエラーとか。

うん、やっぱりデバッグの時は他の人に頼まないとまずいね。
再アップはしましたが、ほかにもまずいとこあるんだろうなあ。

昨日書いたブログが下書きの状態のままだった(FAM)

2008.12.14.Sun
書いて公開情報を直そうとしているうちに寝落ちしてしまったらしい。


というわけでさんざんブログで書いてきたツール、ペンぷろった~の体験版がでました。
多分、明日辺りにはスプライトの移動とかできるようにしたバージョンと差し替えると思うけど。


今はウインドウの管理が少しややこしいことになっています。
ちょっと操作したら今さっき操作していたウインドウが後ろにいったり、ということがあります。
実は、このようにならないように0.2秒間隔でウインドウの状態を監視して自動的に順番を変えるような仕組みにしていたのですが、ごくたまに誤動作を起こし、またその誤動作が直観的な動きではなかった(ペンぷろった~が間違ったからその状態になったということがわかりにくい)ため、直前になって取り払いました。
他のシステムとの兼ね合いから、製品版ではWinAPIを使い、ウインドウの状態の変化したらその情報をフックする形になると思います。
イメージとしてはフォトショみたいな形でウインドウを制御できれば、と。

あと必要なことはだいたいヘルプの方に書いたかな。
それではようやくぬくぬくこたつでぐっすり寝られます。
皆様、おやすみなさい。

猫逆に先を越されたっ><(FAM)

2008.12.11.Thu
本当はこっちを先に出して、「nsaのままのデータも使えるよっ!」というサンプルとして近々公開の猫逆のことに触れたりとかしたかったんですが-。


まあいいや。

キー送信の課題は解決。
確実なキー送信のために「キー送信時にNスクをアクティブにした後、0.2秒くらいキーを押しっぱなしにしているという情報を送り込んで認識させる」という方法になりました。
単発のキー送信だと判定する間隔が短すぎてダメみたいだけど、この方法なら大丈夫なようなので。

次に、従来の「送りたい情報をファイルに書き込み、それをNスクに読んでもらう」という仕様だと、大量の処理をするときならともかく、単発の命令ではファイル書き込みのタイムラグがすごく気になったのでこれも直すことになりまして。
これもさんざん格闘した結果、「必要なデータをあらかじめ動的にNスクのスクリプトに組み込めるようにしておく。それが必要になったらwindowsが使用しない仮想キーの同時押しをすることで二進数の数字をNスクに伝達し、それを引数にしてデータを指定する」というずいぶんと頭の悪い処理をすることになりました。
普通にNスクに文字列の情報を送信できりゃあ、こんな馬鹿なやり方しなくてもよかったんですが、プラグインを使わないと無理なので。
んでもって、そんなプラグインあればよかったんですが、残念ながら探してもなかったので。
上記の方法でもだめなら最終的にはプラグインを自分で作ることになったかもしれませんが、WonAPIやHSPの勉強を余儀なくされている今日この頃、これ以上プラグインを作るためだけにC++を勉強、とかやってたらいつまでたってもツールが完成しませんから。


最終的な調整とかも含め、今日中に体験版をアップできると思います。
まだ未調整な部分はできるだけ組み込まないようにしたので、本当にただの見本以下の物にしかなりませんが。

猫逆フリーソフト化(うろん)

2008.12.10.Wed
うろんです。

現在、ベクター様より

ゆにたりが2006年に夏コミにて初めて発表したアドベンチャーゲーム

『CAT's Counter ATtack! ―ねこのぎゃくしゅう―』がダウンロードできるようになっております。

何回かこちらのブログでもフリーソフトにする等の記事を出していて、今日それが形となりました。

正確には昨日?かなw

製品版との修正点はみやが作中にて裸になっているシーンの演出なのですが、
実はほとんど変わってはいません。つまり立ち絵が服きたまんまという…
脳内補正にて裸になっているということにして頂けると幸いですm(___)m

あ、あと申し訳ないことの一つとして、
ベクター様のサイトにて、作者がうろんとなっております。
もちろん、私ひとりで作ったわけでなく、大部分が他の製作スタッフの手で作られたものです。
むしろ、私がしたことってないよぐらいな…
私としては代表として書いたつもりだったのですが、いらない誤解を生んでしまったら、製作スタッフには大変申し訳ないと思います。

ベクター様の『CAT's Counter ATtack! ―ねこのぎゃくしゅう―』の詳細ページはこちらからとなっております。

古い作品となりますが、またよろしければ感想をお待ちしておりますm(___)m

昨日も寒さに震えていました(FAM)

2008.12.08.Mon
「ツールの体験版ができるまではこたつをいれない!」と決めて早10日。
いまだに体験版はあがらず、ついに雪が降る時期にまでもつれこんでしまいました。
この手の「~~するまでは~~やらない」というのはよくやるんですが、今回のこれは風邪引くかもそれんので本当に早く作んなきゃならんです。時間もったいないし。
ちゃんとキー送信ができりゃ、あと一日もいらないはずなんですが・・・。
下手すりゃそのためだけにC++の勉強してNスクのプラグイン作らなきゃならんのかも,とかなり絶望的な気分です。
某所の掲示板にも聞いてみたけどやっぱり難しそうだな~。
もうちょっと別の角度からもアプローチしてがんばってみます。

うが~! できん!(FAM)

2008.12.05.Fri
体験版につける分はキー送信に関わる分以外は終わっています。
逆にいえばキー送信がまだうまくできてません。
一時期うまくいったように見えたんですが、試行錯誤してやっぱりダメ、という結論に。
そんな難しい動作を要求しているわけじゃないんだけどなあ・・・。

一度だけのキー送信だとうまく反応せず、かといって複数回キー送信すると誤動作する。
どうしたものか・・・。

ソフト間の連携が大変(FAM)

2008.12.02.Tue
だいぶ形になってきてるんですが、Nスクとなでしこで命令や情報をやり取りさせるところで調整中。
命令単体のテストではうまくいくのに一連の動作に組み込むとうまくいかない、っていうのは今に始まったことではないんですが、連携させるところではその傾向が顕著です。
キーを送る命令とキーを受ける命令のタイミングが合わなかったり、そもそも命令を受ける方法がなかったり。
なでしこはホットキーを設定できるんで結構この辺り融通がきくんですが、Nスク側の制御がちょっと難しい。

当初、君影草工房さんのところのGetKeyというキー情報を受け取れるようにするプラグインを使えばすぐに解決するや、と思っていたのですが、複合ボタンを使うためにbtnwait命令を使うとキーを押したか判定するプラグインの命令が起動できないことが判明(普通は同時に使うものじゃないし)。
その上、GetKeyは(キー判定時にNスクのアクティブ、非アクティブも判定するという性質上しかたないのですが)『押されたキーを取得』をしますが、Nスクに直接キー情報を送っても反応しません。
でもbtnwait命令のウェイトから抜ける時には非アクティブ状態のNスクに直接キー情報を送る必要がある。
この辺りのことを調べたり、ジレンマを解消したりに試行錯誤をいろいろと。


あとは複雑な情報を送る際のタイムラグが実際に作ってみたら気になったり、とか。
多少時間がかかっても気にならない処理なら
情報をファイルに書き込む→情報を受け取るよう命令を送信→命令を受信→情報をファイルから読む
という一連の流れで情報を渡せます。
でも、この方法だと最初のファイルに情報を書き込む時に時間がかかるため、リアルタイムの情報をやりとりするには向いていません(例えばドラッグしているスプライトの座標とか)。
情報のやり取りに時間がかかるからNスクは命令の受け皿に徹しさせてデータは全部なでしこに管理させようかと思っていたのに、情報のやり取りに時間がかかるからそれはできなさそう、というわけのわからないことに。
だからその手の情報はNスクに扱ってもらうことになったので、そのための改造をまたいろいろと。


体験版だからってことで詰め込む機能削ったし、今週中にはできるはず! ・・・はず。
あ、体験版用のヘルプやページも作らなきゃいけないのか・・・。

楽をするために苦労するのは大好きです(FAM)

2008.12.01.Mon
体験版のサンプル入力中。
バグを発見したりそれを直したりといった時間は長かったけど、入力量自体はそんなにないので作業自体は楽でした。
むしろこー、単調な作業をやっているうちに、その作業を軽減化するためのプログラムを作りたくなり、脇道にそれてしまうことの方が問題でした。
元々そういうところがあるからスクリプト作業用のツールなんて作り始めたのですが、なでしこを覚えてからその傾向が強くなっている気がします。
いいことか悪いことかはわかりませんが。
他の人もゲーム制作時に楽できそうなものになったらこっちのほうも公開するかもしれません。

ちなみにサンプルは友からのものではありません。
友からの立ち絵は目と顔と体を別々に作っているので、今の段階では表示できないのですよ。