「ふにゃさん」に関する日記(16)

<前 次>

同士討ち

はい!つまり昨日のは敵同士の相互作用がやりたかったのですよ。
ギヤバネ君同士がぶつかるとお互いはじかれますし、とげとげの下にふにゃやギヤバネが来るととげとげが落下してきます。
ただ、この新しいシステムのおかげで、バナナを食ってもニコニコしないようになってしまったので、描画の段階で無理やり条件判断を入れて笑わせるようにしました。
あと、キャラクターの位置管理をすべて小数で行うことにしました。
そのせいでなぜかふにゃが400万ピクセルの彼方へサヨウナラしたりもしたのですが、何とか直して、今は良好な状態を保っています。

1124807832.png

作用反作用の法則

昨日のMIDI、間違えてショートカットのほうを登録していたので修正しました。

で、今日はふにゃさんに敵キャラとしてのとげとげを追加。
とげとげは置く場所によって動作を変えるキャラクターで、地上では横這い、空中では待ち伏せて落下するタイプになります。
あと、今敵キャラについての相互作用の動作を見直しているところです。
今のところ、主人公→敵キャラ全員に作用、敵キャラ一人一人→主人公に反作用、というシステムなのですが、これを、主人公→敵キャラ全員に作用、敵キャラ一人一人→自分以外の全キャラに作用、というのにして…って、よくわかりませんよね。ごめんなさい。

1124722164.png

もう寝ます

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

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

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

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

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

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

1124636095.mid

釣糸

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

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

今日はお祭りでも。

1124117061.png

三層化への波

ふにゃさんエディタ、ついに三層マップに対応!
…しそうな流れになってきました。
データ上の三層マップの管理は既に出来上がっています。
表示を今作っているところです。
三層マップを実現するために以前の方式をいったん捨てたのですが、中層マップに限って言えばまあまあ期待通りの動作をしてくれているようです。

ふにゃさん本体、地面との摩擦をマップチップ単位で実装。
氷の床は滑るだろうし金網の床は滑らないだろうし。
そういうことができてしまいます。
後は三層マップへの対応ができるように一部変更したりしていました。

今日は子ども完全版。
今更になって服のバランスがおかしいことに気付いたけど変更する気なし。
鼻と眉も付けました。

1123770206.gif

スパイダー!!!!

ちびロボ!ついにスパイダー出現。
でもまあお化けの気ぐるみで倒しちゃったけど。
オイル発見→お化け装備→案の定スパイダー出現→Zで瞬殺。
それにしてもママさんは心の広いお方ですね~。
さっき土を掘り起こしたスプーンで紅茶をかき回してやってもハッピーなんだとか。

ふにゃさんエディタ、ステージ追加機能にステージ数の記録もつけて、これでほぼ1のときにあった要件は満たしました。
さて、そろそろサボっていた本体のほうの2面以降のマップ読み込みを作らないと。

今日は、手だけ変更。
手と認識できりゃもーいーや。

1123599209.png

ギフトピアに近いゲーム?

ちびロボ!買いました。
いやはや。想像以上に低年齢向けだったようで…。
おもちゃが出まくってる時点で気付くべきだったか…。
いや、ホント、夜の玩具の元気なこと元気なこと。
それはそうと、やる前、私はこれをハッピーを振りまくゲームだと思っていたのですが、どうも逆にハッピーを集めるゲームだったようです。
「ママから10ハッピーをゲットした。」って、なんだかママのハッピーを奪い取っている気がして罪悪感を感じてしまいます…。

ふにゃさんエディタの読み込み、いろいろ面倒な問題が出るのを覚悟していたのに結構とんとん拍子で進むので見えないところで何かあるんじゃないかとヒヤヒヤしております。
しかし既にあるステージを修正できるというのは重要ですよ。
これでいろいろ試せるってものです。
今度はいよいよ2面以降も作れるようにしていきます。

アキヤメのメテオスDBを更新しました。
面白作品ベスト2つ追加です。

今日の絵は…3D?
この球体から、いったい何ができるというのでしょうか…。

1123512484.png

ドラクエ5でのこと

踊る宝石ジュエルよ。汝と同じ過ちを犯したものが過去に一人存在する。
それは過去の英雄メルビンだ。
死んだ仲間がいたら生き返すまで敵を殺したら死んだ仲間が経験値が貰えないんだってば!
えー。過去の判例によりますと、この場合の対応は、棺桶に入れたまま数週間引き回しの刑。
全く!こんなやつに限って守備力が馬鹿高いんだから困る!
そうそう、グランパニア国境の山に100年以上住んでいるおっさんに出会いました。
すごろく券は落とさなかったか、小さなメダルは落とさなかったか、水の羽衣は落とさなかったか、と聞かれたのですが、どれも別にいらなかったのでいいえと答えたら正直者扱いされ、全部貰えました。
…破壊の鉄球について効かれたらはいって答えるつもりだったんだけどな。

ふにゃさんエディタ、うまく動くか不安だったのですが、自分でも驚くほど期待通りに動いてくれていました。
こりゃ案外簡単にできるかもしれません。

のんびりナマライザのページを作りました。
他一部のページを移転。

今日は引き続き子ども。
腕が難しいッ!指はもっと難しいッ!
どないしよー。

1123426600.png

めつきが かわった!!

自己紹介のところに自分の使っているソフト紹介を作りました。
とりあえず今のところはゲーム記と同じ形式でVBとVCだけ。
今後どんどん増やしていきます。

アキヤメの100題に62番を追加しました。
個人的なネタですんません。
62番に悪魔の宿る幼帝が出ているのはBomber丸World2で重要人物が6歳児だったからです。

ふにゃさんエディタのためのDLLを作りました。
ファイル内容の解析などにはポインタ処理が使われるためCの方が有利だったのです。
さて、エディタのほうは…。

パネルα、超上級がついに20分切られましたよ!!
いや、私が記録達成したわけじゃないです。
まあ、ランクを見てやってください。

絵は7月29日の絵の続き。
しかし骨格はそのままですがほとんど面影を残していません。
誰なのかというと、ずばり62番の子。悪魔の宿る幼帝です。
お菓子を食べたい盛りです。おもちゃで遊びたい盛りです。みんなで遊びたい盛りです。
そして魔力に物言わせてお菓子やおもちゃの兵隊を使って本気の戦争ゴッコをはじめてしまいます。
ちなみに、髪形はまだ考えていないから何も描いていません。

1123339932.png

お絵描き好きさんに

アキタラヤメル企画に「100の…」を追加しました。
絵のほうは作りかけだけどジャンルに縛られていない分、別のところでこだわっています。
百という数字にこだわるなら一から九十九にもこだわれ!
ということで、半分以上のお題はその番号とゆかりのあるものにしています。

ふにゃさんは、プレイ中の場面の切り替え(ステージクリアやミスなど)ができるようになりました。
今後は次のステージへ行く作業。

1122993337.png

木目模様

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

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

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

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

1122821470.png

ナビィ

ふにゃさん、ナビゲーションバーがほぼ完成しました。
ステージ名やバナナの画像なんかも入ります。
今後はこれに背景を入れたり要素と要素の間の距離を調整したりになりそうです。
BGMも作り始めていますがまだちょっとイマイチです。
あとFPSの表示・非表示の切り替えもほしいところ。
エディタの半透明機能はいらないかな、と思い始めています。
表示・非表示だけで充分事足りると思うのですよ。
その方向でなら「VBとGIFとBitBltと」のやり方でいけそうです。
今回はスクリーンショットを載せてます。
実はバナナを一個取った後だったんですがテキストを更新する処理を入れるのを忘れていて0になっています。

1122731430.png

尊い犠牲

 ふにゃさん、タイトルから始められるようになりました。今のところ1面しか遊べないので、沢山のステージを作ろうと思ったらそれだけステージファイルそのものが増えてしまいます。今後はステージクリア・ネクストステージあたりを作る予定。とりあえずギヤバネを数千匹ほど出してメモリ使用量を大きく増やしてガーベジコレクタが正しく働いているかどうか確認。出てきてくれたギヤバネ君には全員犠牲になってもらいました。
 エディタ方面では、下層マップと上層マップをうまくいれる方法を考案中。上のほうのマップが下のマップを隠してしまうのでそれをうまく下も見せるように。今のところは、上層・中層・下層の全てのマップに対して、100%・50%・0%表示というオプションをつけて、半透明にして上下両方とも確認したり、要らないマップを非表示にしたりできるようにする予定です。その半透明合成を実現するためにAlphaBlendなるAPIを見てみたのですが、ウィンドウを半透明化するのが主な用途らしくて、実際に使えるかどうかは今のところ不明。昔拾ってきたRakkyoGLなんかはその点いい感じにハーフブレンドができるようなので使ってみようかなと思っていたりします。
 今日は子どもの絵。どういうふうに「子どもの」なのかは聞かないでください。人体の描き方がさっぱりわかっとらんので数をこなして身につけていかにゃ。

1122648899.png

ステージセレクト

アキヤメキャラ、「いもおとにいねえ」と「ボス!と愉快な仲間たち」を更新しました。

ふにゃさんは現在タイトル権ステージセレクト画面を作成中です。
ステージファイルを検索して方向キーで選べるようになっていますがそれを確定してゲーム本編に進む部分まではまだできていません。
エディタでは、エンディングメッセージを入力できるようにしました。

1122562352.png

クリア後は動かない

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

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

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

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

1122470843.png

不思議なエレコとコネコベーダー

ふにゃさん、ギヤバネとふにゃの間の相互作用ができて、ひとまず動きは完成ということになりました。
昨日アップしたクリアできないステージはこれによりクリアできるようになりましたが、今回はアップしません。

アキヤメのキャラクターズに「不思議なエレコとコネコベーダー」を追加しました。
Bomber丸Worldの味方と敵で、どちらも実体を持ちません。
で、今日の絵はそのうちのエレコのほう。
電撃バチバチです。

1122042843.gif

ギヤバネ本格始動

見てください。ギヤバネ君が動き回っています。
ギヤバネ君はふにゃとは違いカクカク不連続的に動きます。
ことあるごとに笑ったり、壁にぶつかると跳ね返ったり、それで空中に投げ出されて落ちたり、特に跳ね飛ばされ→落ちの流れは漫画的な動きを意識して作っており、いやもう、実際見てください。
作りかけだけどちょっとダウンロードページにアップしておきます。

MIDIAP、進みました。
まさかいつか悩んでいた問題がこんな初歩的なミスのせいだったとは…。
ともかく、これで開発スピードアップですよー!
…多分。

1121956047.png

見てください。ついにステージクリアが出ました。
今は雪の効果を考えています。
雪といえば、要するに沢山の粒子であり、沢山降らせると重くなります。
それを回避するためにはアルゴリズムを極限までに単純化すると同時に、扱う粒子を可能な限り減らすことが必要になります。
まあ、いずれもほどほどにやっておけば後は高性能なCPUが何とかしてくれるでしょう。
それでも重いなら効果はあくまで効果と割り切って消しちゃえばいいんだし。
キャラクターに当たるとそこに積もるという演出もほしいなぁ。

バンジョーとカズーイの大冒険は今日で完全クリアしました。
グランチルダのクイズショーを軽やかにすっ飛ばしてチューティを助けることなくラスボスへ直行。
クイズショーで待ってるはずのグラちゃんがいつの間にか屋上へ。
ディングポットの頓珍漢な発言が悲しい。

アキタラヤメル企画にキャラクターズを追加しました。
思い入れのあるキャラについて語ったりしてみます。

1121868617.png

12音階

毎度毎度のことだけどレポートが…。
今回は連休だったこともあり、いつも以上に…だらけてました。
反省すればするほど悪くなるってどうなのよ。

昨日書き忘れていましたが、変数の値を近づけるテンプレートというのを作りました。
例えば地面との動摩擦力の場合、動摩擦力は速度が0に向かう方向に一定値かかるため、正の速度を持っている場合は一定値減じて、負の場合は増やして、となるのですが、速度が小さくなるとそれが行き過ぎてしまうためその場合は0にしなければならないのですが、これが簡単だけどあまりによく使う処理だから一つ一つ書くのが面倒だし、可読性も圧倒的に落ちるし、ということで、テンプレートが使われる典型的パターンと踏んで作ってみました。

RPG±0、タイトルくらいは表示できるようにしようとファイル読み込みを作っていたら、ファイルセレクト機能がないことに気付き、ファイルセレクト機能を実現するため入力を作ろうとしたのですがDirectInputはいじったことがないためわからず結局のところタイトル画像をやる気のない画像に差し替えただけにとどまりました。

今日は12音階音楽。
作り方があるそうなのでそれにしたがって作ってみました。
まずド~シまでの12音を平等に使ったメロディを作る。
音の高さ関係をひっくり返したものとタイミングをひっくり返したものを作る機械的作業。
半音ずつずらしてそれぞれ12段階のバリエーションを作る。
できた48の旋律を組み合わせてそれを発展させていって音楽として完成させていく。
今回は最初の2段階だけで作ったものです。
ノート以外のイベントは一切入っていないので前のMIDIの影響をもろに受けて変化します。

1121697082.mid

<前 次>