日記(1100)

<前 次>

3Dプログラミング

自宅サーバーで使っている簡易スケジュールCGIで、スケジュールを書き込むときに過去の情報を消して軽量化するようにしました。
また、日本で使っているので9時間の時差を調整する処理も作ったので、昨日の内容が表示されるということもなくなりました。

Direct3Dを使ってのプログラミングを始めることにしました。
とりあえずは入門書に書いてあることをそのまま…とはいっても例によって当てにならない本で、おまけにインストールされているSDKは8のものということで、またまたいくつかの不具合が出てしまいました。
今回はほんとーーに右も左もわからない状態で始めたので、ソースはスパゲッティ状態(微妙に別の意味にも取れそう)かつ関数の意味を説明するコメントだらけになりそうです。
いいんです、練習用ですから。
で、3Dオブジェクトは、自作するのが面倒なので、フライングジャンプ3のウィリアム=パピヨット9世君を使うことにします。
いいんです、練習用ですから。

「ふにゃさん」のインプットクラスに、マウスに関する変数を作りました。
キーボード及びジョイスティック操作の時には無視されます。
また、マウス使用時も、方向キーの代わりに使っている間は無視されます。
それと、設定用のクラスも作りました。
「ふにゃふにゃ」のときの、設定ファイルの内容が正常値から少しでも逸脱すればすぐ初期化してしまって設定に拡張性がなかったということの反省を踏まえて、今回は設定バージョンというものを取り入れて、読み込みは完全な上位互換性を維持し、書き出すときは最新バージョンで記録します。
簡単に言うと、設定が追加されても後から正常に使えるということです。

「VisualBasic初心者連盟」が、2月中に閉鎖されてしまうようです。
掲示板のPRが寂しくなるなぁ…

インプットクラス

「ふにゃさん」は片手でプレイできます。
以前からもやろうと思えば片手プレイができていたのですが、今回は、マウス操作も採用することにしました。
そしてジョイスティック操作も。
もちろんキーボード操作の場合はキーカスタマイズがある程度自由にできます。
マウス操作の場合は、左クリックでジャンプ、右クリックで攻撃、中央ボタンor代替キー→カーソル移動で移動。
基本的にマウスもジョイスティックも対応するキーの状態に変換し(左ボタンクリック→ジャンプボタンが押されたと認識)、キーボード操作のときの同じ感覚でプログラムができるようにしています。
クラスの継承を使っているのでこの辺の実装は簡単・・・・だと思います。

リンク集に「KEN's」を追加しました。
今日見つけてほぼ衝動的に。
CGIを使っていながらいまだにリンク先の追加は手動です。
負荷を軽くするためHTML版のインデックスページも作ってみたのですが、こちらも手作業で作っています。

たまには短く

今日は一部の教科でテストがありました。
あまりいい結果とはいえません・・・・

Geasprinのこと

「ふにゃさん」には、数も種類も少ないですが、敵が登場します。
そのうちの一種、ギヤバネについてお話してみようと思います。
歯車の機械仕掛けで動き、バネで近づく者を弾き飛ばす敵で、上下前後のバネの有無と走行用のタイヤの存在により32種類に分けられます。
「ふにゃさん」には、敵が登場しますが、あまり強くありません。
ギヤバネは、タイヤがついているときは平らな場所で左右に動き回り、上にバネがついているときは乗ったものを高く飛ばし、下にバネがついているときは常にジャンプをし続け、前にバネがついているときは壁に触ると高速で跳ね返り、後ろにバネがついているときは後ろから近づいたものを跳ね飛ばすことができますが、跳ね飛ばされたからってそれ自身に攻撃力があるわけではなく、動きも規則的なのでうまく使えば行けなかった場所にも飛ばしてくれることさえあります。
つまり、どちらかというと倒すべき「敵」というよりは、ステージの仕掛けという色合いが強くなっています。
敵を倒してゴールへたどり着くゲームではなくステージ内にあるバナナを回収するのが目的なんですから・・・
それと、ギヤバネについては、風の抵抗や慣性の影響を受けてふわふわと動くふにゃに対して、機械的にカクカクと動き回るようにしようと思っています。
あと、その性質上かなりの応用が利くので、動きのパターンもそれ相応に豊富にしようとも思っています。

ドラクエ7、面白すぎる。

今日も「ドラクエ7」やってました。
えーとですね、きこりを仲間にしました。
「きこり」ですよ「きこり」!
「木こり」でも「樵」でもないんですよ!
仲間になったときはみんな名前が出るのに、きこりは普通に「きこりが仲間になった」ですよ!
あれって、もしかして、「きこり」って名前の人だったんですか!??
そしてその後に出会ったデス・アミーゴ!
何と攻撃がお手玉
しかも誰にも当たってない!!
後から考えるとあまり強くはなかったんですけど、呪文が封じられている上にマリベルが集中狙いされて瀕死になったため一時は全滅を覚悟しました。
が、それからはマリベルは一切狙わなくなり、無事勝利。
そしてガボが仲間に。
狼少年だそうです。
ガボの技「ほえろ」、これがまたすごい!
敵グループをすくみあがらせるのです、しかも今までに試したザコのうちでは例外なく!
ガボの「ほえろ」→他のキャラの攻撃→すくみ上がって逃げられない の繰り返しで、どんどん敵が倒せるのです。
しかもすくみあがったときのアニメーションが・・・!
特にカニおとこがすくみあがったときが!!
まあそれはおいといて・・・
その後ボスのからくり兵を倒しに行ったのですが、ガボだけ修行が足りず、マリベルにも見捨てられ、戦いの中で死亡。
つまり、なかなか強いボスだったと、それはいいんですよ。
でも、一言言っていいですか?
火の息やらまぶしい光程度で大陸滅ぼそうって一体どういうつもりですか?マシンマスターさん!!

ひだりあたまのきず

「ドラクエ7」をやっていました。
ガボらしき人物を見つけたのでそれは放置して近くの山に修行に。
仲間のフクロウに地面に叩き落される空の狩人に仲間呼びが間に合わないマドハンドなど、なかなか楽しい敵が盛りだくさんでした。

で、そこまでは良かったんですが、終わってから電源を切りに行こうとすると、足元に弟の散らかしたスマブラDXのディスクが!!
踏んで壊したりしたら一大事です、私はとっさに足をのけました。
しかしそれは同時につっかい棒を取り払ったのと同じで、バランスを崩して倒れてしまったのです。
そのせいで頭を机の角にぶつけ、怪我をしてしまいました。
前は前で弟の散らかしたレゴを踏みそうになって左手の指を怪我するし・・・・

抽象的に

「ふにゃさん」の開発をしていました。
「ふにゃふにゃ」のときはひとつのクラスにあまりにも多くの仕事をさせすぎたために似て非なるクラスが量産されて効率が良くなかったのですが(というよりクラスを使っている意味がなかったのですが)、今回は可能な限り各部のパーツを独立して動くようにさせて、コードを一目見て大体の意味がすぐにわかるように作るつもりです。
コードの一部をアップしましたので、「その他」から見に行ってみてください。
あれでしっかり動くんです、真っ黒な画面だけですけど。

<前 次>