「メモちらし」に関する日記

次>

NeoMuol

Frieve Editor、使い始めてみました。
コンセプト的にはうちにあるメモちらしと似たようなもの、というか、ああいうのを作ろうと思っていて撃沈したのが今のメモちらしだったりするのですが。
というわけで、実に使いやすいです。
機能がいいくせにメモちらしより起動も動作も軽快と来たもんだ。
まだまだ使いこなすには程遠いようですが、テキトーにカードを散らかして遊ぶのもなかなか良いです。
こんなところでまでメモちらし負けてるよぅ…。

NeoMuplはリストと設定の読み書きまで。
識別子として「NeoMupl015」と書くべきところを間違えて「NeoMuol015」にしてしまったせいで読み込めなかったりもしましたが、もう大丈夫です。
読み書きの処理自体は今のところ問題はないようです。

ふにゃさんの裏話を一つ更新しました。
とげとげの話です。
…が、どうやら次のバージョンでまた何かあるようです。

1173192669.png

粒子が勝手に動く

メモちらしのバージョンアップを行いました。
内容は、まあ、日記や履歴で書いてあることそのまんまなんですが、日記のほうに書いていない、つまり今日変更したのは、バグ修正です。
実を言うと、どことも繋がっていない粒子を動かなくするという新しい仕様がうまく働いていなくて、その修正のときに見つけたものなんです。
新たに追加した粒子が初期状態としてどことも繋がっていない場合は問題なかったんですが、逆に腕を全て切り離してどことも繋がらなくなった場合に腕がなくなったことを感知できずに動いちゃったんですね。
原因は変数名の間違いでした。
このバグがあると他にどんな影響があるのかはまだ調べてませんが、もしかしたら関係ないはずの粒子が変な動きをするかもしれません。

自分専用リンク集の新バージョンを作っています。
どうにも管理しにくくなってきたのでよくアクセスする順に自動で並び替えたり、実際やるかどうかはわかりませんが公開してるほうのリンク集にあるようにタグ付けで分類したりしようと考えてます。

ピキーン!

爆ボンのページを更新しました。
今回はいろんなステージの実際のクリアタイムです。
基本的にカード5狙いのときのクリアタイムを記録しています。
どきどきモードのアイテム集めのついでだったんですが、ブラックシティ1面で少し失敗してしまいまして、変なところでアイテム集めが滞ったりしています。

レゴのお城のページが更新完了です。
前から見たバージョンと後ろから見たバージョン、部屋を閉めたバージョンと開けたバージョンの計4つの画像があります。

メモちらしの改良をしました。
マウスの下にある粒子を光らせたり作成中の腕が粒子に吸い付くようにしたり、見た目部分での改良です。
マウスを動かしてると粒子が明滅したり、腕の先端がどこかの粒子に近付くとピキーン!とくっついたり、実用性を考えてのことだったのに、楽しさのほうをが強く感じられてしまいます。

1160923244.png

機能停止とファイル解析と確認画面

今日メモちらしが原因不明の動作停止をしました。
元々暴走が怖かったため動いてるか動いてないかわからないぐらいの低速で動かしていたのでずいぶん長いこと気付きませんでした。
とりあえずソフトを再起動したら直ったのですが、止まる条件はプログラムの終了以外になかったはずだったので少し気持ち悪いです。

のんびりナマライザのログ読み込み部分の中枢が出来上がりました。
先月27日に言っていたところのファイル解析です。
まず、速度は多少遅くなるのですが、エラー処理を正しく行い、可読性の高いコードになるように、そしてもちろん正しいデータに対しては最低限正しく動くようにしました。
読み込みの都合や実際に解析するときの必要性などから一部のデータを使わないことにしたり場所を色々移動したりもしました。

掲示板の迷惑書き込み対策、もっと単純でなおかつ当たり前の方法がありました。
投稿内容反映の前に、投稿内容確認画面を入れて1ステップ多くするのです。
これにより一般のお客様には利便性が上がり、迷惑書き込みをする人には面倒になるのです。
一般のお客様から見れば、投稿結果のイメージが投稿前に確認できるし、やろうと思えばその場で修正もできるし、不適切な表現があれば警告が出るし(出せるようにしたい)、チャットのようにガンガン書き込みまくるということもないので便利さだけが大きく上がるのです。
そして迷惑書き込みをする人にとっては、一手間多くかかる(つまり2倍面倒になる)、機械での投稿がしにくくなる、ということで書き込みにくくなるのです。

属性

メモちらしのページに暴走について記述しましたよ。
ちょっと数値設定に対してデリケートすぎるんですね。
こちらのほうでは時間を掛けてやっと傷跡が戻ったところです。
とにかく極端なパラメータ変化は危ないようなのです。

Bomber丸Worldの属性攻撃について考えてます。
私は敵の属性がわからず力押しで戦ってしまうことがたびたびあり、自分のゲームでも同じようなことがみんなに起こったら嫌だなぁと思うのです。
属性を色分けしてみるとか、いっそのこと誰かが教えてくれるとか、ちゃんと考えてプレイできるような方法を考えているところです。

大暴走!?

昨日の計算は、結局うまく係数を消すことができて、答えを導き出すことができました。
それに伴い学習帳を更新しました。

それで、メモちらしのほうもうまく機能追加できたのですが、新機能が悪かったのか、こっちの操作が悪かったのか、暴走が始まってしまいました。
時々暴走に備えてバックアップを取っていたのですが最近はバックアップをほとんどしていなくて、戻せませんでした。
う~ん、やっぱり根本的な対策が必要なのかなぁ…。
とりあえず今のところはゆっくり時間を掛けて暴走した傷跡を元に戻していこうと思います。

1159798470.png

字句解析

んで、更新しちゃいましたよ。
スクリプトのところ。
これで構文解析と字句解析ができたので一度小手調べに簡単な数式を解釈するインタープリタを作ろうともくろんでいます。
まあ、それなりに時間はかかりそうなので、途中に他の更新をはさむかもしれませんが。

メモちらしの自動調整の計算、どうもおかしいと思っていたら最初に考えた式が間違っていました。
もっとも、その間違いを直したからといって式が特別簡単になるということはなさそうなのですが。

数値的問題

メモちらしの長さ自動調整アルゴリズムを考えるため計算してたんですが、計算を進めるうちに却ってややこしくなってきて、手が付けられなくなってきました。
いや、式そのものは短いんですが、どうしても勝手に決めた係数が消えてくれないんですよ。
その係数が正しければそのままでも別にかまわないんですが、消えることを前提にして考えていたため当てが外れました。

Bomber丸Worldのバトル2の曲がほぼ完成しました。
なんか、マザー3の影響を色濃く受けている部分があったりなかったりします。
ループ部分の一番最後は、ふにゃふにゃで使うつもりだったボス曲のボツ曲と同じメロディを、その前の部分はふにゃさんのこれまたボツ曲を使っています。
Bomber丸Worldではこうやっていろんな形で昔のボツ曲が姿を表すと思われるのでご覚悟を。じゃなくて、お楽しみに。
開発室のほうにもアップしてますがこっちにもアップしておきました。

1159541722.mid

エラー対応と自動調整について

ナマライザの読み込み処理、これで完成かと思いきや全く正常に動かないプログラムであることが判明!
いえ、まだ実行したわけじゃないですが、簡単なデータを想定してコードを順番にたどっていったら、まだ読み込まれていないデータを処理しようとして、データがないとして、データが丸々残ってるのに次のステップに行って、その次のステップでは次に来るデータが特定の形式であることしか想定していないので、誤った場所のデータでは当然形式が会わなくて、どんどん違うデータを生み出し続ける、ということになってしまっています。
特定のフォーマットのみに対応して高速化を図ろうという考えでしたが、ちょっといくらなんでもデータの狂いに対して弱すぎるようでした。
今の状態だと全く正しく読み込めないばかりか、その正しく読み込めないところを修正したとしても、データそのものに少しエラーがあった場合でも、どんどん誤りを蓄積してそれ以降の全てのデータに悪影響を及ぼすのです。
ログデータは行単位で記録されているので、データの破損があったとしてもそれにより信用できなくなるのは該当する行だけであり、改行コードの一つも出ればそれ以降のデータは正しい可能性が高いのです。
というわけで今後の課題は、データの正しい読み込みと、エラー時の復帰の2つになります。
末端の表示処理はまあ速度さえ気にしなけりゃそれなりに楽にできるでしょう。
データ読み込みのときにも同じことを思っていたような気がしてなりませんが。

メモちらしの改良を考えています。
どうしても粒子の数が増えてくると色々なところで腕が伸びきってしまって扱いにくくなるので、腕が必要以上に伸びないような対策を考えています。
これの根本的な原因は平方根計算をするのを嫌って反発力の算出に距離の二乗に反比例した値ではなく距離に反比例した値を使ってしまったことだったのですが、既にこの仕様で動き出してしまっている以上、この部分は現段階のメモちらしでは変更するわけには行きません。
そこで、対症療法的な考え方ですが、これ以上伸びてもらうと困るという、そういう数値を設定しておいて、腕の長さがその数値を超えている場合は腕の引っ張り強さを上げるのです。
ただ、腕が長すぎる間ひたすら上げっぱなしだと、本当は時間さえかければ規定の長さに戻るのに、その途中であっても規定の長さに達していないというだけで必要以上に腕を引っ張ってしまうので、それが暴走や、縮みすぎという結果を招く可能性が高いです。
それを防ぐには、自動で腕の引っ張り強さを下げることはしないので、とにかく腕の引っ張り強さの上げすぎに注意する必要があります。
腕が長すぎるということは、つまり、腕の引っ張り強さが弱すぎて、反発力に負けているということを意味するので、反発力≧引っ張り力である間だけ引っ張り強さを上げてゆきます。
反発力<引っ張り力となっている間は腕は縮み、腕が縮むと反発力が上がり、引っ張り力は弱まります。
引っ張り強さが足りない場合、腕の長さが規定に達する前に再び反発力≧引っ張り力になるため、改めて引っ張り強さを上げてやります。
これを規定の長さになるまで続けてやれば、おおよそ規定の長さよりも少し短いところで腕は縮み終わるはずです。
縮みすぎたところがあれば、まあ、それを編集するのは長すぎの場合よりは簡単なので、手動で調整してもらいましょう。

リセットさん

今日は爆ボンのバトルステージのことでも書いてみようかと思ったのですが7割方書いたところで突然パソコンが再起動されてしまい、文章が消失してしまいました。
再起動後書き直そうとしてエディタを開いたのですがやる気が減退してしまい、結局何もせず終わりました。

メモちらしを少し改良しました。
どことも繋がっていない粒子が動いてしまうとどこにも繋げないうちにどこかへ飛んでいってしまうことがあったので、どことも繋がっていない粒子は動かさないようにしたのです。
ただ、現在位置の座標を更新しないだけでかかっている力やそれから算出される速度の値は時々刻々変化しているので、どこかに繋げた瞬間内部的に持っていた速度でいきなり動き出すのが問題ではあります。
だったら速度の値を0にすればいいとも考えられるのですが、前回の速度の値と現在の力の値などが多少複雑に結びついていたりするのでそう簡単に変えられないのですよ。
このあたりをきっちり書き直せばアップできそうではあります。

昨日の日記で日記プログラムはCGIとPHPに分かれていることを書きましたが、実は今このCGIで動いている部分がCGIでなければならない理由は全くなく、むしろ一部のPHPとの動作の違いで同じはずのアドレスが別物にされたりしてうまくブラウザのキャッシュが使えず表示に必要以上の時間がかかるという不都合だけがあるのです。
そういえば日記の削除機能が未実装だったので公開前にはその点も改善しなきゃいけませんね。

ギリギリの契約更新

メモちらしの似非物理演算、最近いらないかなぁと思い始めています。
粒子を沢山置いたらどことも繋がってないのがすぐ飛んで行っちゃうし、腕は過剰な力で伸びきっちゃうし、常に動いてるからCPU負荷が大きいし、近似の精度が悪いとすぐ発散するし、正直思いついたから作ってみただけだったので実用性が追いついていないのです。
そういうことで、近いうちに別の原理で動作するメモちらし2が出てくるかもしれません。
たぶんバージョンアップで付加機能として作ると思いますが。

今日はサーバーの更新手続きを行いました。
本当は4日にメールが届いていたのですが誤って削除してしまっていて、今日削除済みアイテムのフォルダから発見し、期限が差し迫っていたので即座に利用料を振り込み、契約更新しました。

爆ボンのページを更新しました。
今日の更新は基本操作の頁です。
不必要に長ったらしい文章ですが許してください。

プログラミングは苦手なのだ

そして今日はスクリプトのページを書いてました。
スクリプト作成については今までやってきた連続物企画より事前に考えておかなければならない部分が多いので。
なんというか、他のと比べて、「プログラミング」の部分が大きいのですよ。
ライブラリの使い方がわかれば何とかなるとか、いつもやってることを他の言語で書き換えるとかいうのとは違って純粋なアルゴリズムの部分が多いのでよく考えないと…。

メモちらしを少し改良しました。
最小化したときには描画命令そのものを呼び出さず、負荷を抑えます。

暴走停止

メモちらしで暴走が起こるのは近似の精度が悪いせいであり、スピードを下げることで近似の精度が上がるようになっていました。
そこで、明らかに粒子の移動量が異常な値を示したときは、とりあえずスピードを半分にして暴走しにくくなるようにしてみました。
速度ではなくあくまでも1回の移動量による計算なので、1回半分にしてもまだ暴走が続くようなら何回でも移動量が落ち着くまで減速します。
スピードを落とした場合、減速の勢いもまた落ちるので実は一度始まってしまった暴走は中々止まらないのですが、それでも一応は最終的にどこかに落ち着くようです。
あと、スピードが0のときはシミュレーションを実行しないようにして負荷を軽減するようにしました。

4面までできました

メモちらし最新版を公開しました。
ファイル切り替えでますます便利に!
って、本当に役立つかどうかは正直よくわからないんですけれど。
そもそも、粒子が沢山あって、それらが相互作用しているようなプログラムが作りたいと思って、それにちょっとしたメモ程度の文章をくっつけられたら、と思って作ったものなので、粒子が動きさえすればそれでいいって感じだったんですよね。
私自身はかなり便利に使っていますが、最初に作った動かし方の規則に問題があったらしく、粒子が増えると腕が半端じゃなく伸びてしまいます。
メモちらしのページでは実行画面の画像も公開しました。

ClipCaptorもこっそりバージョンアップしておきました。
内容は、ファイルの出力先を任意に選べるようにしたというもの。
これでいちいちClipCaptorのインストールディレクトリと本当に画像が必要なディレクトリを行ったり来たりする必要がなくなったのです。
この機能追加をした理由は、ふにゃさんの攻略ページを作る際に大量の画面写真が必要になったからです。

で、そのきっかけとなったふにゃさんの攻略ページ、4面まで書けました。
こうやって文章にしてみるとやっぱりむらのあるステージ編成ですね。
しかしああいうステージはやる気のある日に一日で作ってしまったほうが良いので今更編集する気はありません。
せいぜい攻略ページで言い訳でもしておきます。
そうそう、使った画面写真の数は16枚です。
撮り直しも何回かあったので20枚くらいはあったかも。

即応性

メモちらしにファイル切り替え機能を追加しました。
内容的にはファイルを開くダイアログでファイル名を取得して、以前からあったデータロードの関数に渡すだけでした。
邯鄲ならさっさとやってればよさそうなものですが、こういうのを面倒くさそうだからと後回しにするのが私なのです。
そしてすぐにはアップしないのも私です。

最近キーボードの調子が悪いです。
即応性が悪いんですよ。
確実にkの次にiを押したはずなのにいkになったり。

Negative Man

メモちらし更新でござんす。
時期は予告どおり。
追加機能は今まで書いてきたとおり。

あっけないな

メモちらしです。
ちらつき防止にはDoubleBufferedプロパティが効きます。
自前でダブルバッファリング処理するのかなと思ってMSDNライブラリのグラフィック関連の項目を見ていたらさりげなくDoubleBufferedプロパティのことが書いてありましたよ。
いや、あっけない。
そして、粒子の切り取り・コピー・貼り付けにも対応しました。
これはただ単純に粒子に関連付けられているテキストをクリップボードで操作しているだけですけどね。

わきあいあい

メモちらし、処理に時間がかかりすぎて近似の精度が悪くなりそうな場合は計算に使う時間の値を制限して最低限の精度は保つようにしました。

Bomber丸WorldのBGMを作ってました。
戦闘のテーマ1、ふにゃふにゃとふにゃさんのBGMの合成です。
まだまだ途中で短かったり不足しているパートがあったりしてするのですが。

1147791113.mid

腕を伸ばす

メモちらし、腕を繋げる画面で、最初にクリックした粒子から今のマウスの位置まで線を伸ばしてどことどこを繋げようとしているのかをわかりやすくしました。
そして、検索フォームで何も記入せずに編集を終わると全部の粒子に繋がってしまうため、これをランダムに一個と繋ぐように変更しました(厳密には全然ランダムじゃないが)。
ついでに言うとこれは改良というよりは個人的な嗜好ですね。

ふにゃさんもそろそろ追加要素の思いついたのでぼちぼち追加していこうと思います。
操作説明とか、1のステージのコンバートとか、足りないBGMの追加とか、恒例の重力変化設定とか。

次>