日記(1059)

<前 次>

世界の中心で虎が回る

「パネルγ」アイコン作りました。
何も表示されないけどせめてアイコンくらいは表示できるようにと。
あと、WM_PAINTメッセージを受け取ってBeginPaintとEndPaintだけするようにしました。
何もしてないときよりはマシなれど相変わらずぐちゃぐちゃ。

今日も3Dやってみました。
いろんなところから拾ってきたサンプルをつぎはぎして光の当たる虎を作りました。
カメラが回りライトも回ります。
本当は虎も回るはずだったのですが、いつの間にか回らなくなっていました。3Dの神秘です。
虎だけしかなかったら虎が回ってるのかカメラが回ってるのか区別がつかないので地面も用意してみました。
地面には法線ベクトルが設定されていないのでアンビエントライトしか当たらず暗くなっています。
ちなみに地面はこれまたどっかから拾ってきた世界地図で、虎に踏んでいるところはちょうどアフリカのあたりになっています。
ファイル置き場にそのときの画像があります。

おめでとう!ありがとう!

スマブラDXでやっとノーダメージクリアを達成しました!
キャラはマルス、シンプルモードベリーイージーストック1で数回挑戦。
飛び道具を使うキャラは万が一にもシールドリフレクトされたらまずいので飛び道具主体のキャラは除外、やられ判定のない剣による素早い攻撃ということでマルスに決定。
通常ステージのザコどもはスマッシュか強攻撃剣先当てでスパッとクリア。
動きがわかりやすすぎるドクターマリオは画面端で待ち伏せてのこのこやってきたところを後ろ投げで場外へ直行。
メタルもベリーイージーでは落下速度が速いだけ。
神殿だけはステージのど真ん中にいてもルーペ化してダメージを受ける可能性があるのでできるだけルーペ化しない位置をキープ。
「ターゲットを壊せ」は一応1個だけ壊してからダメージを受けないうちに転落。
「フィギュアゲット」は一応全回収。
「突き進め!」は一番近くのゴールに突き進め!
ここんとこのダメージは関係ないと思うけど念のため。
で、最後の難関マスターハンド。
他のザコどもとは違い一発で決めることが不可能であり攻撃範囲もステージ全体に及ぶため確実に避けなければならない。
指先からビーム→攻撃はせずステージ左端で避けに専念
はたき・キラー→攻撃はせずシールドで回避
つかみ・人差し指突き→攻撃はせず緊急回避
上から拳骨→左端で避けた後攻撃
叩き潰し・指で蹴る→空中ジャンプから上必殺技で反撃
奥から拳骨→避けるだけ
奥から突進→2段ジャンプからシールドブレイカーで帰ってきたところへ反撃
待機→どんな攻撃が来るのかわからないのでこっちも待機
最後は時間がなくなってきたので突っ込んでいきましたが、何とかノーダメージクリアに成功しました。
そして最後のフィギュア「ディスくん」をゲット。
フィギュアが全部揃った!

「ふしぎのぼうし」、小さい状態だと泳ぐほうが圧倒的に速いんですね。
沼地ではうまく水溜りを見つけて飛び込んでいけば相当速く移動できるようになります。

「パネルγ」のプログラムを作り始めました。
ウィンドウだけ作ってあとは必要そうなヘッダファイルをインクルードしただけ。

ガンマ線

とりあえず昨日のパズルゲーム、「パネルγ(仮)」という名前にしました。
いや、「(仮)」は付きませんけど。
で、BGMにこだわるということで、まず2つMIDIを作ってみました。
1つ目はメインBGM。
ただし、パネルを消すたびに別の曲と摩り替わって、長い間聞くことはないので、8小節の短い曲として作りました。
メインBGMは得点や状況によってたくさんのアレンジバージョンが存在し、テンポの速い曲だと10秒もしないうちに1ループ終わってしまうかもしれません。
4分の3拍子の短調の曲です。
実は昔遊んだWindows3.1のフリーゲーム「ヨコリス」だったか「ヨコラモス」だったか、そんな名前のゲームのBGMに影響を受けています。
0点のテーマは、ゲームを始めた最初のときだけに流れるので、カウントダウンの音も入っちゃってます。
2つ目は連鎖BGM。
パネルを消すと流れ出し、連鎖が続いている間流れ続けます。
1小節が1連鎖の時間と同じなので、1連鎖ごとに1小節進み、1小節ごとに半音ずつ音階が上がっていきます。
そして、17連鎖以上するとそれ以上音階が上がらなくなります。
実は昔遊んだWindows3.1のフリーゲーム「うにさめ」の効果音に影響を受けています。
連鎖が終了すると次の通常BGMに移り変わります。
通常BGMのほうをファイル置き場にアップしました。
短調とギターって合うねぇ。
ちなみに、DirectX8の練習も兼ねて、VC++6&DX8で開発することにします。
もちろんスコアランキングにも対応で。

家のパソコンでも3Dやってみました。
SDKに付属のサンプルをいろいろ改造。
やりたいのはトゥーンレンダリング。
球とか円筒などの簡単なのを表示しても面白くないから、チュートリアルの最後、Xファイルからメッシュを読み込んで表示するサンプルを使ってみました。
とりあえず虎のテクスチャは要らないので表示コードをコメントアウト。
そしたら灰色一色の虎が。
テクスチャ貼ってるだけの色もライティングもない虎だから当たり前ですけど。
で、ライティングのサンプルからその辺の処理引っ張ってきたら今度はほぼ真っ黒に。
これは環境光の色そのままだから、恐らく法線ベクトルが定義されていないために直接光の成分がなくなったためだと思われます。
と、とと、まてまてまて、もうひとつ、オブジェクト側では反射のしかたにも2種類あって、そのうちのアンビエント反射、要するに入射角と反射角が一緒ってことは、「ふにゃふにゃ」のビーム反射処理にも応用できるんじゃないか?
それでもって、話は変わってDirectMusic、これまたDirectX8では良さそうな機能が追加されてたりして、全面的に8使うようにしようかなと思っていますが、DirectDrawがなくなったことを考えると思い切れないのも事実だったりします。

パズルゲームを考えています。パネポン風味のやつを。
数色に色分けされた長方形(以後これをパネルと呼ぶ)を画面の特定の範囲にルールに沿う範囲で整然と並べ、任意の2パネルを交換することによりルールによって定められた数種類のパターンのうち最低一つに一致するようパネルの配置を変更し、パターンに一致したパネル全てを消去し、それにとって得点を得る、また、パネルが消去されたことに起因してパネルの配置が換わり、それにより新たにパターンに一致する配置を作り、連続して消去すること(以後これを連鎖と呼ぶ)、そして、一度の操作でより多くの、またはより困難なパターンに一致させることにより通常より多くのパネルを消去すること(以後これを同時消しと呼ぶ)、さらに連鎖動作中にパネルを移動することにより、連鎖終了後に再びパターンに一致するように配置し、連鎖を続けること(以後これをアクティブ連鎖と呼ぶ)により通常より多くの得点を得ることのできるゲーム、ということです。
もちろん違いもありますよ。

縦や横に並べるわけじゃない
これをやっちゃったらパネポンそのものでしょーが!
次世代らしく、四角形になるように並べます。
可愛い女の子が出ない
昔にも言ったことがあると思いますが、そんなもの私に期待するもんじゃありません!
そして本当に誰も期待していないんですね…
せりあがってこない
その代わり横からプレス機が迫ってきます。
横長
横から迫ってくるので横長にします。
マウス操作が基本
隣同士を入れ替えるのではありません。
好きなところ2箇所をマウスでクリックして入れ替えるんです。
パネルが多い
ちょっと理由があってパネル数を多くします。
多分目一杯パネルを出したら1000個超えると思います。
ほかにも、こだわりたい部分としては、BGMがあります。
パネルを消すとちょろっと短い音楽が鳴りますが、連鎖をすると短かったのがだんだん長くなって、派手になっていきます。
また、通常BGMも、得点や状況で切り替わったりします。
0点の音楽→1連鎖の音楽→1~100点の音楽→1連鎖→2連鎖→3連鎖→4連鎖の音楽→101~300点の音楽→ピンチのときの音楽→ゲームオーバー…みたいな感じで。
ゲーム音楽のインタラクティブ性というものはまだまだ挑戦できることが多そうです。

ヘッドフォン

学校のパソコンで昨日に引き続き3Dを頑張ってみました。
とりあえずネットでサンプル明後日適当に自分なりに書き換えて2Dポリゴンを表示して自己満足して3Dポリゴンも調子に乗ってやってみようとしたら突然リンカエラーが!
libci.libが見つかりませんって言われたって、そんなのリンクするような設定はしていないのですが・・・?
で、勿論早速MSDNライブラリで調べてみたわけですが、見つからない。
帰ってからもう一度調べてみたら、「古い iostream ライブラリ」とのことで、「最新だったら新しいの使えよ!!」などと思ってみたりもしたのですが、新しいのにどうやって変えればいいのか、新しいのに変えることで不具合が起きるんじゃないか、新しいのがまだ古いのを使ってるのに何故に古いものを切り捨ててしまったのか、などなど気になってしまって、別に何もしませんでした。(何

「ByteEdit」を更新しました。
選択内容を検索します。
ついでに言うと、ドラッグによる範囲選択と右クリックにもこっそり対応させたので、検索したいバイト列をドラッグで反転→右クリックから検索で、簡易ながらもバイト列の検索ができるようになりました。
そこそこ拡張しやすい形になっていたので両方ともちょっとだけ手を加えただけで実現できました。
こんな感じですぐできる更新をちょっとずつやって行くことにしてます。

前にヘッドホンが壊れてしまっていたので、学校の帰りにヘッドホンを買ってみました。
買いに行くと、6000円くらいのオープン型・3000円くらいの密着型・2000円くらいの密着型・1000円程度のオープン型があったのですが、6000円のは完全に予算オーバーで問題外、1000円のは用途から考えてふさわしくないと感じ却下、3000円のは2000円のと比べてどこがいいのかわからなかったので結局2000円のにしました。

ピクミンその他のゲームのページ、気が向いたのでアップしてみました。
ついでにリンク集もちょい整理。
そんでもって新日記公開。

ピクピクニンジン

ピクミンのページ作りました。
ピクミンってどう考えたって扱いが奴隷。
今のところアップしてません。
気が向いたらアップします。

ちょっと学校のパソコンでDirectX8で3Dでもやってみようかと思ったのですが、チュートリアルが意味不明だったため挫折。
変数が何のために使われてどこでどう定義されて他の変数との関係がどうなのかとかがさっぱりわからないので打ち込んだところでどうにも…
DirectXGraphicsに統合された分簡単だと思ったのですが。

新日記2002年分の過去ログを仮入力完了しました。
12月の日記はほとんど同じ話題が続いていたので楽でした。
さて後1年半分…

そろそろ更新しようかと思います。
ByteEditかDirectXでも。

ひさびさFFCC

新日記の過去ログを2002年10月まで仮入力終了。
途中から過去ログの形式が変わったりするのでちょっと入力が大変です。

あ、FFCC久しぶりにやってみました。
きわめて庶民的なアイテムしか手に入らなかったのでセーブせず電源OFF。

ふしぎのぼうし3つ目のダンジョンをクリアしました。
ゴードン似のオーリス登場。

<前 次>