FPSを作ってみる@wiki
07)
最終更新:
slice
-
view
エリア別の判定(2008/07/02)
的のエリア別の判定ってどうすんだろう?って疑問というか課題が以前からありまして。
真ん中撃ったら高得点でその周りはそれなりでという感じの。
的が円形だったら中心点と着弾点との距離を求めれば出来そうだけど、人の形の的だったらどうすんの?と。
まさかその形のポリゴンを配置するわけにはねえ。面倒だし。
じゃあ何だ、エリア判定用のテクスチャを用意しておいて着弾したら着弾したポリゴンの情報を持ってきてUV座標を自前で求めてエリアテクスチャ(ビットマップ)をこれまた自前で読み込んでさっきのUV座標でサンプリングするってのはどうだ?と。
結果を申し上げますとうまくできました。あでも、計算効率の云々はナシで。
真ん中撃ったら高得点でその周りはそれなりでという感じの。
的が円形だったら中心点と着弾点との距離を求めれば出来そうだけど、人の形の的だったらどうすんの?と。
まさかその形のポリゴンを配置するわけにはねえ。面倒だし。
じゃあ何だ、エリア判定用のテクスチャを用意しておいて着弾したら着弾したポリゴンの情報を持ってきてUV座標を自前で求めてエリアテクスチャ(ビットマップ)をこれまた自前で読み込んでさっきのUV座標でサンプリングするってのはどうだ?と。
結果を申し上げますとうまくできました。あでも、計算効率の云々はナシで。
その苦労の様子をスクショのページに幾つかあげておく。
小中学校でやるような直線と直線の交点計算で一苦労、UV座標を特定するのに二苦労と。
プログラム組むくせに数学がダメってのもなんだかなあ・・・
近いうちに数Cと数3をマスターしてリベンジしてやるぞ。
逆に言えば数学殆どわからなくてもベクトルの内積外積と行列と補間がわかれば結構イケてしまう物ですよ。
小中学校でやるような直線と直線の交点計算で一苦労、UV座標を特定するのに二苦労と。
プログラム組むくせに数学がダメってのもなんだかなあ・・・
近いうちに数Cと数3をマスターしてリベンジしてやるぞ。
逆に言えば数学殆どわからなくてもベクトルの内積外積と行列と補間がわかれば結構イケてしまう物ですよ。
内部処理(2008/07/05)
ちょっとギミック追加。
スイッチを押すと確認のために射撃の的が近くまで移動するやつ。あれです。
やっとスクリプトが使えるようになったか、ならないかって感じ。
それだけなんだけどいつもの様に苦戦。
スクショ撮っても静止画じゃわからんし。もういいさどうせ見た目変化ないですよーだ
スイッチを押すと確認のために射撃の的が近くまで移動するやつ。あれです。
やっとスクリプトが使えるようになったか、ならないかって感じ。
それだけなんだけどいつもの様に苦戦。
スクショ撮っても静止画じゃわからんし。もういいさどうせ見た目変化ないですよーだ
動画の事(2008/07/06)
前のから2ヶ月以上経ってるし
えーかげんに動画あげたい!
が、見た目で変わった事といえば的を撃ててスイッチ押したら的が手前に動くようになっただけだ!
あとは銃と手の同期もしたな。
デバッグ支援機能として変数エディタ&モニタも実装したな。
えーかげんに動画あげたい!
が、見た目で変わった事といえば的を撃ててスイッチ押したら的が手前に動くようになっただけだ!
あとは銃と手の同期もしたな。
デバッグ支援機能として変数エディタ&モニタも実装したな。
- 結構加わってんじゃん。
じゃあ作れよって感じなのだが、これがなかなか。
自分的には一つの動画に全力を注ぐスタンスでやってます。
当然作り終わったらバタンです。
それはたとえば動画を見ていて飽きないようにテンポ崩れてないかチェックしたり
印象に残る場面を設定したりネタを仕込んだりといった事。
動画の流れも何回か練り直したり。あんなのでも修正に修正を繰り返した結果なんですよ。
自分的には一つの動画に全力を注ぐスタンスでやってます。
当然作り終わったらバタンです。
それはたとえば動画を見ていて飽きないようにテンポ崩れてないかチェックしたり
印象に残る場面を設定したりネタを仕込んだりといった事。
動画の流れも何回か練り直したり。あんなのでも修正に修正を繰り返した結果なんですよ。
あ、3番目の動画でストーリー付いたかな?という雰囲気だけどあれ全部動画作る際の思いつきです。
この機能が実装されたからあんなことが出来るな、じゃあそういう話にしようみたいな。
そしてこれからもストーリーはすべて思いつきでやっていこうかと。
話が矛盾していても展開が強引でも知らん。
ちなみに動画の尺も一つ3分前後にしようと決めています。
自分の直感でこの長さになりました。このくらいがダレずに見られるかと。
この機能が実装されたからあんなことが出来るな、じゃあそういう話にしようみたいな。
そしてこれからもストーリーはすべて思いつきでやっていこうかと。
話が矛盾していても展開が強引でも知らん。
ちなみに動画の尺も一つ3分前後にしようと決めています。
自分の直感でこの長さになりました。このくらいがダレずに見られるかと。
ドアドア(2008/07/08)
ってことで自動ドアを作ろうかと模索中。当分は開けたドアがキャラクタに衝突することのない
スライド式の自動ドアで。処理が簡単そうだし。
単純に考えるとキャラクタが近づいた時点で開ければ良いだけだけど。
やっぱりやるからにはロックされてたら開かないとか、片方開いたらもう片方は閉まるといった
ギミック的な物をやりたいわけですよ。
そんな処理を自作スクリプトでやるつもりなんですが。
ちょっと凝った仕掛けをランダムマップでも取り入れたいので。
まだ仕様を考えてる最中なんでなんとも。
スライド式の自動ドアで。処理が簡単そうだし。
単純に考えるとキャラクタが近づいた時点で開ければ良いだけだけど。
やっぱりやるからにはロックされてたら開かないとか、片方開いたらもう片方は閉まるといった
ギミック的な物をやりたいわけですよ。
そんな処理を自作スクリプトでやるつもりなんですが。
ちょっと凝った仕掛けをランダムマップでも取り入れたいので。
まだ仕様を考えてる最中なんでなんとも。
考え事だけ(2008/07/09)
今日は自動ドアの衝突判定の管理とかを思案してただけなんで、プログラムやモデルは一切弄ってませんでした。
したがって進んでないっていうか。
あとはgame programming gemsっていう有名と言えば有名な本をパラ見。
この本は今は6くらいまであったハズですが1と2の2冊しか持ってません。
だって結構するんですよ。一冊12000円也。その分内容も濃いわけですが。
役に立つとはいえなかなかポンって買う気にならんよな。
英語版だと半額くらいなのだが。日本語でも理解に必死なのに英語だとどうなるんだと。
試しにGPU Gemsの英語版買ってみたら辞書があれば割と読める感じだったから前者のほうも大丈夫なんだろうか・・
したがって進んでないっていうか。
あとはgame programming gemsっていう有名と言えば有名な本をパラ見。
この本は今は6くらいまであったハズですが1と2の2冊しか持ってません。
だって結構するんですよ。一冊12000円也。その分内容も濃いわけですが。
役に立つとはいえなかなかポンって買う気にならんよな。
英語版だと半額くらいなのだが。日本語でも理解に必死なのに英語だとどうなるんだと。
試しにGPU Gemsの英語版買ってみたら辞書があれば割と読める感じだったから前者のほうも大丈夫なんだろうか・・
自動ドア続き(2008/07/11)
はい、自動ドアの続きでございます。
実装中。。
主人公はじめその他のキャラが一定範囲内&キャラとドアをつないだ線分が壁に衝突してない時に開く、と。
衝突判定の管理がずさんなせいで軽くコードがスパゲッティしてるなあ。
まあ今日も夜中まで頑張りますよ。
私のゲームに対する諦めの悪さは一級品だ。
実装中。。
主人公はじめその他のキャラが一定範囲内&キャラとドアをつないだ線分が壁に衝突してない時に開く、と。
衝突判定の管理がずさんなせいで軽くコードがスパゲッティしてるなあ。
まあ今日も夜中まで頑張りますよ。
私のゲームに対する諦めの悪さは一級品だ。
無題(2008/07/12)
自動・・・ドア・・・・(バタッ)
まだだぁーまだ終わってなぁあぁああっぁぁぁあい
ごめん今日はあんましやる気出ないっす。って誰に言ってんだか。
やる気ない日でも少しは作業してるけど高が知れてますね。まあいいか。
自動ドアがもう終わりそうなので次はスイッチかな。
ボタン押したらボタンが凹むとかどうしようかと。
まだだぁーまだ終わってなぁあぁああっぁぁぁあい
ごめん今日はあんましやる気出ないっす。って誰に言ってんだか。
やる気ない日でも少しは作業してるけど高が知れてますね。まあいいか。
自動ドアがもう終わりそうなので次はスイッチかな。
ボタン押したらボタンが凹むとかどうしようかと。
Frieve Editor(2008/07/14)
なかなか仕様が定まらないときは大抵何が問題点なのかがハッキリしてない場合が多いので
自分の思考をまとめるのにFrieve Editorというツールで、マインドマップの様な手法を使ってます。
どんな見た目のツールかはスクショのページに無断リンクもあります。
フリーソフトなんで興味を持った人はどうぞ。
このツールの前はFreeMindっていうこれまたフリーソフトを使っていたけど
一度間違ってノードを全消ししてしまい、更にそのまま終了したら勝手に上書きセーブされてて
上書きするなら確認メッセージぐらいだせよとかキレた事があるので変えました。
自分の思考をまとめるのにFrieve Editorというツールで、マインドマップの様な手法を使ってます。
どんな見た目のツールかはスクショのページに無断リンクもあります。
フリーソフトなんで興味を持った人はどうぞ。
このツールの前はFreeMindっていうこれまたフリーソフトを使っていたけど
一度間違ってノードを全消ししてしまい、更にそのまま終了したら勝手に上書きセーブされてて
上書きするなら確認メッセージぐらいだせよとかキレた事があるので変えました。
射撃練習用の的(2008/07/18)
要するに射撃の的が左右とか色々動くようにしたい。
的の種類も何種類か用意したい。
今回はマップは固定で、的が出る場所とか順序は今後のランダムマップの布石にとランダムでやってみたい。
まぁそういうことです。
的の種類も何種類か用意したい。
今回はマップは固定で、的が出る場所とか順序は今後のランダムマップの布石にとランダムでやってみたい。
まぁそういうことです。
的のグラフィックは、へたくそながら描きました。白黒の線で書かれたベクターグラフィックスみたいの。
ここ2日の作業はそれです。
一種類でいいじゃんという意見もあるかとは思いますが。
ここ2日の作業はそれです。
一種類でいいじゃんという意見もあるかとは思いますが。
問題はどうやって的の出現パターンをランダムにするか。
今考え中・・
今考え中・・
射撃場マップ(2008/07/19)
予定している射撃場っぽいマップですが・・
今回はマップ自体は固定で行こうかと。で的の出てくる場所とか的のタイプをランダムにしようと。
後々ランダムな割合を増やしていく予定。いきなり全部という訳にはなかなか。
動画だけなら面倒なことせずに完全固定のスクリプトで良い気がしますが
リリースの時にチュートリアルモードとして搭載する野望もあったりするんで。
でもプログラムを配れる日はいつになるやら。
今回はマップ自体は固定で行こうかと。で的の出てくる場所とか的のタイプをランダムにしようと。
後々ランダムな割合を増やしていく予定。いきなり全部という訳にはなかなか。
動画だけなら面倒なことせずに完全固定のスクリプトで良い気がしますが
リリースの時にチュートリアルモードとして搭載する野望もあったりするんで。
でもプログラムを配れる日はいつになるやら。
射撃場イベント(2008/07/20)
自作スクリプトの仕様追加とか。
どうも射撃場の的がランダムに出てくるイベントを作るのに必要っぽいので
変数形式にリスト(配列みたいの)を追加してみるつもり。
FrieveEditor上で作業してただけなんでこれから実装ですよ。
どうも射撃場の的がランダムに出てくるイベントを作るのに必要っぽいので
変数形式にリスト(配列みたいの)を追加してみるつもり。
FrieveEditor上で作業してただけなんでこれから実装ですよ。
色々追加してると思う事。
スクリプトの拡張をしすぎて「んじゃあC言語で書けよ!」という事態だけは避けたいな・。
スクリプトの拡張をしすぎて「んじゃあC言語で書けよ!」という事態だけは避けたいな・。
SCWebCam(2008/07/21)
たまに作業中のデスクトップの画像が半リアルタイム更新で置いてあるホームページを見かけることがあります。
面白そうだから自分もやってみようか。作業中のさぼり癖が防げるに違いない。
とはいえうっかり個人情報とか表示しようものなら・・とか思うと怖い物があるのは事実ですが。
ネットでそれっぽいソフト探したらSCWebCamっていうフリーソフトがあるようだ。
動作は単純で、設定した時間ごとに自動でデスクトップをキャプチャしてその画像をFTPサーバにアップするだけ。
後はアップした画像をホームページなり何なりにタグ記述。
大学の研究室や会社とかで部屋全員のデスクトップが一覧で見れるページ用意してこれやったら面白いだろうな。
強制されたら嫌ですけどね!あくまで自主的に参加の形で。
面白そうだから自分もやってみようか。作業中のさぼり癖が防げるに違いない。
とはいえうっかり個人情報とか表示しようものなら・・とか思うと怖い物があるのは事実ですが。
ネットでそれっぽいソフト探したらSCWebCamっていうフリーソフトがあるようだ。
動作は単純で、設定した時間ごとに自動でデスクトップをキャプチャしてその画像をFTPサーバにアップするだけ。
後はアップした画像をホームページなり何なりにタグ記述。
大学の研究室や会社とかで部屋全員のデスクトップが一覧で見れるページ用意してこれやったら面白いだろうな。
強制されたら嫌ですけどね!あくまで自主的に参加の形で。
で、自分がやるとしたら土日だけにしようか。
そのうちページにさりげなく張って飽きたら削除しそうだけど。
そのうちページにさりげなく張って飽きたら削除しそうだけど。
自作Cam(2008/07/26)
というわけで、自作してみました。
一定間隔でスクショ撮ってサイズ縮小してJPEGに変換後にFTPサーバに送信するプログラム。
一番苦労したのは縮小処理ですね。
lanczosアルゴリズムを使用したのは良いけれど結論を先に言うと係数設定が不適切で
最初はニアレストネイバーみたいになってしまって全然綺麗じゃ無かったんですが、
試行錯誤の末になんとか手持ちのPhotoImpactのバイキュービックに近い結果が出せました。
lanczosの補完関数にsin()を使っているので速度が微妙っぽいですが、
当分は自分で使うだけなので最適化云々はそのうちでいいかと。
一定間隔でスクショ撮ってサイズ縮小してJPEGに変換後にFTPサーバに送信するプログラム。
一番苦労したのは縮小処理ですね。
lanczosアルゴリズムを使用したのは良いけれど結論を先に言うと係数設定が不適切で
最初はニアレストネイバーみたいになってしまって全然綺麗じゃ無かったんですが、
試行錯誤の末になんとか手持ちのPhotoImpactのバイキュービックに近い結果が出せました。
lanczosの補完関数にsin()を使っているので速度が微妙っぽいですが、
当分は自分で使うだけなので最適化云々はそのうちでいいかと。
先が見えない(2008/07/29)
今日も今日とてチマチマと作業を続けるわけですが。
なんか全然ゲームできてる感じがしない。作業自体はこなしているのだけれど。
作業を階段に例えると理想としては階段が均等な段差で
ある程度作業したら結果が出てという感じで一歩一歩上っていけるといいんだが、
な~んか今の状態だと10cmの段差があったと思ったら次は背丈ほどの高さがドカンみたいな。
非常にムラがある。
うまく作業を割り振ってコンスタントに目に見えて結果が出せるようにする能力(なんだそりゃ)が欲しい。
なんか全然ゲームできてる感じがしない。作業自体はこなしているのだけれど。
作業を階段に例えると理想としては階段が均等な段差で
ある程度作業したら結果が出てという感じで一歩一歩上っていけるといいんだが、
な~んか今の状態だと10cmの段差があったと思ったら次は背丈ほどの高さがドカンみたいな。
非常にムラがある。
うまく作業を割り振ってコンスタントに目に見えて結果が出せるようにする能力(なんだそりゃ)が欲しい。
良いぞ(2008/07/31)
ここんとこ連続熱帯夜だったから今日は久々に涼しくて良いぞ。作業が進む。
作業は進むけどスクショは出ないぞ。見た目かわらんからなぁ。
的を事前に設定した何種類かのランダムな座標にこれまたランダムな的の移動パスを割り当て
的が移動した後にパタンと倒れて消えるってトコまで出来ました。
相変わらずメモリリークありますがね!的を作るごとに微妙にメモリのゴミが。。
直そうとちょっと頑張ったけど今頑張るとムダにコードがスパゲッティになるからやめた。
作業は進むけどスクショは出ないぞ。見た目かわらんからなぁ。
的を事前に設定した何種類かのランダムな座標にこれまたランダムな的の移動パスを割り当て
的が移動した後にパタンと倒れて消えるってトコまで出来ました。
相変わらずメモリリークありますがね!的を作るごとに微妙にメモリのゴミが。。
直そうとちょっと頑張ったけど今頑張るとムダにコードがスパゲッティになるからやめた。