日記(956)

<前 次>

日記の日記

ラインブレイカ、どうせ根本から考え直すならいっそのことCで書き直して思いっきり高速化しようかななんて考えたりしてます。
アルゴリズムはある程度考えています。
バックアップはオプションじゃなくて必ず作るようにして。

日記のカテゴリに「日記」を追加しました。
日記そのものについて書いた日記もたくさんありますので。
それと、日記のファイル構造も根本から見直そうかと考えたりしています。
さすがに日記のログが1500日分を超えてファイルサイズも1MBを超えてしまうといろんな部分でつらくなってきます。

久々ラインブレイカ

バトル4のMIDI、着実に進んでいます。
あの曲はバイオリン・ピアノ・フルート・太鼓の4つが入った曲なので、一つ一つにきっちり特徴をつけながら作っています。

爆ボンのページを更新しました。
最近は参考タイムばっかりですけどね。
ブラックシティ4面をクリアしてレインボーパレスへ、そしてレインボーパレスの1面をカード5狙いでクリアして、2~4面はそのまま一発で全アイテムを入手しました。
というわけで残すはレインボーパレス1面のカード5以外のアイテムです。

今更ながら、ラインブレイカ、めっちゃくちゃ遅いですね。
今日、27日から29日にかけて異常な数のアクセスがあったことに気付いて調べていたのですが、要らない情報の削除のためラインブレイカに通したら普段なら数分以内で終わるところが高々10倍程度のデータ量で数時間経っても終わらなくて、どうにも効率の悪いアルゴリズムを組んでしまったために行数の2乗以上のオーダーで増えているような感じがします。
だとするとメモリ使用量も不必要に多い可能性が考えられるので、一度根本からソースを見直そうと思います。

簡易アクセス解析でも似たようなところで高速化ができるかもしれませんね。
こちらは根本からではなくちょっと手直し程度で。

空白の3年間

αゲームズのページを作ろうと色々やっていたのですが、ランキングのこととか、それぞればらばらのバージョンをどう統一するかなど、気になる部分が数多くあったのでなかなか作業が進みませんでした。
ファイル名に関しては全部全くばらばらだったので重複の心配は無かったのですけどね。

TGscriptの小吹き出しを改善しました。
これでFireFoxでもそれなりの表示ができますし、IEでもより見やすくなりました。
もっとも、FireFoxのほうではなぜか存在しないはずのスペースが表示されてしまって少し困っているのですが。
あと、表面上は何も起こっていませんが、共通処理と設定のファイルを分けました。
これは動作の変更をしたいときに設定の下までスクロールするのが面倒だったという、ただそれだけのことです。

昨日のMIDIをもうちょっとマシになるように改良していました。
この曲は聞いたとおりの曲名で、曲名通りの相手と戦うときのBGMだったりします。

マザー3のニューヨクバの画像からただのヨクバの戦闘画面風のドット絵を作ってみました。
どうせヨクバと戦うならサルサVSヨクバの夢の対決にしてみようじゃないかとか、サルサが戦うならいっそサルコも参戦させようじゃないかとか考えて作ってみました。
たぶん状況から考えて空白の3年間の出来事でしょうね。

1162133358.png

山の音楽家

CharaBoxに音楽や動画などのデータを画像の代わりに使えるようにしようと考えてました。
でも、やめました。
DirectShowを使って途中まで作っていたのですが、やめました。
画像との共存が面倒というのもあったのですが、キャラと音楽とか、キャラと動画とか、関わりが薄そうだな、と思いまして。

Bomber丸Worldに使うBGMの一つを作っていました。
6拍子で何かが混じってる曲です。
とりあえず全体的な雰囲気をつかむためにStringsだけで作ってみたもので、まだまだ本格的に作り出すのはこれからになりますが、今の段階でも結構問題が多そうです。
とにかく、いかにも急いで作ったような雰囲気が前面に出ているのを何とかしなければ。

1162046970.mid

トップページも更新

そんなわけで冷めないうちにプログラミングのところを更新してきました。
今回は1回分開いたので一度に2ページ更新です。
今度からはいよいよ長い長い前置きを終えて本番のスクリプト開発に入りますよ!!

そしてついでにトップページも更新。
コンテンツ名を見ればわかるような説明は省き、もっと内容を簡潔にわかりやすく、興味を持てるように書き換えました。
そして説明一つ一つの行数を必ず2行以内に収め、あまり使わないパーツを目立たないところに移動したりもしました。
そういえばずっと前からタグ名を間違っている部分があったのに今日初めて気が付いてしまいました。
その部分は丸ごと消すつもりの部分だったので今更気付いても意味が無かったのですが…。

爆ボンのブラックシティのページも更新しました。
やっぱりどきどきモードだとハートの制限が厳しいです。
そしてごうかくタイムもフルパワーであってさえ余裕が無い。
そんなこんなで後はレインボーパレスに突入するだけのようです。
これが済んだらいよいよ最速攻略のページなんかも作り始めますよ。

スライムが10匹

auto_resourceができたのでそれ前提で作る予定のスクリプト作成も始められそうです。
木構造を作ったら後は実行すれば終わりですが、同じスクリプトをいろんな場所で使いまわす場合、実行するごとに結果の変わらない木構造を何度も使用するごとに毎回解析するのはばかばかしいので、実行環境(要するにスクリプト内で使われる変数の情報など)だけを個別に用意して木構造は既に解析済みのものを使いまわそうという魂胆です。
まあ要するに、スライムが10匹現れた場合行動パターンはみんな同じだからHPとかのパラメータだけ個別に持たせておいて行動パターンは一つで充分でしょって話です。

インプット

なんかCBWInputが使い勝手が悪いと思って変更を加えていたんですが、ものの見事に失敗しました。
CBWInputを使うときはInitとUpdateとQuitは必ず使う必要があるのですが、そのうちInitとQuitを不要にしたかったのです。
しかし、Initの時点ではCBWDrawや他のもっと低レベルな部分の初期化が済んでいないといけなくて、Quitは逆にそれらの終了処理は始まるまでに呼ばなくちゃいけなくて、それぞれコンストラクタとデストラクタに任せておくことができなくて、断念することになりました。
本当はやろうと思えばできなくもなかったのですが、改変したところで大して手間は軽減されないし、これに依存しているCBWWindowまで道連れで変更になっちゃったりして、仕様変更によって起こる面倒ごとのほうがずっと多かったのです。
ともかくソースの過去ログ残しておいて助かりました。
それと、Quitが実は省略可能じゃなかったのでドキュメントもこっそり修正しました。

auto_resourceも細かい部分で少し修正です。
リソース本体を格納しているautoobjectはコピーが作られるとポインタや参照カウントの関係上色々まずいことが起こるので、コピーコンストラスタや代入が行われるコードを書いた場合はエラーが起こるようにしたのです。

<前 次>