スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

理想と現状

理想->そろそろライブラリ完成
現状->まだまだライブラリ未完成

ま、そんなことは至上命令でもないので趣味的にまったりやろ~。
最近はマーベルVSカプコン3を(肉体的に)必死こいて攻略中。
PSコンの方向キーのエッジが有する破壊力を見誤ったが故、左親指の皮中央に穴が開いた今日この頃。
おかげでPSコンは赤黒く…なったけどゲームはしたいよね!せっかく買ったし。

ということで自己流格ゲー様コントローラーの使い方談義。
しかし格ゲーはやっぱり難しいですなぁ…。派手さに反して弾幕シューティングより精密性が要求されますからね。
しかも肉体的な反射神経を。弾幕のが精神面負担率が高い分私には向いてる。


1.アナログスティックを使う。
現状これがメイン。手が痛いので。波動コマンドと回転系コマンドはやりやすい。
が、異様にジャンプが暴発するのと、昇竜コマンドを実戦でやるのは難易度高すぎ。
とはいえそもそもガチで格ゲーやったのは初めてに近く、EAZYに辛勝がいいところで、
必殺技自体コンボに組み込むのが至難の業なため問題はないかもしれない。
しれないが、ネット対戦すると矢印キーより瞬殺率が心なしか上がる気がする。

2.簡単操作モード
ぶっちゃけこっちのが連打が許される分明らかに初心者である私は楽。
必殺技もコマンド自体がないので指を痛めない…のだがそのぶん出せる技が制限。
戦略なんか考えるレベルじゃなく見た目派手に楽しめるのでいいんだけど、
ネット対戦で使うと、個人的に何となく申し訳ない感があるのが唯一難点。

3.じゅうえんだま
を方向キーに貼り付ける。両面テープで。コンビニにポテチ買いに行ったとき思いついた。
一度騙されたと思って十円玉あてがってみ。そのサイズのピッタリ感に感動するから。
利点は指が痛くない、コマンドいれやすい。難点は銅臭い、力んでズレると致命的。総合的には昇竜出しやすいが若干違和感のあるアナログスティックな感じ。割とあり。

4.諦めてパッドかスティック買う
諦めたらそこでs(ry



という感じですね。
ところでPS3お持ちの西さんらみなさん、アサシンクリードが嫌なら、
はなから対戦ツールとして作られたこれで対戦しようぜ。私、ネット対戦だと瞬殺だから…。




ゲームやりてー

やりたいなー。

せっかくだから更新したほうがいいと思うので今日は私が嫌いな話し手自身の話(日記)をしましょう。
人のペットの話、人の旅行の話、人の妄想の話は、三大「内心ぶっちゃけどうでもいいんだけど」話だと思います。
でもきっとしている方はどんな時よりその話を楽しんでるでしょうな。
人生ってそんなものですよね、全然わからないけど。
ウゾダドンドコドーン!サッギョクスルテイッタディアナイディスカー!オンドゥルルラギッタンディスカーニシサーン!


続きを読む

フラーレンてなんだっけ

メモ:

文字列テクスチャ作成クラス
・ある程度はバッファに残しておいて高速に描画する。
・数字アルファベットはあらかじめ内部で作成する。

スマートポインタ
・ウィークポインタ的な機能
・参照カウンタ方式のboostのやつはnewでよくわからんが遅いらしいので、
あらかじめメモリを確保するか理解できてないリンクリスト方式で。

Xaudio2
・とりあえず再生、wave読み込みの見直し
・コールバックによるイベント管理でストリーミング再生実装

入力
・とりあえずマウスも追加
・もう少しキー入力増やす

オブジェクトリスト
・動的作成をメモリプールで効率化
・簡便なファクトリの実装


夏休みより長いし、と思い本腰入れてガチガチにやると意外と時間がない。
そろそろ入試らしいが余計なとばっちり喰らわんためにも真面目やっていただきたい生徒のみなさん。
あの中学生に欲情するとはロリコンはマゾを兼ねるのか、想像出来ないですよねぇ、西さん。西さん。


ところで何か虚しい(訳:日々の趣味的作業にリアクションがなくて(´・ω・`))ので
クッキー西さんカワッコさんあたりもGLUTあたりから一緒にCか何か学ぼうぜ!

DirectX9

世間様はDirectX10・11マンセーなのかもしれませんが扱い方がようやっと理解できて来たのでDirectX9です。
自分のイメージ先行なので間違ってはいるかもしれませんが今のところ動いてるんで大丈夫でしょう。

さて今日は四角形の自由変形に関して。
2D描画をGLUT気味にしたいと考えていて、単位四角形を自由変形したいと思っていたわけですが、
これを2次元のみでやるのは難しく、パースを考慮した射影変換をしてやる必要があるわけです。
2次元図形の射影変換にはxyに依存する値での「除算」がかかわってくるためになかなかに悩みました。
通常の行列演算では行列の割り算は定義されておらず、そもそも行列の成分はその変換時には
「定数」であるために、xyに依存する値を行列の成分にすることはできません。
できませんが、xyに依存する値を「頂点自体に」保存することが可能と思い立ちました。
そもそもデフォルトの射影変換はこの方法を用いているようなので大したことじゃないんだろうけど、
自分で気づくとテンションあがるよね、一人で勝手に。
また、四角形の自由変形は、もっと簡単に考えれば各座標に異なる変換を施したいという要望になるわけで。

今回はこの二つの方法を用いた四角形の自由変形でも。

続きを読む

雑記

いやぁいよいよ夏休み終わりですね。
大学入ってから夏休み・春休みが後半苦痛になってきたんだけど何でだろ。
たぶん毎日毎日やることがなく、たまの同窓飲み会以外は「やること」を考えてたからですかね。
それでも今年はバイトと西ゲがあった分大分何も考えないで生活できました。


女性講師もいますが、さすが塾だけあって、あの「イラッ」もなく話せる。
メガネの堅い人ばっかかと思うたら意外にかわいい人多いですな、まさにお前が言うな。
常識のある人っていいねー、ホント…。中学時代のクソ共は爪の垢飲んで土下座しろ。
ここの塾飲み会も二次も結構やるし割とリア充な生活なんじゃね、これ。やっぱり大勢より4~5人のが楽しいです。
ビバ社会の歯車、ルーチンワーク。勉強も嫌いではないしねー。


西ゲは今後もちょくちょくいじっていきましょう。C++も学べるし。
できればHLSLあたりを覚えてdirectX10をさわるとか、directX9でもFVFでない処理をやりたい。
あのあたりは趣味以下の冷やかし素人にしては結構難しいのかもしれんけど。
今のところゲームエンジン…っていう程かは分からないが基盤はあるわけだから、
描画周りを変えてもgraphicクラスをすげ替えれば大丈夫かなーと。
後は今のところ杜撰な管理なテクスチャとかの管理クラスを作るとか。
上手くやれば、面倒だからほったらかしなデバイスロスト対策にもなりますね。
後見た目がしょぼいのは、プログラム出来ないというよりセンスと作り込みでしょうね。
画像用意面倒だから誰か手伝ってよ。



そして最後に今回いいたかったことをまとめましょう。

「焼き肉は一人で行くべき」。

よし、これで今年の夏も更新したぞっ!
えっ?いやしたやんかー。


西ゲ開発に関して(9)

午前一時帰宅。タ・ト・バ!
とりあえず2010EEを落としてきて、最新版のWindowsSDKをインストール。
英語を読むのが面倒なので、全部チェック付けてポチっとしたら1.2だか6だか
インストールしますって文字が見えたけど見なかったことにした。
やばい、主に西さん関係のどうでもいいファイルでCドライブが圧迫されてる。
1GB近くあるんだけどどっから沸いてきたのこれ?

午前2時半インストール完了
そして2010を起動してみる。ワードとかとおなじであの無駄にスタイリッシュな
デザインがMSのブームなのか・・・。若干イラッとする。そいでとりあえずプロジェクトを
コピってきて設定後、WIN32環境で動くかどうかためしにコンパイル。
一応問題なく動くようですね。

そして次は問題の64bit環境へ向けてコンパイルできるのか?
設定を見ると2008には無かったx64向けのものがあったため、コンパイルは出来るようだ。
だがしかし設定をするのが訳わかんないくらいメンドクサイ。難しいとかそういうのじゃなくて、
単純にメンドクサイ。もっと楽なUIにしてほしい。直接設定ファイル弄った方が見やすいじゃん・・・。
で、そこを変えてライブラリを64bit用に設定しなおす。
直してたら訳分からんことが書いてあったので「ちょっと」直してみるか。
気がついたら時間がちょっとじゃなかったけど気にしない。ビルドをポチ。



・・・あれ、何の問題もなくコンパイル通ったぞ・・・?
Win32APIって言うくらいだからWin64API見たいのがあってそれに書き直さなきゃならんのでは、
と思っていたのだがなんか気持ち悪いくらいすんなり通った・・・?警告のひとつも出ずに?ふーむ。
実行ファイルの大きさが1.2倍くらいになっているのはこれはそういうものなのか?
が、やっぱりと言うか当然と言うかどっちにしろビルドできても起動は出来ない。
有効なWin32アプリケーションじゃないとか言われて起動しない。するわけ無いんだけどね。


で、どうしましょうかこれ?

そのうちアップロードするか、スカイプあたりで渡すんでいっしーさん試してみてくれまいか。
どう考えても人柱になっちゃうのはいかんともしがたい。


・・・



タカッ!トラッ!バッタッ!

ああ何だろう耳から離れない・・・。リフレインし続けてる・・・。



・・・


よし、寝よう。




西ゲ開発に関して(8)

64bit環境に関して。

スペック十分なのに処理落ちする原因は、64ビット環境で32ビットをエミュレーションしているからとの報が。
あー64ビットですかー。と、言うことで64ビット向けにコンパイルできないか調べてみた。

結論から言うと。
VC++2008EEならば非正規な方法で64ビット向けのコンパイル作業が出来るそうです。
http://www.sharkpp.net/blog/2009/04/26/visual-c-2008-express-edition-enable-64-program.html

そもそも現在使っているVC++2008EEはいわゆる無料体験版、機能制限版であるために64ビット向けの
コンパイル機能はオミットされてしまっているようです。
DirectX9に関してはアーキテクチャがx86向けもx64向けもどちらに関しても一応ライブラリファイルが
インストールされていたので、コンパイルさえ通すことが出来ればある程度64ビット向けに移植できそうです。

しかし。

まず、2つのアーキテクチャはそもそも扱うメモリ空間が違う(8Tと4G)、つまりポインタの長さが
変わってきます。だからどうだと言うことでもないのですが、今までのコードの中で型(intとかchar)
の「サイズ」に依存したものがあると、多分正常に動かなくなるんじゃないかと思います。
簡単に言うと、ソースを大幅に書き換える必要が出る「かも」知れません。理解できないエラーが
出たりすると僕の頭が可哀想な事になります。具体的なところはやっていないのでよく分かりません。

次に、これは今までなんだかんだ書いた中で一番重要なんですが、「俺、64bit環境無いやんかー」。
宅には32bitXPしかありません。よって例え上記の問題を非正規に克服して64bit向けにコンパイルしても
何にも確認できない!とんでもない人柱を他人に要求することになります。

まとめると、「出来ないわけではない」のですが、バッチファイルを実行しないと64ビット向けへの対応は
難しいようなので、(私の環境での)現状としては「出来ない」という結果になるかと思われます。
ソースファイル上げるからそっちの環境でコンパイルしてみて、ってのが今のところ一番安全かなー・・・。

と言うことです。何かひらめいたら他の手段も考えて見ます。
今のとこ、今までどおりエミュレーションしてもらうしかないような。すいませんが。
しかし、つまりはクッキーがぬるぬる動くってことはビスタか7で64bitじゃ無いのか・・・?FF14やるのに。


それだけではなんなので、リプレイ機能を付けてみました。
が、ごくごくたまーーーにボス戦で意味不明な挙動をするのかもしれません。
いつかの震えるイクラみたいな感じにNishi-sanがぶるぶるします。
と、言っては見ましたが、実はリプレイファイルをわたしが間違えて
弄っちゃったんじゃないかって言うのが最有力です。

前回のファイルを適当に上書き・置き換えすることで更新してください。
仕様とかいろいろなことに関しては中身の更新履歴を見てください。

http://www1.axfc.net/uploader/Sc/so/153512.zip
PASS : nishi

追記:
2010ならExpressでもコンパイルできるとかなんとか見たけど
主に眠気でウワーな感じなのでいつか回復したときに。


西ゲ開発に関して(7)

とりあえず完成しました。

主にデバッグ、何か予想と違う動作してたりとか・・・、の確認にはクッキーがかなり貢献してくれた。
ラーメン食ってばっかじゃなかったんだな!再々履修もないそうですし。
お礼に北海道土産の熊ラーメンを上げよう。どこが熊なのかよく分からんけどな!・・・一応4人分あります。

めんどくさいので、主な変更履歴は中身のテキストを見てください。
操作方法は十字キーかパッドで移動、ZXCあたり押すとなんか動きます。
強制終了はESC。問答無用でぶっちぎります。

別にボス倒しても次のステージとか無いし、何も面白いことはありません。
画像や音声も全く暗号化もアーカイブにもして無いので挿げ替えられますが、勝手にどうぞ。
動かなかったらDirectXのエンドユーザランタイムをインストールしてください。
それでも動かなかったら原因は分かりません。
参考までに、6年前のDELLのノーパソ(オンボ)で快適動作なので大概大丈夫でしょう。
処理落ちに関しては、スペックが十分なパソコンで起こった場合何でかは今のところ分かりません。

最後に。
ver1.00って書いたけど、まだいわゆるα版であって完全にバグは取れて無いかもしれません。
デバッグ機能で調べた限りは起こっていないし、例え起こっていても普通はOSが処理してくれるので
ほとんど起こらない・・・と言うか自分のPCでは起こっていませんが、もしかしたらメモリリークとか
してるかも、と言うのは頭において起動してください。
何かおこっても本当に僕は知らないので自己責任で。今のとこクッキーと私は大丈夫そうです。

以下にあげておきました↓
http://www1.axfc.net/uploader/Li/so/76899.zip
PASS : nishi

P.S.
仮面ライダーW終わっちゃったよ・・・。
でも新作のオーズも第一話見たところ思いのほか面白そうかなー。
もう一回映画見ようと思ったんだけど意外と塾講で暇が無かったのが悔やまれる。

そして肺のほうは大丈夫だったんでしょうか。
と、ここに書いても見られていないか。
ミクシイは何かとめんどくさいんだよなぁ。

さらに。某Nさんのブログがなんか一昔前のホームページみたいになってて目を疑った。
あの、無駄にMIDI鳴らしたり無駄に文字が流れたり無駄に重いJavascript見たいなのあったりなやつ。
さすが西さん、時を加速して一巡した流行を先取りしてるぜ!


西ゲ開発に関して(6)

何か書けよ、って言われた気がしたから書いておこう。
しかし、氏の製造する言葉ひとつひとつが非常に香ばしい。アレは本当に素なんだろうか。
いや、アレが演技だなんてそんなことあるはずもないのだけれど、いささか度が過ぎる
とでもいいましょうか。もう何だかこっちが心配になってきますね、「大丈夫」なのかと。

簡潔で言うと、「お前将来ひとりで生きていけんの?」。


さて、そんな戯言はここらにしておいて西ゲーに関してですね。

Direct3Dがどうたらとか言うのは、結局のところ見栄えの良さだとか、あまり直接ゲーム部分には
関わってこない土台部分の設計になるので、やろうと思えば他のゲームやそれ以外のプログラムにも
流用しようと思えば出来るようなものです。絵を表示する、音を鳴らす、という根本的な部分を
どのようなツールで実現するか、という違いですね。鉛筆で描くか、筆で描くか、はたまたデジタルで描くか。
どうにせよ、今のところ描画できているので良しとします。つまりここはほぼ完成。

そして肝心のゲーム進行の部分です。今のところはシューティング部分の動作に関しては、
土台部分は完成しているといってもいいでしょうか。背景を描き、自機・敵機が動く。当たったら死ぬ。
なんだかんだ言ってもゲームってのは、つまりはある一定の動作のループですので、そのループの中身を
遷移させていけば敵が出てきたり、背景が流れたりするわけです。しかし全体を通してみれば、
まだタイトルも選択画面もありませんし、残機やボム、スコアも実装されていません。
ただし、すでに大体の製作ツール的なものは完成したので、あとは完全に根気と数学な気がします。
とりあえずver1.00のベータ版的なものとするためには、「メニュー画面」、「ボム」、「残機」、「スコア」、
「ポーズ画面」、「ゲームオーバー画面」・・・このくらいかね。これらを盛り込むことが出来れば、
一応全体を通してゲームの体裁が保てると言っていいんじゃないでしょうか。


ところで。シューティングで一番大事なもののひとつは、やっぱり当たり判定だと思うのですが・・・。
いやー、これがもうメンドクサイのなんのって。円と円だとか、座標軸に平行な矩形同士の衝突であれば、
ちょっと考えればすぐに済む簡単な話です。円だったら両者の半径の和が中心同士の距離より大きいか否か、
矩形であれば、上下左右の辺がもうひとつとどのような位置関係か、これらを単純に比較するだけです。
ですが、回転した図形や歪んだ図形となるとまた話が違ってきます。歪んだ図形・・・は楕円等なわけですが
今回は使いません。問題は軸平行ではない直線と円の接触判定です。

まあめんどくさかったよ。問題としては簡単で、座標系上のある点からある直線へおろした垂線の距離、
これが分かれば後は半径と比較して、直線と垂線が接するかを調べるだけです。
別に垂線自体を求めるのは回転角やなんかがわかればゴリゴリと三角関数で適当に計算すればいいのですが、
問題は三角関数ですね。当たり判定にこれを使うということは、1フレームごとにsin/cosを計算しまくるので
簡単に言えば効率が悪いです。そもそも当たり判定の処理は画面上に弾が100発あったら、それ×対象数を
毎フレーム計算するんですから、多分そこらへんは考えた方がいいんだと思います。と、何処かで聞きました。

ので考えた結果ベクトル演算の復習をしました。内積とか外積とかその他もろもろ。
いやー、ベクトルって偉大ですねぇ。考えたやつはマジで天才だと思います。だから使われてんだろうけど。
ついでに行列も非常に使い勝手のいい計算ツールだということが判明。高校の数Cは行列を行列として
だけではなく、座標変換や回転に使うツールとしての側面をもっと強調すべき。

DirectX、Win32API、C++など基盤部分の理解

ツール作成

システム作成 

アルゴリズム作成 ←今ここ

バグフィックス

完成




そんなことより仮面ライダーの映画マジで面白かった。今までのライダー映画の中で一番だと思う。
基本的に毎年映画をやる季節が夏ってのが番組のど真ん中だったおかげか、今まではパラレル設定とかが
多かったんだよね。でも今回はディケイドで時期をずらしたおかげで、終盤に映画の時期が来る。
だから本編に絡んだ上で、矛盾も少なく溶け込めているってのがよかった。
最終回まで後2回しかないなんてもう1年経ったんだなぁ・・・。それにしても今回の仮面ライダーは
近年まれに見る完成度の高さだった。きっと今回のスタッフなら後2回でいい感じに番組を締めてくれると
期待しています。そしてどうやらオーズとは世界が地続きなようだけど、財団Xはショッカー的な立ち位置か。



雑記

アサシンクリード2SE買ってきた。
1はちょっと借りて少しだけやったんだが操作になれなくて返してしまったが、
いろいろと改善されてる+通常版に追加要素+安いので買ってきた。3番目重要。
それで暗殺がしたくてストーリー進めないでひたすらイタリアの衛兵をプスプスさして
たんだけど、「気がついたら」2時間衛兵刺してた。これをトランス状態と言うのか。
アルタイルもそうだったけど、エッツィオさんはその目立つ白いフードを被っていながら、
なぜ街行く人と一緒に歩いただけで衛兵から全く気付かれなくなるのだろうか。

あと、ゲームとは一切関係ないけど、可哀想って言葉の意味を身にしみて感じた。
言葉からにじみ出る負のオーラからいろいろとすごいものを感じる。
もう、ダメなんじゃないかな。手遅れですね。ダメなんだよなんかもう。

ついでに西ゲは今現在自機から弾発射、レーザー発射、敵の弾だけ発射、
の3つは整ってきた。描画もフルスクリーンならおそらく処理落ちせず安定してる。
追加で作るのは当たり判定処理か。そこさえ出来れば敵は作れる。
問題はステージの敵の出現パターンとかをどのように記述するか・・・。
まぁ後2ヶ月弱あるんだしのんびりやりますけどね。


そんなことより仮面ライダーの映画が見たい。早く見たい。わーい明後日だー。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。