表示処理作り始めました
TGBBSに昨日入れ忘れてた最新情報更新機能を入れて、いよいよ表示処理に取り掛かり始めました。
しかし結構複雑なプログラムになっているのでちょっと大変なところがあります。
Perlで書かれたGBBSを見ながらですが細かいところの違いなども気になったりします。
TGBBSに昨日入れ忘れてた最新情報更新機能を入れて、いよいよ表示処理に取り掛かり始めました。
しかし結構複雑なプログラムになっているのでちょっと大変なところがあります。
Perlで書かれたGBBSを見ながらですが細かいところの違いなども気になったりします。
今日新しいヘッドホンを買ってきました。
これまでに3つ壊れたので今回は丈夫そうなのを選びました。
特に頭にかぶせる部分のプラスチック部品が割れてしまいやすかったので材質重視で、力のかかる部分にあまりプラスチックが使われていないものにしました。
TGBBSの新規スレッド作成処理ができました。
ただし、表示処理がまだできていないためアップはしていません。
表示処理自体はGBBSとほぼ同じにしようと思っています。
Bomber丸Worldのテスト用プログラムをデモ版としてWikiにいくつかアップしました。
できたできたといっていながら、どこまでできたのか周りの人にはわかりにくいので、他の人のマシンで動くかどうかのテストもかねて、みんなに一部分でも見てもらうことにしたのです。
これでおそらくプログラム担当は私一人になるんでしょうね。
あと、このソフトは複数人での開発にしたいため、何らかの形でネットワークでつなげてファイルを常に最新に保つ方法を考えています。
掲示板にも書きましたが、今運用しているほうの掲示板で、2月17日に書き込みロックがかかって元に戻らない状態になっていたことに気付かず、本日まで書き込みができない状態になっていました。
この問題はロックファイルに異常があったときの修復処理を忘れていたためで、そのあたりも含めて今後はファイル破損関係の事故に気をつけて作っていこうと思っています。
TGBBSは投稿処理を作っているところです。
基本的にGBBSと同じシステムなので旧掲示板のソースを見ながら作っています。
掲示板の吹き出しが全種類用意できました。
大小と左右のバリエーション合計4種類で、感情によるパターンがない分以前のバージョンよりは少なくなっています。
さらに、ただ掲示板の普通の記事表示のみに使うとも限らないので、必要な部分は拡張も入れられるようにしています。
ただ、小バージョンについては、テーブルの使用をなくせば軽くなるかと思って別の方法を試みたのですがFireFoxで思ったように表示されなかったり、IEでも文字の位置が若干上にずれるということで、またテーブルに戻す必要が出てきそうではあります。
レゴで昔作ったお城っぽいのを復元できたのでMLCADのデータに入れたりしてます。
お城としてはあまり意味の無いギミックが入ってたりします。
今日メモちらしが原因不明の動作停止をしました。
元々暴走が怖かったため動いてるか動いてないかわからないぐらいの低速で動かしていたのでずいぶん長いこと気付きませんでした。
とりあえずソフトを再起動したら直ったのですが、止まる条件はプログラムの終了以外になかったはずだったので少し気持ち悪いです。
のんびりナマライザのログ読み込み部分の中枢が出来上がりました。
先月27日に言っていたところのファイル解析です。
まず、速度は多少遅くなるのですが、エラー処理を正しく行い、可読性の高いコードになるように、そしてもちろん正しいデータに対しては最低限正しく動くようにしました。
読み込みの都合や実際に解析するときの必要性などから一部のデータを使わないことにしたり場所を色々移動したりもしました。
掲示板の迷惑書き込み対策、もっと単純でなおかつ当たり前の方法がありました。
投稿内容反映の前に、投稿内容確認画面を入れて1ステップ多くするのです。
これにより一般のお客様には利便性が上がり、迷惑書き込みをする人には面倒になるのです。
一般のお客様から見れば、投稿結果のイメージが投稿前に確認できるし、やろうと思えばその場で修正もできるし、不適切な表現があれば警告が出るし(出せるようにしたい)、チャットのようにガンガン書き込みまくるということもないので便利さだけが大きく上がるのです。
そして迷惑書き込みをする人にとっては、一手間多くかかる(つまり2倍面倒になる)、機械での投稿がしにくくなる、ということで書き込みにくくなるのです。
掲示板にの一般の利用者に迷惑のかかりにくい迷惑書き込み対策については、一つの案として、レベル別の書き込みフォーム&投稿内容制限の変化を考えています。
まず書き込みフォーム。
元々用途に応じて様々な形態の書き込みフォームを使うことを考えているので、普通の投稿にも様々な投稿フォームがあってもあまり問題にならないのです。
非常に大まかに分けると、簡易コメントフォームと通常書き込みフォーム。
簡易コメントフォームはテキストだけのシンプルな画面構成で誰でも書き込むことができますが、載せられる情報は少なく、ちょっとしたことで投稿内容審査に引っかかり、封印されます。
通常書き込みフォームは、クッキーと画像を使って、利用者別の投稿画面が自動的に割り当てられます。
画像には適切な代替テキストを用意せず、目で見ないと何が書いてあるかわからないようにし、入力フォーム自体の形や配置も毎回変化します。
これでロボットによる書き込みフォームの判別は難しくなります。
しかし、各入力欄のname属性がわかりやすい名前であると意味がないので、一見意味のない文字の羅列をname属性に使い、投稿された時点でCGI側で、じゃなくてPHP側で元の名前に読み替えます。
そして、元の名前と意味不明な名前の対応も、一定時間で変化します。
すると変化する時間をまたいでの投稿がまずいことになりますが、そのあたりの時間差は考慮して、正しい対応を取れるようにします。
いやぁ。急にNeoMuplをいじりだしました。
色々やるべきことがたまっていたりするので、まずはランダム演奏で当たる確率の調整機能を作ろうかと考えていたのですが、そのためにプロジェクトを開いてファイルの内容を見ていたら読み込み部分がなんとも不恰好なことになっていたのでこっちを先に改良しようかなどと思って改変を始めたのですが、なんだかんだで結局準備の準備段階ぐらいまでで両方とも終わってしまいました。
掲示板のロボットによる迷惑書き込みへの対策を考えています。
私が目指すのは、投稿者に少しの面倒をかけて確実に迷惑書き込みを排除する方法ではなく、一般の利用者には迷惑書き込み対策なんて意識させずにロボットだけが困るようなやり方です。
それでまず考えられるのが、HTMLソースのスクランブル。
完全にまぜこぜにするのではなく、入力フォームのname属性を意味不明な言葉にしてやるのです。
しかし結果だけいうと、それでも迷惑書き込みは来ました。
ロボットかどうかは定かではないのですが。
いろんなブラウザにそれなりに対応しつつ、迷惑書き込みはできないようにしたいのです。
ふにゃさんの操作説明ずいぶんできてきましたよー。
とりあえず基本操作は全て完了です。
走って歩いてジャンプしてバナナ食ってとげに刺さって場外に落ちるところまでできています。
今後はギヤバネなどのいろんなキャラクターの紹介ですよ。
掲示板の全面的なリメイクをしようと考えています。
まだどうするか煮詰まっていないので行動を起こすのはまだ先になりそうですが。
最近うちのGBBSにも迷惑書き込みが来るようです。
どういう方法なんでしょうね。
人がやっているにしてはURL表記を改善してこないところが怪しいです。
しかしフォームデータの名前を変更しているアップロード掲示板にも同様の書き込みがあるところから、人がやってるんじゃないかという疑いもあるわけで。
GBBSの根本的な問題も含めて、色々考えて変えていかなければならない場所が多そうです。
Bomber丸Worldの通常戦闘のテーマを少し改変しました。
ふにゃパートを少し。
キャラボックスの改良は進んでいます。
今は検索ダイアログボックスを作って、これから中身を実装するところです。
それと、すごく久々に爆ボンのMIDIを打ち込んでみました。
ブルーリゾートのベースをとりあえずですが最後まで打ち込みました。
かなり見つけにくい場所ですが、旧アップローダーに、ロボットによる迷惑書き込みを防ぐ対策を施しました。
Bomber丸Worldのウィンドウシステムはなかなか進みません。
大まかな目処が立ったとはいえ、どんな情報を記憶しておいて、何と何を何で関連付けて、どのタイミングで何をどう動かすか、など、はっきりと決まっていないことが多すぎたのです。
だから、実際にコードを書きながら、このコードを書くことは意味がある、之は意味がないからやっぱり消す、といった試行錯誤を繰り返して、ようやく形になり始めました。
掲示板のアイコンにマトモデナイモンスターとレダフティクを追加しました。
そしてついでに、コネコベーダーも修正しました。
今日の絵は、Bomber丸Worldの敵として出そうと考えてみたキャラクターだけど、いろんな意味で使いにくくて却下されたものです。
いや、元ネタはおねじとめねじです。
変な想像しないでください。
掲示板のルールを制定しました。
とはいってもルールらしいルールじゃないんですけどね。
まあ、ノールールでもそれなりに運用できていたので今のところ問題ないでしょう。
Bomber丸WorldのBGMシステムを作り始めました。
具体的にどういう風になっているのかは開発室のシステムの詳細のページをご覧ください。
BGMをただ鳴らすだけじゃないってことです。
だからといってあまりすごいものを期待されても困るんですけどね。
久々にメテオスやってみましたよ。
腕は衰えておらず相変わらずレベル5相手に10回に8回は負けてます。
そうそう、掲示板にルールをつけようと思います。
やはりいつまでもノールールというのもどうかと思いますので。
ミディビについてもほとんど投稿のない今のうちにルールを作るというのもありかもしれません。
そうそう、掲示板への迷惑書き込みへの対策を考えてます。
別にうちは今迷惑書き込みは受けていませんが、まあ、迷惑書き込みに対する対策はあるに越したことは無いと思うので。
アイディアとしては、自動書き込みプログラム防止のため、フォームの名前をランダムにする。
もちろん完全にランダムにしてしまうとまともな書き込みさえも何がなんだかわからないことになるので、もちろんある程度の法則性は持たせておきます。
それと、NGワード機能。
以前使っていた改造掲示板ではNGワードが含まれていると機械的に投稿を拒んでいましたが、今度は、とりあえず保存しておいて、NGワードを含む場合は管理人がチェックしてOKを出すまで見られないようにします。
竜の試練とやらを受けてきました。ドラクエ8で。
景品で新しい剣をもらいました。
メタルキング相手にはテンションを上げてはやぶさの剣+メタル斬りがもっとも有効ですが、普通の相手だとなかなかのパワーを見せてくれます。
ヨッシーストーリーを久しぶりにやったらデータが消えていました。
ハイスコアはともかくトライアルモードで選べるステージが減ったのはつらいです。
そうそう、旧TWSの掲示板を閲覧専用にしました。
書き込みのほうがもはやTGWSのほうで充分ですし、書き込まれるのも宣伝書き込みだけになっているのが現状ですので。
それでも掲示板そのものを消さないのは管理人の勝手な都合からです。
掲示板ちょっといじってみました。
本当は記事の削除を作ろうと思っていたのですがその前にローカルではクッキーを記録してもオンラインとは別のユーザー扱いになってBBSデータのバックアップを取るときにローカルのユーザー情報が消えてしまって不便だったので記録されているユーザー情報からクッキーを復元する機能を作りました。
この復元機能、本当はひらがなのふっかつのじゅもんにしたかったのですが復元の難しさ(というより面倒さ)や正当性チェックなどの問題があって一般的なID・パスワード方式にすることになりました。
こっちのほうはもう実装が楽で楽で。
NeoMuplのVC++での開発を開始しました。
MFC使おうかとも思ったのですが前にMFCを無理に使おうとして撃沈したことがあったのでノーマルなWindowsAPIを使ってウィンドウのデザインはすることに決めました。
とは言えどもラッパークラスを作らないことには管理が大変なので自己流のMFCっぽいものを作ることにはなるんですが。
まあ、音声の再生にはDirectShowを使うかそれが技術的に難しければ何か他の使いやすいライブラリでも使おうかと思っています。
なんかWord不便だなーと思ってしまいます。
なんか知らんがエクセルのワークシートをオブジェクトとして貼り付けて編集したらデータが壊れているとかなんとか言われてこれ以上の変更ができなくなったり、何の説明もなく図が拡大されたり、縮小されたビットマップの編集をするとスクロールバーが使えなかったり、とにかく挿入されたオブジェクトに関してかなり不便な思いをしています。
しかしオブジェクトを既存ファイルへのリンクとして貼り付けるとワード側では編集せずに済むのでものすごく効率が上がります。
ファイルは増えてしまいますがフォルダ分けすれば問題ないのでこれで解決…だけどやっぱりこれはおかしいよマイクロソフトさん。
お絵描き掲示板のスタイルを微調整しました。
不必要な線が出ていたので消して必要な線を強くしてみました。
マ、マルちゃんすげえ。
暗黒神を支配し利用してやがった。
しかし主人公らが余計な手出しをしたせいで結局ラプちゃん復活。
いや、でも案外これでよかったのかも。
そうでないとマルちゃんがラスボスに…?
ちょっとアクセス解析でディレクトリごとのアクセスの様子を見てみました。
掲示板が文字化けするようだったので直しました。
GBBS時代の文字数を可能な限り少なくする過剰に省略した書き方のせいで文字コードがブラウザに渡されず結果ブラウザだけの判断で最初のTGWSを見て英語らしいと判断されてしまっていたのが原因だったようです。
ミディビの開発やってます。
アンケートの結果多くの人がアプレット実行可能な環境でないこと、たとえ実行できても正しく音が鳴るとは限らないことがわかったのでそっち方面に改良を加えています。
それに伴いアンケートのほうは終了させました。
掲示板のアイコンにとげとげを追加しました。
ふわふわふにゃとかSuperScoreBallで邪魔しまくってたにくい奴です。
緑色のはマリモ。「ふにゃ」で弟が作ったステージに出ていた敵で、ふにゃより知能は高いそうです。
白黒のは別に意味はありません。単なる色違い。
ふにゃさんエディタの三層マップのファイルへの読み書きとゲーム本体の三層マップ表示ができました。
しかし実際のところ三層マップは単層マップに比べて単純に三倍複雑になっているわけですから、中層マップだけでも成り立つようにしたいので、今後は下層マップがなくても正常に表示されるようにしていきます。
今日はお祭りでも。
ふにゃさんエディタのボタンメニューを改良しました。
いちいちResizeイベントにコマンドボタンのサイズ変更の式を書くのが大変だったのでコマンドボタンに限り統一して扱えるようになりました。
MDI子フォームではメニューが使いにくいので自然にコマンドボタンを使ってしまうのですがまあまあ気に入っています。
ふにゃさん本体のほうも、クリア後には下手なりリアクションを起こさないようにして、クリア後に動けたり死んだりしないようにしました。
掲示板のアイコンを大量追加しました。
もうこれでほぼ全てだと思います。
サイト内でNotFoundやForbiddenのHTTPエラーのときに表示するページを変更しました。
スタイルシートが有効になっただけですが。
どこでエラーが起こるかわからないためスタイルシートのアドレスは絶対URLで指定しています。
掲示板のアイコンにあんこを増やしました。
まあ今回は楽な作業でした。
パネルγの裏話8「珍しいパターンたち」を公開しました。
これで予定している裏話は全部になります。一つはまだ完成していませんが。
今回は最後らしくネタバレを含んでいます。ご注意を。
爆ボンバーマンのページをニンテンドウ64のページから独立させました。
もともとゲーム記は自分が作りたくて作ったものであり別に見る人がいようといなかろうとどうでもいいコンテンツであり、あんまりアクセスが多くても困るのですが、大好きなゲームの爆ボンなら話は別。
ゲーム記の中でも特に検索で来る人が多かったので検索から一発で見つかるようにページを分けました。
今日はいつか作ったメロディを短調にしたもの。
案外短調にもなじんでいるように感じます。
ふにゃさん、マップのスクロール機能を実装してみました。
普段ならここらで結構てこずっていたりしたのですが、今回は結構あっさり実装できてしまいました。
これというのもよく使いそうな機能をテンプレートとして実装して、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;
};