「日記」に関する日記(7)

<前 次>

日記の削除は本文消して

日記に削除機能をつけました。
元々削除フォームをつけて作るつもりだったのですが、確認画面の作成が面倒だったので編集フォームで本文を消すことにより削除機能を実装しました。
これはひそかにPukiWikiと同じ仕様です。
他のWikiはどうなのか知りませんが。

ふにゃさんのBGMフェードプログラムも作成中です。
参照カウントをどうするかとか、削除のタイミングをどうするかなど、ドキュメントに詳しく載っていない部分はサンプルを見ながら頑張ってみました。

オートセーブ・オートロードのAutoTextFile

日記のメニューの過去ログとカテゴリの表示を改善しました。
IEではセキュリティエラーが出ませんし、火の狐でもちゃんと動きます(スタイルは崩れますが)。

Bomber丸Worldのほうはというと、HTML表示の最終チェックをして、Wikiにアップしておきました。
それはそうと、これを作るときに副産物でできた、エラーログを監視するためのソフト、AutoTextFileをちょっとアップしてみました。
やっつけで作った手抜きソフトなので更新履歴に入れてませんが、まあ、ログ監視とか、メモ程度なら便利なんじゃないでしょうか。

NeoMuplとかミディビとかもいじってみたいところです。

ところで今日のトップページでのちょっとした冗談、見てくれた人はどのくらいいたのかな。
やっぱり嘘の閉鎖告知は周りへの迷惑が大きいと思うので、その逆をやってみたんですよ。
あのページに書いたとおり、当分閉鎖するつもりはないです。
少なくとも来年の8月までは存続しているはずです。

ParserとRenderer

日記PHPに既に書いた日記の編集機能をつけました。
以前に編集フォームだけ作って放置していたのをやっと実装できました。

で、Bomber丸WorldのHTML表示、内容的には別に進展してないんですが、HTML解析の部分と、解析結果から画像を作る部分が、両方ともそれなりに複雑で、そして完全に切り離せそうな処理だったので、HTML表示クラスのアシスト用として別のクラスに切り離しました。

爆ボン動画

日記のPHP移行のうち、HTMLを最新にする機能、ファイルアップロード、既に書かれた日記の再編集フォームができました。
一応日記再編集フォームは以前のものより使い勝手は良くしてあります。

爆ボンの動画をYouTubeにアップしてみました。
ハドソンに確認とってないので実際よいのかどうかわからないのですが、決して新しいゲームでもないし、誰が損害をこうむるわけでもなさそうなので、別に大丈夫だろうと考えてとりあえず数点アップしてみました。
しかし、録画環境の整備にはちょっと手間がかかりました。
テレビチューナー付きだったのでそれを活かそうと思ったらテレビを映すソフトの録画形式が独自形式で、結局新たにビデオキャプチャソフトを導入することになってしまいました。

1~4面

ふにゃさんのプレイムービー、1~4面までをアップしました。
やっぱりどうにも背景の岩の模様がうまく処理されないようで、動いてるとほとんど模様が見えなくなります。

そういえば、日記に書き込んだとき、日記書きこみフォームに表示されるカテゴリ一覧のためのデータファイルを更新する機能をつけるのを忘れていたので、今日付けておきました。

私の犯した愚行

日記の書き込み処理が出来上がりました。
ログファイルへの記録に加え、同時進行でHTMLキャッシュに書き込み、データ構造の解析をし、それが終わると左側メニューも作成。
ところで私は表示確認ブラウザにIEエンジンのLunascapeを使っていたのですが、今日たまたま本物のIEで日記を開くと、左側メニューのJavaScriptがセキュリティ機能によってブロックされていました。
ちょっとこれは困りますね。対策を考えてみます。

マリオ64の非暴力プレイは今日クリアできました。
難しいのは最初1個だけで、他はほぼ詰まることなくスムーズに取れました。
ではプレイ中起こした愚行を挙げておきます。
・足を滑らせて通行中のクリボーとゴッチンコ
・ドッスンの頭を踏んだ(許容範囲内のため続行)
・闇の世界のクリボーが転落事故(100%相手の過失のため無視)
・若いバサバサを幅跳びマリオの足が襲う
・ピラミッド警備のプロペラヘイホーを亀の甲羅で撥ねる
・ドンカクの顔を蹴飛ばす(許容範囲内)
・ドングルを踏む(許容範囲)
・じゃれ付いてきた幼いチビクリボーが水に転落、溺死

日記書きこみ処理

日記書きこみ処理のうち、日記ログファイルに記録するところまではできて、左側メニューとHTML作成の部分が途中です。
ひそかに書き込みフォームを広くしたりもしてます。

メテオスオンライン!

メテオスオンラインですね。
ゲームそのものはバグもほとんどなくなって、メテオの飛び方もよくなった感じです。
惑星の合成コストが高くなったのはオンラインゲームゆえかそれともオリジナル版が簡単すぎたためか。
しかし、有料の惑星があるのは、その惑星を使う人がいるからこそ基本料金が無料なのを考えるとまあ別にいいとして、ジオライトを無料にしないのはどこかおかしいと思います。
その代わり季節別のジオライトが無料なのでそれなりにバランスは取れているのでしょうが。
アバターは邪魔なので、一番目立たなさそうな子供タイプの装飾無しにして、オプションでボイスの音量を0にして黙らせることで対応しました。
それでも最下段のメテオ1個はどうしても隠れてしまうことがあるのですが。

で、今日記の投稿処理をPHPに移植中です。
とりあえずファイルアップロードは後回しにしておいて、文章の投稿処理を作成中です。

3rdは使えない!?

yaneSDK.NETのことですが、セットアップが煩雑すぎるということで使わないことにしました。
コピーすべきファイルがソースファイルだけじゃないとか、初期設定が多いとか、ちょっとした事を色々試すにはあまりに面倒です。
同じような理由でyaneSDK3rdも使いません。
先にコンパイルしましょうとか、面倒すぎます。
まあ、3rdのほうは割と単体でも使いまわせそうなものが多いので、こちらは存在意義が.NETよりはありそうですが。

日記管理をPHPに移植中です。
現在は管理者の認証までできていて、これから管理者用の処理を書くところです。

巨大ファイルへの対応

日記のファイル構造を見直して見ると前に書きましたが、どうにも少なくとも表示段階においてはファイルサイズの肥大化があまり問題にならないコードで書かれていて、むしろ下手に小細工をしようとすると帰って効率が悪くなりそうだったのでファイル構造はそのままでいくことにしました。

明日はプログラミングコーナーを更新します。

ジャンブルホッパー!

日記の表示部分の改良は完了しました。
とは言うものの、この段階ではまだ同じ事を別のコードで実現しているに過ぎないので、管理者、閲覧者共に特に変化を実感するようなところはありません。

ちょっとできる機会があってパイロットウィングス64のジャンブルホッパーをやってみたんですが、すごくいいですね。
さすがエクストラゲームの一番出現しにくいものだけあって、自由度が半端じゃありません。
水に落ちても減点だけで沈みませんし、70メートルジャンプの速度で天井に頭を痛打してもまた立ち上がって何事も無かったかのようにプレイ継続、しかも燃料という概念が無いのでどこへでも行き放題です。

現在日記を改良中です

まずは日記の表示部分の改良です。
何しろ汚くて冗長なコードでありまして、それに表示のみ考えたコードなのでHTMLキャッシュとかに流用が利かなかったりして機能追加したら追加しただけますます汚くなるわけでありまして、現在コードを洗浄中というわけであります。

日記の日記

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

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

リセットさん

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

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

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

マウスの調子が悪い

最近涼しくなってきましたね。
また冬が近付いてきたようです。

そういえば最近マウスの調子が悪いです。
クリックした瞬間とか手を離した瞬間にポイント位置がずれるのは買ったときからでしたが、最近はホイールを上向きに回した瞬間下に向かって勢いよくスクロールすることが多くなってきて困り者です。

そうそう、見ているユーザーには全然関係ありませんが日記の編集フォームを改良しました。
カテゴリ画面はどうしても場所をとるので他のフォームより横幅を広く取ってスクロールが少なくてもいいようにしたほか、ジャンル名の途中で行が折り返されたりすると非常に見つけづらくなるので、ジャンル名の途中では折り返さないようにしました。
そういえば昔日記プログラムを配布しようとしたことがあったのですがあまりに配布しにくい形式だったので断念したのでした。
書き込みはCGI、閲覧はPHPと分かれているのが問題なんですよ。
全部PHPで書き直したら配布できるようになるかな…。
ん、編集画面をJavaScriptでもっと改良できそうな気がしてきた!

過去ログ修正完了

うおーす。更新しましたー。
スクリプト作ろうコーナーの言語仕様更新ですよー。
…なんだかあまり厳密には決まってなさそうですが、細かい部分は作り始めてみないとわからないのである程度曖昧にしてあります。

そして今日は日記の過去ログを全て修正し終えました。
これに伴い未登録の日記へのリンクも削除しました。
…本当に、やっと終わりました。

それと、前々からh2とh3の小見出しが真ん中に来ると見難いと感じていたので、思い切ってスタイルシートを変更して左寄せにしてしまいました。

日常を書かなくなってきた

昔の日記を見ていて思うのですが、このごろあまり自分自身の日常について書かなくなりましたね。
パソコンのこととゲームのこと、最近はこればかりですね。
まあ、一時期日常について書きすぎていたところもあるのでこれはこれでいいのかもしれませんが。

Bomber丸Worldのページに、今では見るのも恥ずかしい過去の産物を掲載してきました。
あれですな。
作っている時点である意味恥さらしなんだから、もう思い切って全部出しちゃいました。

ふにゃさんの標準ステージ6・7面の攻略ページ作りました。
どちらもあまり見所のない紹介的なステージなんですけどね。

弟がまたバイオ0なんか買ってきてました。
いやもう、予想以上に蛭ですよ。
1がタイラント、2がG、4が寄生虫、コードベロニカが蟻、0は蛭ですよ。
ラスボスは蛭にモテモテの男が蛭化すると見た。

日記のメニューに「あのときのわし」を追加しました。
これは今までの日記の中から一日をランダムに選んで表示する機能です。
それと、今まで一日だけ表示する画面でしか表示してこなかった日記へのコメントも全ページで表示するようにしました。

謎の男

最近日記を書くだけ書いてアップするのを忘れがちです。
特に他のコンテンツの更新とかぶっていたりすると一緒にアップしただろうと思い込んで確認を怠ることがあるようです。

ミディビの投稿データを毎回別のファイル名にして保存するようにしました。
過去ログを残すとか、将来掲示板として稼動することを見越して、というよりブラウザのキャッシュ対策だったりします。

ドラクエ8ではラストダンジョンらしき場所に潜入。
なぜか図書館があったり、クレイジーな量のタルがおいてあったり、リレミトで脱出できずにルーラが使えたり、手入れが行き届いていなくてそこいらじゅうボロボロになっていたり、従来のラストダンジョンとは違った雰囲気がありました。

Bomber丸World、マップデータの方式が決まりません。
一つのマップに二つ以上のマップチップ素材があってもかまわない方式でないと困るんですよね。
だけどマップチップ一つ一つに対してどのファイルのどこのデータですというデータを書いていけば面倒なことこの上ないし、できれば番号で管理したいのです。
となれば別のファイルでどのファイルのどのデータかという情報に通し番号を付けてマップデータのほうではその番号に従ってマップを作ればよいのでは?
しかしそうなると番号のつけ方が問題に…。
それはそうと、今日の絵は謎の男仮バージョン。
輪郭に色つけると思ったよりよくなるね。

1138628860.gif

Continue?

日記で一部のカテゴリで勝手に\マークが増えて正しく検索されないことがあったバグを修正しました。
それと、見ればわかりますが検索機能も追加しました。
新カテゴリの人工無能はこれで探しました。

ふにゃさん、プレイ記録の保存とゲームオーバーからのコンティニュー時のペナルティができました。
データのロード&セーブ処理は例によって項目追加のときにロードかセーブのどちらかを忘れてしまいそうだったので設定項目の追加は一箇所で行うようにしてセーブとロードは一括処理するようにしています。
ついでにチェックサムも入れてあるので下手に変更するとデータが消えます。
そして今は項目選択機能を作成中。
つまりはいとかいいえとか、ゲームを続けるとかタイトルに戻るとか、そういうのです。
いやー。そろそろステージ作りも始めなければいけませんね。

<前 次>