日記(958)

<前 次>

粒子が勝手に動く

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

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

メテオスオンライン

メテオスオンラインとやらが出るらしいですね~。パソコンで。
正直なところ、すごいと思ったところと、げんなりしたところが半々ぐらいで、差し引きなんとも思わないのと同じぐらいでした。
出そうで出なかったアイテムの登場や、滅亡条件の改良などがよかった一方、わざと削られていたはずの横移動の出現や、余計な地球人の登場など、メテオスとしてはあってはいけないと思っていたようなことが次々起こっていたりもしました。
惑星エディットができるんなら悪いところ全部帳消しにして買っちゃうんだけどな。
いや、あっても買わないかもしれないけど。

Bomber丸Worldのshared_resourceの改良版、auto_resourceの仕様を考えています。
shared_resourceの問題点は、参照カウントが0になるとすぐメモリを解放してしまう点で、0になった直後に同じリソースを使おうとすると無駄に解放と再生成の時間がかかってしまうわけです。
また、ファイル名とファイルタイプは基本的に一対一に対応するため、ファイル名でリソースを管理するshared_resouceは、読み込みアルゴリズムさえそれぞれに対して作ってやれば、内容そのものの管理はリソースの種類ごとに作らずとも一つのクラスで充分まかなえるわけです。
そんなわけで、本当に解放が必要になるときまでメモリを解放せず、リソースをその種類によらず一元管理するauto_resourceを作ろうというわけです。

XMLは、プログラム内に直接書くということも考えられるのでテキスト形式にすることに決めました。

XMLパーサ試作型

Bomber丸Worldに使うデータの一般的な書式について考えています。
アニメーション定義ファイルにせよキャラクター定義ファイルにせよ、省略記法により手作業の手間を省くつもりが却って全体の見通しが悪くなって様々な問題を引き起こしてるんですね。
融通の利かない仕様でデータ一つ一つに対して新たなプログラムを作り直す必要があるし、手作業を前提としたファイル構造のためプログラムでの生成が難しくなったりもしました。
そこで、融通が利き、拡張性が高く、なおかつゲーム向き、そういうのがほしくなったわけです。
で、とりあえず一つのアルゴリズムでいろんなデータを読み込めて、わりと自由に要素を作れるXMLというものに着目してみました。
特定用途に使うものであり、なおかつ専用ソフトを使って編集する可能性が高いということで、読み書きに都合の良いように独自のアレンジを加えるというのもありかもしれません。
タグの管理は、同じタグがいくつもあるということもありうるのでmultimapで管理するとよいでしょうか。
もっとも、XMLのような考え方を使うとすると、正確にXMLである必要が無いどころか、実際が全くXMLからかけ離れた内容でも大きな問題はなく、初めから専用エディタでのみ作るという前提にすれば、バイナリ形式で構造的にXMLのような、というのもありかもしれません。

ピキーン!

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

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

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

1160923244.png

吹き出した

掲示板の吹き出しが全種類用意できました。
大小と左右のバリエーション合計4種類で、感情によるパターンがない分以前のバージョンよりは少なくなっています。
さらに、ただ掲示板の普通の記事表示のみに使うとも限らないので、必要な部分は拡張も入れられるようにしています。
ただ、小バージョンについては、テーブルの使用をなくせば軽くなるかと思って別の方法を試みたのですがFireFoxで思ったように表示されなかったり、IEでも文字の位置が若干上にずれるということで、またテーブルに戻す必要が出てきそうではあります。

レゴで昔作ったお城っぽいのを復元できたのでMLCADのデータに入れたりしてます。
お城としてはあまり意味の無いギミックが入ってたりします。

こんな木作ってどうする

今日は変換トレーニングウィザードを久々に使ってみました。
文字エンコードの問題からかかなり文字化けして登録されていたものもありましたがまたかなりの数が登録されたようです。
相変わらず変な単語も登録されてますが。

で、スクリプトの字句解析のページが完成しましたよ。
字句解析の構文解析との差異とか、実際の字句解析の方法とかを書いてます。
この調子だと次の更新までにはC++での具体的な作り方の議論にまで到達できそうな感じです。

帯に長し、たすきに短し

昨日に引き続いてふにゃさんの標準ステージ16面の攻略を書きました。
最難関の13・14面は後回しです。

今日レーザーの実験をやっていたらレーザー装置が壊れました。
どう考えても予想とはかけ離れた結果だなと思っていたら、レーザーのクセに切れかけの豆電球にも劣る弱々しい光しか出していなかったのです。
しかもなぜか替えのレーザーまで不発。
他の種類では成功していたので、結局問題のレーザーはデータとして使わないことになりました。

そうそう、Bomber丸WorldのためのHTML表示クラスを作り始めました。
なんせギャルゲーに特化したyaneSDKのHTML表示だと、RPGに使った場合、どうでもいいところばかりがパワフルで、ちょっとしたことに使おうとすると酷く不便なのです。

<前 次>