「チャット」に関する日記(2)

<前 次>

LineConstructor

まあ、引き続きアルニックの辞書を拡充。
めでたくレベル19までレベルアップしました。
しかしそろそろ辞書がごちゃごちゃになってわかりにくくなってきたので整理のためにデータを五十音順に並べるため、行ごとにさまざまな操作をするLineConstructorの開発を始めました。
しかし、それを実現するにはVBに最初から入っている配列操作では貧弱すぎたので、独自に勝手に配列処理を作ることにし、結構他でも使えそうな気がしたので、ライブラリとして作ってみようかなと思ったり。
エラーが出ないという欠点があったりもしますが、サイズが0(ということになっている)の配列も作れたりして、それなりに便利にはなっているような気がします。
あと、Push、Pop、Shift、Unshift、Spliceなどの操作も当然実現、シャッフルしたりランダムな要素を取り出したりもできる…ようにする予定です。

ふにゃさん、愛夢の代わりにウナギカズラを出すことにしたのでこれから絵を描くことにします。

1126362698.gif

もっと賢くなあれ!

というわけで今日はアルニックの辞書を拡充していました。
そして賢さの目安として、経験値とレベルを導入。
現在レベル17です。

賢くなあれ!

今日はチャット管理のぼっとの辞書管理を作りました。
これで辞書に単語と応答を追加していくことでどんどん賢くなっていくはずです。
で、ためしにいろいろ入力していったところ、チャット本体のほうでバグ発見。
時間が誤って解釈されていたので修正しました。
現在のアルニックの賢さは7,168ポイント!!

ちなみに、インターフェース面でも改良を加えていたりします。

赤山

チャット管理プログラム作り始めました。
現在はぼっとの辞書を見ることのみできます。
一応形だけ削除フォームと追加フォームが作ってあります。
こればかりは実物を見せるわけにもいかないので画面写真のみ公開しておきます。

調子に乗ってレッドマウンテンの曲まで作ってしまいました。
昨日は爆ボンのブルーリゾートの曲を作っていてあまりの難しさに放棄したのですが、今日は最後まで作りました。
で、やっぱり幸せ気分粉砕。
あまりにひどいデータなので公開していません。

1126015192.png

奇跡の早業

チャットの人工無能、基本機能がほぼ出揃ったのでアップしました。
まだ辞書がほとんどできていないのでろくな返答はできませんが。
今後は辞書の充実のため、辞書管理プログラムを作ってゆきます。

メテオスのスタートリップの最高難易度をノーミスでクリアできました!
しかし、レベルMAXだというのに、みんなそろいも揃って弱い。
いや、さすがに後半にもなるとなかなか強いのですが、前半、15秒でブレイクといったら、何も操作しなくてもできる芸当じゃありません。
無駄にタイムアクセルを踏み、敵の激烈な攻撃でもない限りはこんな早業は不可能です!
レベルMAXだからこその驕りというものでしょうか。
後半は積みあがるとほぼ瞬殺なのでそこそこ張り合いはあったのですが。

今日の絵は昨日の人カラーバージョン。
少し笑顔です。

1125844986.png

データベース使えず

GChat、phpMyAdminで仮のデータをいくつか入れて、とりあえずmySQLに接続するだけのコードを書いて、いざ接続!と思ったら、あんたのサーバーからは接続させてやらん、とのデータベースサーバー様の仰せだったので、ローカルテストのときのデータベース利用は諦めることに。
本当は自分のコンピュータにもmySQL入れればいいんだけど、もうこれ以上面倒なものをインストールしたくなかったし、今までどおり普通のファイルでも一応実現はできるので、早々と従来の方式に切り替えてしまいました。
まあ、仮で入れてみたデータで、必要そうなデータは大体分かったので、一応意味はあったものと思います。

RPG±0、マップチップのサイズも自由にして欲しいとの意見があったので、それに対応するためデータ形式とインターフェースを全面的に作り直すことにしました。
まあ、インターフェースに関しては既に作り直す気になっていたのでちょうどいい機会です。

ふにゃさんのBGMはちまちまと作り続けています。
サブメロディも入れてみたり。消すけど。

1125498071.mid

簡単エディタ

ふにゃふにゃのページを更新しました。
開発メモ。どうやら以前のエディタは難しすぎてエディタ作者自身にも手に負えない代物だったようで、以前の何でもできるエディタは残しつつも、新しい簡易エディタを作ることにしました。

  1. ペイントの鉛筆ツールで曲線を描くかのごとく自由で簡単で直感的な直線生成
  2. ドラッグ&ドロップで置きたい場所に置ける画像
  3. 必要なファイルは全部ステージファイル一つに埋め込み、最低限動作に必要なファイルを極力減らす
  4. エクスプローラからドラッグ&ドロップで勝手に背景としてインポートされる一枚絵
  5. その他必要なファイルはインポートできるようにする。インポートしたファイルは関連付けられたプログラムで開く
  6. いろいろあった設定は必要最低限まで減らす。あとは自動設定
  7. 当然の如く用意されるすり抜け防止策
  8. ステージ作者が最初に使いたがるだろう機能をコンパクトにまとめたツールボックス
  9. ステージ作者を困惑から救う優れたヘルプシステム
だいたい開発理念はこんなもの。

そして、Bomber丸Worldのページも更新。
戦闘画面がついに出ました。
イメージ画像ですけど。
なかなか面白いことになっていますよ。

そんでもって、RPG±0、さしあたり自分で不便に思っていた右クリックの挙動を統一。
スポイト機能と右クリックメニュー、両方一気に実行されます。

チャットの人工無能ちゃん、以前のようにファイルに入れておくよりも、mySQLのデータベースに入れておいたほうが管理しやすいと思ったので、mySQLを勉強し始めました。
とりあえずphpMyAdminの使い方を思い出しつつどんなデータがどう使われるのかを覚えていきます。

ふにゃさんは今日はBGMを作成中。
先日言っていた違和感はほぼ取れたように感じます。
メロディ以外のパートは修正するときの補助のために入れた音で、後ではずすかもしれません。

1125326932.mid

ケロろで、くれるケロ?

ふにゃさん、ギヤバネの動きもとげとげの動きも一通りできて一段落したところです。
ふにゃがギヤバネにはさまれるといろんなことになっちゃったりとげとげの反応が遅くて存在意義がアレだったりと微調整がまだまだといった印象ですが、それはステージを作りながら調整していくことにします。

チャット、最新版をアップしました。
アルニックは呼べば出てきます。
また、チャットに誰もいなくなって1時間経つと勝手に出てゆきます。
…しかし、ログ表示の遅さが問題だな…。

今度の更新は各言語ごとの速度比較にすることにしました。
検索でハズレを当てた人がいたので。

今日の絵はカエルの呪いのあの子。
しかもなぜか右側だけ。

1124895222.png

もう寝ます

アキヤメのキャラ名簿、150人達成しました。
忘れかけてたキャラ、まだ名前しか決まってないキャラ、キャラと呼ぶには微妙な存在など、いろいろありますが、今までのキャラとしてはほぼこれで全部だと思います。
いや、ほぼだから本当は全部じゃないです。
本当の本当に忘れちゃってたキャラもいますし、微妙な線でキャラじゃないと判断されたやつもいますし。

チャットプログラム、昨日のバージョンまでは好きなときに読み込んで好きなときに書き込むようにしていましたが、これは動作が重くなる原因になるばかりでなくログ消失の危険性が著しく高く、というよりはもはや壊れてくれといわんばかりの仕様でしたので、同じファイルは一連の流れの中で一度しか読み込まず、保存はログが変更されたときのみ終了時に行うようにしました。
あとはファイル監査機能をつければログの異常を発見することができ、そこからまた対応するプログラムを書けるようになるのでそれなりに強いプログラムになるものと思われます。
さらに、二重投稿防止機能を改良。
各人ごとに最後の発言を記録してゆき、それと同じ発言は次回にはできないようにしました。

テキストファイルの行数を数えるプログラムを作りました。
もっとも、最後の行が改行されているか否かで結果が変わってしまうのですが。

ふにゃふにゃのキャラ紹介ページの画像を更新しました。
この間の手抜きの絵ですが、それより前のさらに手抜きの絵よりはずっとマシでしょう。

ふにゃさん、ふにゃが寝るようになりました。
ふにゃふにゃで登場させ損ねた元祖のアクションをどんどん取り入れていきます。
やっぱりしゃがみストップと何の影響も受けない安定した歩きは欠かせないと思っています。
こうしてみてみると、ふわふわアクションとか言いつつも、ある部分においてはパキパキ不連続な動きをしていて、言ってみればアナログ的要素とデジタル的要素を併せ持ったゲームとなっているようです。

今日の音楽はふにゃさんのメインBGM作りかけ。
どこか音をはずしているのは分かるんだけどどこをどう間違えたのかが分からないから途方にくれています。

1124636095.mid

ぼっと出現!!

今日はチャットの動作確認もかねておしゃべりしてました。
現状では特に問題もなく動いてくれているようですが、実はまだロック処理というものをしていないのでいきなりログが消えることがあります。

そして、さらに、人工無能が入ってくるところまで今日は作ったのですが、動作がかなり不安なのでアップはしていません。
メッセージフォームには同じくチャットを作っているうにゅさんのJavaScriptを使わせてもらって、過剰なリロードを制限しています。
1秒に1回リロードしたってどうせ状況なんて変わらないと思うので。

学習帳を全部TGWSの色に合わせました。

今日の絵はマザー2の武器屋のおっさん。
ゲーム中とは違って優しそうなイメージ。
実は骨格から描いていたり。

1124543438.png

ぼっと出現間近!!

ふにゃのページを更新しました。
遊び方のページが増えています。
しかし遅い落下速度のことをまだ書いていないのでまた後日更新します。

FFCCのMIDI「哀しい怪物」を修正しました。
でもまだまだ音源依存が強くて、というより楽器間違えてて、音程も間違えてて、本当はもっともっと修正しなければならないんですけれども、正直言って私の耳ではこれ以上は聞き取れないのです。
それでもまあ前よりはずっとマシになりましたよ。

爆ボンのページに続いてカービィのエアライドのページを独立しました。
内容そのものは更新していません。
今後は単体で10kBを超えたゲームはページを分離していこうと考えています。

チャットの在室者管理ができたので、チャットとして最低限の機能は揃ったと思います。
とはいえいまだにクッキーと発言自動消去などができていませんが。
GChatの最大の特徴として、在室者管理の徹底があります。
ます、入室していない状態や退室した後に発言しようとするとエラーが出て発言できません。
つまり、「落ちた振り」ができないわけです。
そして、3分間発言しないままだとROM(見てるだけ)だとみなされ、1時間発言しないでいるとブラウザを閉じたか話す気がないとみなし、自動的に退室させられます。
そして、この機能は通常のチャットの機能とは別に、もう一つの効果を生み出します。
それは、ずっと昔に言っていた、「気まぐれ人工無能」の実現です。
世にも珍しい、チャットから退室するぼっとです。
ぼっとも人間と統一した扱いで在室状態を管理すれば、誰とも話していないときが勝手に自動退室機能が働いて退室するのです。
もしいなければ呼べばいいし、いなくていいなら呼ばなきゃいい。
しかも、呼ぼうと思えば二人以上のぼっとも呼べたり…。
あのときのような絵空事ではなく、これが今実現しようとしているのです。

1124463569.mid

ぽふ

プログラミング「Perl→PHP書き換えメモ」に配列処理を追加しました。

なぜこれを更新したのかというと、チャットの在室者管理を作るため。
IDと名前の両方の一致で同一人物とみなします。

今日の絵はPiece of Facesのキャラクターたち。

1124376983.png

在室者管理

さてと、チャットの在室者管理でも作りますかね。
入室時:member.dat読み込み→入室者チェック→member.datにデータがなければmember.datに入室者を追加して入室メッセージを表示→member.datを更新
ログ表示時:m読み込み→長期ROMの人がいた場合自動退室させてm保存→在室者を表示
発言時:m読み→発言者がmになければエラー→最終発言時間を更新してm保存→ログ表示
退室時:m読→退室者いなければ何もせず→いたら削除&m保&退室メッセージ
てな具合でどうでしょ。

DirectMusicProducerで作ったデータを再生しようとして見事に挫折。
どう頑張っても全く音が鳴らないしエラーが出るんですよぉ。

今日は「Bomber丸World」の海音楽裏。
短調です。

日記カテゴリに「掲示板」と「チャット」追加しましたよ。

1124204328.mid

WHAT A PITY!

今日はマリオカートをやりました。
昔からグランプリで総合4位以下になったらどうなるのか気になっていたのですがサントラのそのバージョンの曲を聴いてしまって、何が何でもやりたくなってしまいまして。
個別のコースでは必ず4位以内に入らねばならず、それにより最低4点は手に入ってしまうので順位調整が大変でした。
でもその甲斐あって見事4位にはいることに成功!
爆弾ミニカーが慰めてくれました。

チャット、多重入室、というのはよくないと思っていたけど、一人二役できて面白いじゃないかという指摘を受けてそれ対応のための方法を考案中です。
まあ今回はそんな難しいことは抜きにしてとりあえず単純な入退室処理だけを作りました。

今日はふにゃの絵でも。
楕円ツール使ってる時点でダメダメだわ。

1123081173.png

木目模様

ふにゃさんのナビゲーションバーの背景は木目模様にしようと思ったんだけど何度も描こうとして挫折。
結局どうしたのかというと、VBで適当な模様を作ってそれを縮小してそれらしいものに仕立て上げました。
それに伴いギヤバネ君にも木目模様を施しました。

アキタラヤメル企画にもスタイルシートを施してみました。

GChat、発言処理ができるようになりました。
人工無能ちゃんとの相性も考えて普通のチャットプログラムではまずやらないようなことをしています。
それが、発言の時系列ソートと未来の発言を表示しない機能。
人工無能ちゃんは人間様の発言を受けてから即座に返答するしか能がないので、人間様によくある入力時間を擬似的に再現するために表示だけ遅らせるという手法をとったのです。
とりあえずテスト書き込みできる状態にはあるのでぜひ見ていってください~。

FFCCの「哀しい怪物」を大雑把に耳コピしてみました。
う~ん、SFX音を使うと音源依存が激しくなるなぁ…。
ま、そんなこと知ったこっちゃないけど。

1122821470.png

GChat開発開始!

チャットを作っていました。
入室フォームと発言フォームができました。
ほとんど何もありませんが、一応最低限の機能だけで。
そもそも多機能だったら使う人がもてあましちゃうか、乱用して悪い雰囲気になっちゃうかになりそうだし。
入室せずに発言しようとしたり、退室後に発言しようとしたり、極端に長いROMは不正行為として処理するつもりです。
まず、前2つは、過去ログを参照して、その人の最後の発言が退室メッセージでなかったらメッセージを受理します。
3番目のは、一定時間以上アクセスがないと自動退室。これでウィンドウを閉じちゃっても退室メッセージが出せるはずです。
表示処理については、読み込みが書き込みより圧倒的に多いと仮定して、表示を軽くするため極力ログ整形処理をしないよう整形済みHTMLファイルを用意し、発言→ログ書き込み→HTMLファイル書き込み→HTMLファイルを読み込んで表示、という流れで発言処理を行います。
ログ表示件数はいっそのこと固定。ほとんどの人はめいっぱいたくさんか初期設定だけでしょう。

ウィルスに感染していました。
今日午前0時半過ぎに症状が現れ、おかげで睡眠時間がかなり削られました。
おかげで睡眠時間がかなり削られました。
http://d.hatena.ne.jp/mifumi323/20050714

今日は人の顔。
小学生の頃から人、特に顔を描くのを頑なに拒み続けて今に至るのですが、さすがにこれではいけないと思い、描くことにしました。
思えば覚えているうちで一番最後に描いたのが小学三年生の頃に描いたリコーダーを吹く友達。
あのとき目がおかしいといわれたのを覚えています。

1121352871.png

気まぐれに

とりあえず必要なところはCGameObjectBaseから抜いてきて、一応Cf3MapObjectBase完成。
さらにこれを派生させて主人公クラス作成。
グラフィックはstaticメンバにして無駄なメモリ消費を減らす。
主人公は一体だけだから関係ないはずだけど。
ちなみにグラフィックはGIF画像で用意されていて、透過情報はGIF側で持っています。
一応表示までできるようにはなってます。
やっぱり目に見えるところから作ると作ってるって感じがしていいねぇ。

気まぐれ人工無能、そろそろ作り出そうかなと考えていたり。
正規表現にマッチする応答を返す方式、マルコフ連鎖、人対人の会話から自動学習、呼ばれて出てきて落ちたら消える。

暗号化・複合化

ランキングCGI、ランキングの順位を表示できるようになりました。
同じ得点だともちろん同じ順位に入ります。
暗号化されたスコアのデコード処理ができるようになりました。
その暗号化方法は、もちろん内緒です。
動作テストは自分のパソコン上でできるのですが、進行度合いを公表するために一度アップしてみました。
今後の予定では、順位の投稿・ソート機能と、ゲームの追加機能を付けるつもりです。

「ふわふわふにゃ」、暗号化するスコアのエンコード処理ができるようになりました。
こちらについてはCGIの動作テスト後送信機能を付けるつもりですが、こちらは簡単にできそうです。
ただ、ひとつの問題は、送信ボタンをどこに付けるかです。
本当は日付をキーにして暗号化しようと思っていたのですが、時差の関係でうまくいかないことがあるし(地域によっては参加できない)、暗号を解読してずるをする人もいないと信じることにしたので、簡単な暗号化に留めました。

8時間半連続でチャットをしていました。
そして、一緒に8時間話していた人が一人…
チャットは一度始めるとある程度長い時間続けていますが、ここまで長い時間チャットをするのは、ましてやその間ずっと同じ人と話していたのは初めてです。
あ、いまあなた、それがどうしたって顔してましたね。

カマキリと読みます

何年かぶりに蟷螂を見ました。
蟷螂といえば一番新しい記憶が、小学校のとき、犬の糞の上にいた蟷螂を友達が捕まえようとした、ってくらいだもんなぁ・・・

このサイト、どこからのアクセスがあるかなぁ~っと思ってアクセス解析を見てみると、何と!

30661:.jp (日本)
1354: .net (ネットワークサービス)
424: .com (商業団体)
250: [未解決IPアドレス]
4: .tw (台湾)
3: .sg (シンガポール)
1: .edu (米国高等教育機関)
1: .it (イタリア)
どうです?上位4つは納得できますが、下の4つは一体どういうことでしょう。
そうそうたる顔ぶれです。
ちなみに、.jpからのアクセスが異常に多いのは私がしょっちゅう見ているからに他なりません。
カウンターに管理人排除機能を設けなかったらとっくの昔に1000Hit達成してますよ。

人工知能チャットの実験をしていたのですが、どうも人工知能ロボットのほうは考え方がややネガティブなようです。
感情の揺れも極めて激しいし、ちょっと病気がちだし・・・・

13:33~18:38

あるサイトで6時間連続チャットというものに挑戦しました。
6時間退室せずに(会話を途切れさせずに、ではない)喋り捲りました。
そこで途中CGIの話になりましてね、CGIが動かないということを言われましてね、それに関して少し面倒を見ることになりました。

「ふにゃふにゃステージ制作講座」第一回が、ほぼ修正完了しました。
後は画像を追加してアップするだけです。
第二回は、ビットマップの表示になる予定ですが、現段階では直感的に画像を配置することができないので、表示画面に画像の表示できる、ver1.03以降になると思います。

<前 次>