あのころの迷作
工場見学に行ってきました。
うん、バイオハザードでゾンビがうろついていそうな工場でした(どういう形容やねん)。
そういえば昔のフロッピーの整理をしていたら小学生の頃に作ったくだらないプログラムが出てきました。
元祖バナナゲームとか、変な文章を作成するツールとか、そしてドキュメント中でことさらに年齢を強調。
再配布規定などもあったけど実は一時配布すらしていなかったり。
工場見学に行ってきました。
うん、バイオハザードでゾンビがうろついていそうな工場でした(どういう形容やねん)。
そういえば昔のフロッピーの整理をしていたら小学生の頃に作ったくだらないプログラムが出てきました。
元祖バナナゲームとか、変な文章を作成するツールとか、そしてドキュメント中でことさらに年齢を強調。
再配布規定などもあったけど実は一時配布すらしていなかったり。
ミディビのデータ保護機能、とにかくJavaの外にデータを退避させておかなければJavaごと落ちたときに復旧ができないのです。
もちろんJavaが落ちるタイミングがわかるわけじゃないので常にどこかにデータのバックアップを取っておくことになります。
サーバー上に保存するというのは回線を切って作業できなかったりサーバー負荷が大きくなることなどから非現実的ですし、クライアント側のコンピュータにファイルとして保存するのもセキュリティの関係でできません。
そもそもバックアップがあったからといってどうやって復旧すればよいのでしょう。
画像のようにスクリーンショットが取れるわけじゃないのです。
そこで考えたのが、MIFUMIDIA上で復元可能な曲データを文字として表示し、コピーさせるというもの。
実際には面倒くさくてコピーなんてあんまりしないでしょうから、定期的に勝手にクリップボードにデータを転送します。
そうなるとユーザーがクリップボードを使えなくなるという弊害が出てくるのでデフォルトで自動バックアップは使わないようにして、「定期的にクリップボードに保存」にチェックを入れれば自動バックアップが働くようにします。
もちろんデフォルト設定はOFFです。
また、経験的にMIDIデータは同じ音が何度も続いたりして非常に冗長なので圧縮をかけてデータ量を減らします。
まともな曲を真面目に作るならどうしても10KB以上になってしまうことが多くて、その10KB分の文字というのが結構な量になったりするので圧縮が必要になるのです。
しかしそうすると高速圧縮アルゴリズムが必要になりますね。
ちなみに、この文字データをサーバー側のファイルに保存すれば、サーバーに一時保存してから後で再開するということもできるようになります。
2月1日、Bomber丸Worldのマップにかかるメモリを計算するときにさりげなく4をかけたりしていましたが、これは元々半キャラ分の大きさを当たり判定の単位にしようと考えていたからだったのですが、こうすると、二つのマップチップにキャラがまたがったときにどちらのマップチップを優先するかで困ってしまうため、やっぱり当たり判定等もマップチップの大きさとあわせることにしました。
本当は見た目に動きが不自然になるので嫌だったんですが遊びにくくなるよりはマシです。
実はこの方法、謎の男の歩き方にも悪影響を及ぼすのですが、しかしこうすることでメモリ使用量が単純計算で4分の1になるわけですから逆に言えば同じメモリで広いマップを作れるようになるので、やはりマップ優先で作ることにします。
ミディビ、なんだかエラーが起こるようです。
不完全な状態でロードすると本来起こらないはずの例外が発生するというのはわかっていましたがJavaごと落ちるというのは完全に想定外でした。
エラー終了してもどこかにデータを残しておく方法はないかな…。
あのあとかなりブラウザのキャッシュに泣かされましてね、いやホントに泣きました。
ブラウザのキャッシュを消してもJavaのキャッシュを消しても保存しないように設定しても昔のアプレットが出てきて、結局呼び出すごとにファイル名を変えることでキャッシングを回避しました。
そしてその結果がありえないNullPointerException。
絶対に起こらないように注意深くコーディングしたはずなのに。
原因はいつぞやのセキュリティエラー。ならもっと的確な例外出せっつーの!
まあ、そんなこんなでいろいろ機能追加しました。
色分けとか全トラック表示とか。
ゼルタク、大地の神殿をクリアしたのですがハーラの写真を撮り忘れていたので神殿に入るずっと前のデータからやり直しました。
そういえば後半ダンジョンの厄介な敵フロアマスターの効率的な倒し方を見つけましたよ。
それは、出てきた瞬間ブーメランで気絶させて剣で斬り、ダメージを与えたらすぐさままたブーメランを当てて気絶させ剣で斬るという動作を繰り返すのです。
フロアマスターはつかまれると特定の場所に連れて行かれますし、地中に引っ込まれたら穴の上にいるリンクがやはり引きずり込まれるので、フロアマスターを倒すときには絶対にフロアマスターに動く隙を与えないのが肝心なんですよ。
もっとも、やり直しデータでは急いでいたので不意打ちを食らって一度メドリが連れ去られてそれを追って自分もフロアマスターにつかまれに行ったりしたんですが。
そして2回目は1回目の過ちを繰り返さないために写真を撮るだけ撮ってセーブ。
こうすればもし写真がうまく取れていなくてもハーラは倒されていないので撮り直しができるんですよ。
そういえば撮り直しといえば、今回すごく納得できないことが!!
それは、夜プロロ島に行って、ヂルのかわいい寝顔を撮影し、ハジメに見せに行ったら、顔がちゃんと写ってないとか言ってたんです!!
その後昼に行って起きて立っている状態の当たり障りのない写真でOKだったんですがやっぱりあまりよい気分ではありませんでした。
そうそう、ミディビのコーナー更新準備中です。
日付が変わる前に更新したい。
すごく久しぶりにちびロボやってみました。
やっぱりストーリーは進みません。
いつもと同じマンネリとした空気。
掃除だけして半日終了。
ミディビでメッセージ画面を作っています。
結局メッセージボックスが出せなかったからビューの部分にメッセージを出すことにしたんです。
一応基本部分はできたのでこれから見栄えを良くしたり機能拡張していくことになります。
ドラクエ8、バトルロードランクSに出場してみました。
いや、モリーの選んだ最強の2人というのがどうしても気になりまして。
で、登場したのがトの付く肥満商人とラの付く王宮の戦士。
個人的にはモンスターズ2のイルとルカをすごく期待してたんだけどな…。
ミディビのもう一つの保存形式を考えています。
とりあえず、4バイトの識別子とそれに続くデータを一塊にしてそれをずらずらと並べていこうと思っています。