「掲示板」に関する日記(2)

<前 次>

吹き出した

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

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

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

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

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

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

投稿フォームのこと

掲示板にの一般の利用者に迷惑のかかりにくい迷惑書き込み対策については、一つの案として、レベル別の書き込みフォーム&投稿内容制限の変化を考えています。
まず書き込みフォーム。
元々用途に応じて様々な形態の書き込みフォームを使うことを考えているので、普通の投稿にも様々な投稿フォームがあってもあまり問題にならないのです。
非常に大まかに分けると、簡易コメントフォームと通常書き込みフォーム。
簡易コメントフォームはテキストだけのシンプルな画面構成で誰でも書き込むことができますが、載せられる情報は少なく、ちょっとしたことで投稿内容審査に引っかかり、封印されます。
通常書き込みフォームは、クッキーと画像を使って、利用者別の投稿画面が自動的に割り当てられます。
画像には適切な代替テキストを用意せず、目で見ないと何が書いてあるかわからないようにし、入力フォーム自体の形や配置も毎回変化します。
これでロボットによる書き込みフォームの判別は難しくなります。
しかし、各入力欄のname属性がわかりやすい名前であると意味がないので、一見意味のない文字の羅列をname属性に使い、投稿された時点でCGI側で、じゃなくてPHP側で元の名前に読み替えます。
そして、元の名前と意味不明な名前の対応も、一定時間で変化します。
すると変化する時間をまたいでの投稿がまずいことになりますが、そのあたりの時間差は考慮して、正しい対応を取れるようにします。

迷惑書き込み対策

いやぁ。急にNeoMuplをいじりだしました。
色々やるべきことがたまっていたりするので、まずはランダム演奏で当たる確率の調整機能を作ろうかと考えていたのですが、そのためにプロジェクトを開いてファイルの内容を見ていたら読み込み部分がなんとも不恰好なことになっていたのでこっちを先に改良しようかなどと思って改変を始めたのですが、なんだかんだで結局準備の準備段階ぐらいまでで両方とも終わってしまいました。

掲示板のロボットによる迷惑書き込みへの対策を考えています。
私が目指すのは、投稿者に少しの面倒をかけて確実に迷惑書き込みを排除する方法ではなく、一般の利用者には迷惑書き込み対策なんて意識させずにロボットだけが困るようなやり方です。
それでまず考えられるのが、HTMLソースのスクランブル。
完全にまぜこぜにするのではなく、入力フォームのname属性を意味不明な言葉にしてやるのです。
しかし結果だけいうと、それでも迷惑書き込みは来ました。
ロボットかどうかは定かではないのですが。
いろんなブラウザにそれなりに対応しつつ、迷惑書き込みはできないようにしたいのです。

掲示板全面リメイク計画

ふにゃさんの操作説明ずいぶんできてきましたよー。
とりあえず基本操作は全て完了です。
走って歩いてジャンプしてバナナ食ってとげに刺さって場外に落ちるところまでできています。
今後はギヤバネなどのいろんなキャラクターの紹介ですよ。

掲示板の全面的なリメイクをしようと考えています。
まだどうするか煮詰まっていないので行動を起こすのはまだ先になりそうですが。

怪しい書き込み

最近うちのGBBSにも迷惑書き込みが来るようです。
どういう方法なんでしょうね。
人がやっているにしてはURL表記を改善してこないところが怪しいです。
しかしフォームデータの名前を変更しているアップロード掲示板にも同様の書き込みがあるところから、人がやってるんじゃないかという疑いもあるわけで。
GBBSの根本的な問題も含めて、色々考えて変えていかなければならない場所が多そうです。

Bomber丸Worldの通常戦闘のテーマを少し改変しました。
ふにゃパートを少し。

キャラボックスの改良は進んでいます。
今は検索ダイアログボックスを作って、これから中身を実装するところです。

それと、すごく久々に爆ボンのMIDIを打ち込んでみました。
ブルーリゾートのベースをとりあえずですが最後まで打ち込みました。

1157295008.mid

ロボット対策

かなり見つけにくい場所ですが、旧アップローダーに、ロボットによる迷惑書き込みを防ぐ対策を施しました。

Bomber丸Worldのウィンドウシステムはなかなか進みません。
大まかな目処が立ったとはいえ、どんな情報を記憶しておいて、何と何を何で関連付けて、どのタイミングで何をどう動かすか、など、はっきりと決まっていないことが多すぎたのです。
だから、実際にコードを書きながら、このコードを書くことは意味がある、之は意味がないからやっぱり消す、といった試行錯誤を繰り返して、ようやく形になり始めました。

オートツ♂♀

掲示板のアイコンにマトモデナイモンスターとレダフティクを追加しました。
そしてついでに、コネコベーダーも修正しました。

今日の絵は、Bomber丸Worldの敵として出そうと考えてみたキャラクターだけど、いろんな意味で使いにくくて却下されたものです。
いや、元ネタはおねじとめねじです。
変な想像しないでください。

1154616381.png

BGMシステム

掲示板のルールを制定しました。
とはいってもルールらしいルールじゃないんですけどね。
まあ、ノールールでもそれなりに運用できていたので今のところ問題ないでしょう。

Bomber丸WorldのBGMシステムを作り始めました。
具体的にどういう風になっているのかは開発室のシステムの詳細のページをご覧ください。
BGMをただ鳴らすだけじゃないってことです。
だからといってあまりすごいものを期待されても困るんですけどね。

ルールを

久々にメテオスやってみましたよ。
腕は衰えておらず相変わらずレベル5相手に10回に8回は負けてます。

そうそう、掲示板にルールをつけようと思います。
やはりいつまでもノールールというのもどうかと思いますので。
ミディビについてもほとんど投稿のない今のうちにルールを作るというのもありかもしれません。

そうそう、掲示板への迷惑書き込みへの対策を考えてます。
別にうちは今迷惑書き込みは受けていませんが、まあ、迷惑書き込みに対する対策はあるに越したことは無いと思うので。
アイディアとしては、自動書き込みプログラム防止のため、フォームの名前をランダムにする。
もちろん完全にランダムにしてしまうとまともな書き込みさえも何がなんだかわからないことになるので、もちろんある程度の法則性は持たせておきます。
それと、NGワード機能。
以前使っていた改造掲示板ではNGワードが含まれていると機械的に投稿を拒んでいましたが、今度は、とりあえず保存しておいて、NGワードを含む場合は管理人がチェックしてOKを出すまで見られないようにします。

掲示板のことで

竜の試練とやらを受けてきました。ドラクエ8で。
景品で新しい剣をもらいました。
メタルキング相手にはテンションを上げてはやぶさの剣+メタル斬りがもっとも有効ですが、普通の相手だとなかなかのパワーを見せてくれます。

ヨッシーストーリーを久しぶりにやったらデータが消えていました。
ハイスコアはともかくトライアルモードで選べるステージが減ったのはつらいです。

そうそう、旧TWSの掲示板を閲覧専用にしました。
書き込みのほうがもはやTGWSのほうで充分ですし、書き込まれるのも宣伝書き込みだけになっているのが現状ですので。
それでも掲示板そのものを消さないのは管理人の勝手な都合からです。

掲示板いじり

掲示板ちょっといじってみました。
本当は記事の削除を作ろうと思っていたのですがその前にローカルではクッキーを記録してもオンラインとは別のユーザー扱いになってBBSデータのバックアップを取るときにローカルのユーザー情報が消えてしまって不便だったので記録されているユーザー情報からクッキーを復元する機能を作りました。
この復元機能、本当はひらがなのふっかつのじゅもんにしたかったのですが復元の難しさ(というより面倒さ)や正当性チェックなどの問題があって一般的なID・パスワード方式にすることになりました。
こっちのほうはもう実装が楽で楽で。

NeoMuplのVC++での開発を開始しました。
MFC使おうかとも思ったのですが前にMFCを無理に使おうとして撃沈したことがあったのでノーマルなWindowsAPIを使ってウィンドウのデザインはすることに決めました。
とは言えどもラッパークラスを作らないことには管理が大変なので自己流のMFCっぽいものを作ることにはなるんですが。
まあ、音声の再生にはDirectShowを使うかそれが技術的に難しければ何か他の使いやすいライブラリでも使おうかと思っています。

なんかWord不便だなーと思ってしまいます。
なんか知らんがエクセルのワークシートをオブジェクトとして貼り付けて編集したらデータが壊れているとかなんとか言われてこれ以上の変更ができなくなったり、何の説明もなく図が拡大されたり、縮小されたビットマップの編集をするとスクロールバーが使えなかったり、とにかく挿入されたオブジェクトに関してかなり不便な思いをしています。
しかしオブジェクトを既存ファイルへのリンクとして貼り付けるとワード側では編集せずに済むのでものすごく効率が上がります。
ファイルは増えてしまいますがフォルダ分けすれば問題ないのでこれで解決…だけどやっぱりこれはおかしいよマイクロソフトさん。

お絵描き掲示板のスタイルを微調整しました。
不必要な線が出ていたので消して必要な線を強くしてみました。

騎士団長

マ、マルちゃんすげえ。
暗黒神を支配し利用してやがった。
しかし主人公らが余計な手出しをしたせいで結局ラプちゃん復活。
いや、でも案外これでよかったのかも。
そうでないとマルちゃんがラスボスに…?

ちょっとアクセス解析でディレクトリごとのアクセスの様子を見てみました。

1. /tokio6/ 178,249 28.61%
昔の遺産ですな。ずいぶんと長いこと皆をだましてました。
2. /akiyame/ 67,402 24.35%
飽きる前に忘れ去っているので意外に消えなかったりします。やっぱり繋ハートが強い。
3. /gohma6/ 170,821 23.55%
昔の遺産。どちらかというと馴れ合いサイト。
4. [root directory] 52,815 6.07%
正面玄関。リンク集やブックマーク経由だと大抵一度は通るんですよね。
5. /prog/ 33,910 4.96%
なんだかんだ言ってもメインコンテンツ。更新が少なくてもメインコンテンツ。
6. /diary/ 10,471 3.17%
更新量最大だけあって結構見てくれてますな。おそらくほとんどがリピーター。
7. /game/ 9,526 2.94%
「爆ボンバーマン 攻略」でYahoo!検索1位に君臨するんだから多くても不思議はありません。エアライド関係でも結構来てくれてるんですよね。
8. /dl/ 8,503 2.31%
かつては事実上のメインコンテンツだったのですが…。ページ構成を見直さねば。
9. /cgi/ 17,056 1.51%
この内部に特設サイトを作っていて大きなサイトからリンクしてもらってるので結構人が来てます。
10. /tgscript/ 9,663 0.85%
掲示板ですな。リピーターさんは何も書かないときでも結構見てるものです。
11. /profile/ 906 0.46%
1ページが馬鹿みたいにでかい。それだけ。
13. /ul/ 2,615 0.20%
電子工学系を今後充実させていきたいです。
14. /links/ 1,435 0.18%
どうでもいい。
15. /hpm/ 1,305 0.17%
欠番の12位は実は一代目HPM。だからそれ以上のところにはいきたい。
16. /midib/ 1,134 0.09%
ミディビはまだまだマイナーな様子。やはり必要な機能を早く実装しないと。
17. /support/ 493 0.08%
必要なときに見てもらえればそれで充分なので。
18. /gift/ 15 0.06%
ずたきゅん専用。
ミディビとダウンロードを頑張らねば。

掲示板が文字化けするようだったので直しました。
GBBS時代の文字数を可能な限り少なくする過剰に省略した書き方のせいで文字コードがブラウザに渡されず結果ブラウザだけの判断で最初のTGWSを見て英語らしいと判断されてしまっていたのが原因だったようです。

ミディビの開発やってます。
アンケートの結果多くの人がアプレット実行可能な環境でないこと、たとえ実行できても正しく音が鳴るとは限らないことがわかったのでそっち方面に改良を加えています。
それに伴いアンケートのほうは終了させました。

釣糸

掲示板のアイコンにとげとげを追加しました。
ふわふわふにゃとかSuperScoreBallで邪魔しまくってたにくい奴です。
緑色のはマリモ。「ふにゃ」で弟が作ったステージに出ていた敵で、ふにゃより知能は高いそうです。
白黒のは別に意味はありません。単なる色違い。

ふにゃさんエディタの三層マップのファイルへの読み書きとゲーム本体の三層マップ表示ができました。
しかし実際のところ三層マップは単層マップに比べて単純に三倍複雑になっているわけですから、中層マップだけでも成り立つようにしたいので、今後は下層マップがなくても正常に表示されるようにしていきます。

今日はお祭りでも。

1124117061.png

クリア後は動かない

ふにゃさんエディタのボタンメニューを改良しました。
いちいちResizeイベントにコマンドボタンのサイズ変更の式を書くのが大変だったのでコマンドボタンに限り統一して扱えるようになりました。
MDI子フォームではメニューが使いにくいので自然にコマンドボタンを使ってしまうのですがまあまあ気に入っています。

ふにゃさん本体のほうも、クリア後には下手なりリアクションを起こさないようにして、クリア後に動けたり死んだりしないようにしました。

掲示板のアイコンを大量追加しました。
もうこれでほぼ全てだと思います。

サイト内でNotFoundやForbiddenのHTTPエラーのときに表示するページを変更しました。
スタイルシートが有効になっただけですが。
どこでエラーが起こるかわからないためスタイルシートのアドレスは絶対URLで指定しています。

1122470843.png

爆ボンのページ

掲示板のアイコンにあんこを増やしました。
まあ今回は楽な作業でした。

パネルγの裏話8「珍しいパターンたち」を公開しました。
これで予定している裏話は全部になります。一つはまだ完成していませんが。
今回は最後らしくネタバレを含んでいます。ご注意を。

爆ボンバーマンのページをニンテンドウ64のページから独立させました。
もともとゲーム記は自分が作りたくて作ったものであり別に見る人がいようといなかろうとどうでもいいコンテンツであり、あんまりアクセスが多くても困るのですが、大好きなゲームの爆ボンなら話は別。
ゲーム記の中でも特に検索で来る人が多かったので検索から一発で見つかるようにページを分けました。

今日はいつか作ったメロディを短調にしたもの。
案外短調にもなじんでいるように感じます。

1122388373.mid

テンプレートの練習

ふにゃさん、マップのスクロール機能を実装してみました。
普段ならここらで結構てこずっていたりしたのですが、今回は結構あっさり実装できてしまいました。
これというのもよく使いそうな機能をテンプレートとして実装して、Saturateとかしたからだと思っています。
で、早速テンプレートのSaturateで主人公の移動速度も制限。
めり込みをなくしたのです。
ついてに、当たり判定と移動のアルゴリズムを改良。
まず横に動かして全方向に当たり判定。
これで上下にぶつかっていなかったら縦にも移動した上また当たり判定。
これですり抜けバグも当たり判定が1フレーム遅れるバグも解消されたはず。力技だけど。

ひらカタチェンジャデラックスをアップしてみました。
ダウンロード→その他から落とせます。
リコチキ語+同時通訳にしているとタイトルがとんでもないことになっちゃいます。
巡回置換の周期も調べてみようと思ったのですが、根性が足りず計算できませんでした。
10桁は軽く超えると睨んでるんだけど…。

掲示板にニストのアイコンを追加しました。
不死身のあいつです。
まだ出ていないRPGの敵です。

Bomber丸Worldのページも更新。
ゲームシステムの詳細です。

template<class T>
void Saturate(T min,T& num,T max){
if (num>max) num=max;
if (num<min) num=min;
};

ファイル構造解析のために

日記と掲示板のプログラムをちょっと改良しました。
いずれもメンテナンス部門の変更なのでユーザーが使える部分では変更ありません。

FFCCでは、ちょっと気まずい手紙を拾って受け取ってしまったためリセット。
結構アイテム手に入ってたんだけどな。

ByteEditでも改良してみようかと思ったのですが、どうも今日中には間に合いそうにないです。
ファイルとの比較を作れば解析が簡単になるかなぁと思ってたり。

もう少し細かくこれからの予定

もとのGBBSとあまり変えていませんが、掲示板を設置してみました。
一応専用アイコンにも対応したりエラー時の処理を改良したりもしています。
アイコンは今のところユーザーで利用できるのが1種類しかありませんが、順次増やしていく予定です。
予定ついでに今後の方針を言っておくと、自己紹介は統合してひとつに、ランキングやその他もろもろのCGIは多分そのまま、アンケートは削除するかも。
HPMもそのまま移転しない予定。パーミッションやら.htaccessの再設定が面倒くさいので。
リンク集は相互リンク以外は順次移転。相互リンクのほうは向こうから張り替えてくれたらこっちもTGWSのほうのリンクに移動。どことどこの相互かははっきりさせておきます。
チャットはその内気が向いた来店します。

ジャゴンボVSコロニオン

ルールを ”タイム制” から ”ストック制” に変え、1回ブレイクしたら負け、というルールで挑みます。
ひとことでいうと、 [ジャゴンボ] は好戦的な惑星で、 [コロニオン] も好戦的な惑星。
7分近くにおよぶ、とんでもないデッドヒートの中、とあるラインがピンチになって白く点滅するたびに「あぶない!あぶない!」と白熱するギャラリーがいないのが残念です。
正直、私はこの程度のデッドヒートは何度も見ました!
6分53秒、あるラインがどうしようもない状態になり、戦意にぎらついていたジャゴンボ星人の目に諦めの色が翳ったとき、「燃え尽きたぜ…真っ白にな」とでもいわんばかりに唐突にコロニオンがブレイク。
何とか勝ちました。

Gのほうのアップロードをとりあえず移転。
掲示板もGBBSを基に新しく作っています。

<前 次>