日記(1058)

<前 次>

知らぬはエゼロばかりなり

ウィンドウの淵の問題、CreateWindowのときにスタイルにWS_POPUPを指定すると枠が消えてくれました。
「パネルγ」のことです。
連鎖と同時消しはこの手のパズルゲームでは定番ですが、それに加えて、今作ではコンボ(仮称)というのがあります。
これは、連鎖と同じタイミングで連鎖とは関係なく連続で消すこと。
要するに間を空けずにどんどん消していけば得点が増えるということ。

学校で実験やってたんですが、今回は簡単な実験で、来週先生が出張だということで、今日中に2週間の実験を終わらせました。
ところが、簡単で2つ一度にやってもすぐ終わるはずだった実験が思ったより時間がかかってしまい、乗る電車も遅くなって、人身事故のため止まってしまいますます遅くなって、明日のテスト勉強をする時間がなくなってしまい、開き直ってゲームやってました。

というわけで、「ふしぎのぼうし」やってました。
エレメントが4つ集まって、そろそろ何ができるか何と無く察しがついてきたところ、予想通りフォーソードができてきました。
で、これまた予想通りグフーたんがタイミングよく登場。
エゼロはビックリしてましたがプレイヤーは大抵ここまで来るとこうなることは想像がついていたでしょう。
さて、グフーを倒すためには5つ目のエレメント、すなわちフィフス・えれm…そろそろやめます。

ほんものにせもの

レポートがまだ終わらないということでまあ、それだけ。
というのも寂しいので、少しばかりお話でも。
前学期に見た映画の続きを最後まで見ました。
あ、今度こそこれだけ。

明後日がレポート、明々後日がまたテスト

学校のパソコンに入っているVS.NET2003にはlibci.libがないのでDirect3Dを使ったプログラムがビルドできないようです。
最初からSDKが入ってるくせに使えないとは何事かっ!
他のVS.NETはどうなんでしょうか…

XPの丸いウィンドウの淵、ウィンドウモードならともかくフルスクリーンモードだと四隅が開いてしまうので右上をクリックしてしまったときものすごく困るんです。
ウィンドウの淵をなくすかウィンドウを最大化すれば隙間はなくなるんですが、VBみたいにボーダースタイル無しはCreateWindowではできないみたいだし、最大化してもダブルクリックで元に戻っちゃうし何故か移動できちゃうし…
でもVBだって内部ではAPIを使っているわけだし、できないことはないと思うのですが。
サンプルでもこのあたりは妥協しているようです。
「パネルγ」はなかなか思うようには進みません。

テスト、直前しか勉強しなかった割にはできたような気が、でも、直前しか勉強しなかったなりの点数にはなりそうな気がします。

イメージ音楽

「パネルγ」作ってます。
ウィンドウの作成とDirect3Dの初期化を作りました。
フルスクリーンがうまくいってなかったりしますが大方良好な感じです。
ほとんどサンプルからのコピーだけど文の一つ一つの意味を理解しながら写していかないと後々面倒なことになりそうです。
いや、実際そうなりつつあるんですけど。
あと、BGMを数種類作りました。
で、ある程度揃ってきたので適当に繋げて実際のゲームみたいなイメージのものを作ってみました。
チャンネル数の関係でいくつかの楽器が似た音色のものと置き換わっていますが、大体イメージどおりになってくれているようです。
ただ、ピンチのときの音楽だけがちょっと浮いてるかな、という印象を受けます。
一応、構成としては、ゲームスタート→2連鎖+同時消し1回!→1~100点のテーマ→11連鎖+同時消し4回!→100点~200点のテーマ→こりゃやばい!→苦し紛れに普通消し→こりゃやばい!→ゲームオーバー…てな感じになってます。
ゲームオーバーだけはまだ作ってないけど適当に入れました。
専用ページも一応開通。

「ふしぎのぼうし」のしずくの神殿をクリアしました。
なんででかいザコはこんなに強い!
あと、剣技全部覚えられたようです。

あ、実験レポートもテスト勉強も宿題もやってなかった!

世界の中心で虎が回る

「パネルγ」アイコン作りました。
何も表示されないけどせめてアイコンくらいは表示できるようにと。
あと、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で開発することにします。
もちろんスコアランキングにも対応で。

<前 次>