日記(1059)

<前 次>

家のパソコンでも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つ目のダンジョンをクリアしました。
ゴードン似のオーリス登場。

旧日記改造日記

アクセスログを回収しました。
新しいリンク無し、記述ミスによるリンク切れ無し、ダウンロード数やや減少、Googleからの訪問激減。

新日記のログの形式を変えました。
前までは月ごとに別のログを用意していましたが、月別の表示のときには、もしログに間違った月の日記が入っていてもそのまま表示してしまうし、検索機能を使うと一気にたくさんのファイルにアクセスすることになり、いろいろと不都合があったため、全部ひとつのファイルにまとめることにしました。
PHPはCGIではないのでSuExecとは関係ない模様。
ログファイルのパーミッションは読み書きするために666でないといけないようです。
ま、日記はログ内容を整形して表示しているだけなのでログを見られる分には一向に構わないんですけど。
でも書き込み権限に関してはこれは大問題です。
というほど重大な問題でもないのですが、やっぱり第三者による書き込みを許可しているのは少し心配…
いっそのこと書き込みだけはCGIに頼るか?
これに伴い、現行の日記CGIも、新日記にできるだけ合わせた形式のログを吐き出すように改造しました。
ついでにセキュリティもほんのちょっとだけ強化。

「ふしぎのぼうし」、2つ目のダンジョンクリア。
あまりハートのかけらが集まらない…
しかもボスがポケモンっぽい…

ピッコル

父が七輪を買ってきて、今日は焼き鳥でした。
火をつけるのに2時間かかったり煙がたくさん出てスプリンクラーが作動しないかとヒヤヒヤしたり、でもやっぱり炭火で焼いたほうがおいしい。

「ゼルダの伝説-ふしぎのぼうし」を入手。
とりあえずダンジョン1個クリア。
多分ラスボスであろうグフーがちょっとオマヌケだったり。

更新インストールの巻

WindowsMediaPlayer10をインストールしました。
またまたデザインが変わってて、でも内容はどこがどう変わったのかわからなくて、結局更新チェックのダイアログを出さないためにバージョンアップしたという感じ。
Lunascapeもバージョンアップしてたけど特に必要な機能はなし。
検索するたびにバージョンアップ通知が来るので鬱陶しいことこの上ない。
なんか落ちるバグが修正されたとかで、一応インストールしましたが、30日しか使えないらしいRoboFormやら別にいらないのばっかり付いてきて、やっぱりWMP10と同じ状態に。

ランキングCGI、完全オリジナルにしました。
自分で書いた部分以外のコードを全部消して書き直し。
ロック処理とかがかなり甘くなったけど多分消えないから気にしない。

「ByteEdit」に超簡易右クリックメニューを付けてみました。
すぐ上にある編集メニューをそのままPopupMenuで出しただけ。
クリップボードの内容、せめて「ByteEdit」間だけでも共有できるようにしたいと思い、ひとつアイディアを。
クリップボード用一時ファイルを作る!
しかし旧バージョンと異なるクリップボードを使えば何かと面倒な気が・・・・処理速度も・・・

<前 次>