【初心者歓迎】スレを立てる前にココで質問を【その3】
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
02/09/24 05:55ID:???してみましょう。あなたの長年の悩みがたった一つのレスで解決して
しまうこともあります。回答があるまでに数日間かかることもあるので
辛抱強く待ちましょう。 」
◇前スレ
【Part2】
http://game.2ch.net/test/read.cgi/gamedev/1013645518/
◇旧スレ
【Part1】
http://game.2ch.net/test/read.cgi/gamedev/1005038203/
関連スレ・その他
>>2-5
0350名前は開発中のものです。
02/10/29 10:35ID:???穴を飛び越えたり弾を撃ったりというアクションは作れたのですが、
見やすい視点ってどういう距離・角度でしょうね?
ちなみに現在はボタン/キーボードで遠近の切り替えと45°ごとに回転させています。
0351名前は開発中のものです。
02/10/29 10:43ID:???bool CMD_LOAD(std::vector<std::string>::iterator param)
{
if (param->size() < 2) return false;
switch (*param[0].c_str()) {
case "BMP":
return loadbmp(*param[1]);
case "WAV":
return loadwav(*param[1]);
:
:
}
}
std::map< std:string, boost::function<bool (std::vector<std::string>)> > Cmd;
Cmd["LOAD"] = &CMD_LOAD;
bool EXEC_CMD(const std::string& StateStr)
{
std::vector<std::string> State;
boost::char_separator<char> SpaceSep(" ");
boost::tokenizer< boost::char_separator<char> > StateTemp(StateStr, SpaceSep);
for (boost::tokenizer< boost::char_separator<char> >::iterator it = StateTemp.begin(); it != StateTemp.end(); ++it) {
State.push_back(*it);
}
return Cmd[State[0]](&State[1]);
}
高校時代に64マリオの超劣化再生産ゲーのようなものを作って
自慰してたことがあったが、本物さんのほうのカメラワークの
爽快な動きは結局真似できんかったよぅ。
カメラオブジェクトが障害物に引っかかってガクガクしたり
主人公とカメラの間に壁が挟まってカメラが迷子になったり
なんかトホホな現象にいろいろ出くわした。
(1)周囲の障害物を把握しつつ
(2)滑らかな移動経路を算出しつつ
(3)プレイ可能な視野を確保しつつ
あとはなんだ、よく分かんない。
漏れは(1)(2)しかやらんかった。(途中で飽きた)
既存ゲームの目コピーに励んでみるといいかもね。
0353352
02/10/29 11:22ID:???主人公の状態(移動速度・回転速度など)に応じて動的に変化させてた。
主人公の状態とカメラの状態の関係を表す勾配曲線データを作る要領。
0354名前は開発中のものです。
02/10/29 11:26ID:???指標としては
・移動方向が見える。
・自分キャラや障害物等が視界の妨げにならない。
・周囲がよく見渡せる
ぐらいか。
まあ、昔のゲームみたいにカメラを大きく引いた視点
が一番判りやすいという話もあるが、それじゃ見た目が
つまらんし。
0355名前は開発中のものです。
02/10/29 12:27ID:???0356名前は開発中のものです。
02/10/29 12:34ID:???>カメラオブジェクトが障害物に引っかかってガクガクしたり
これはカメラと障害物が当たっただけでガクガクするってことか?
それとも障害物と障害物に挟まったときにガクガクするってことか?
0357356
02/10/29 12:38ID:???えーっと、物体同士の衝突判定ルーチンの問題なのか
主人公を追尾するカメラの経路決定の問題なのか、という点を
知りたかっただけなんで、もし暇だったら答えてくれると嬉しいなり。
0358名前は開発中のものです。
02/10/29 12:48ID:???英語になっちまうが、この辺とかどうだ。
http://www.flipcode.com/network/
0359名前は開発中のものです。
02/10/29 12:50ID:???http://www.gamedev.net/reference/list.asp?categoryid=30#198
0360352
02/10/29 13:04ID:???後者のほうだね。
当初は、障害物(ポリゴンモデル)とカメラ(球)の当たり判定を
厳格に行なっていた。で、カッチリと挟まる状況が頻発したと。
結局そのときは、固まった状態から抜けるように色々特例を
設けたりして問題は回避できたわけだけど、コードがグチャグチャ
なってね。その辺でだいぶ欝になった記憶アリ。
スマートな解決方法は他に色々あると思うよ。よく分からんけど。
0361350
02/10/29 13:38ID:???(1)はできるんだけど、(2)が難しい。
(3)については、ステージマップで障害物や地形の配置を工夫してなんとか見やすくしてるけど…
>>354
>昔のゲームみたいにカメラを大きく引いた視点
>が一番判りやすいという話
実際、遠くから見た視点のほうがわかりやすいですよね。
キャラを後ろから見ている状態で、画面奥に向かってジャンプしても穴の幅を見誤ってあぼ〜ん…とかあるし。
>>357
俺が前につくったルーチンで、「物体とカメラが衝突したらちょっと反発する」という衝突ルーチンがありまふ。
カメラと障害物がわずかにぶつかる程度なら自然ぽくよけたのですが、
カメラがめり込むような状態だとバウンドしまくりで役立たず…。
(カメラ位置を決めるアルゴリズムがアホだったせいもある)
失敗例の参考としてどうぞ。(TДT)
0362350
02/10/29 13:41ID:???あれはデータとして持ってるんだよねぇ…?
0363352
02/10/29 13:45ID:???/ ̄ ̄~~\
camera .ノ´ \
( object )
→○ ) (
/ )
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
O character
→ ノ[]ヽ
乂
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
こゆ状況で最初ハマってた。おかしな話だよね。
0364名前は開発中のものです。
02/10/29 13:46ID:7AxQJd++--------------------------------
| |
| b aOOOO |
| <--OOOO |
| | OOOO 2 |
| | | f |------------|3
| | | | |
| -----> | |
| c d | |
-------------------O------------
1
1->2->3のようなときの判定とか、
陣地拡張のa->b->c->d->fのときの判定が思いつきません
どのようにすればいいのでしょう?
0365名前は開発中のものです。
02/10/29 13:48ID:7AxQJd++1 O------> 2
| |
| |
| |
4 <------- 3
自分自身が1->2->3->4->1と移動していったときの判定処理は
配列を取って出て行った向きを記憶、LineONとして
再入場のときにLineONで出て行った向きと、再入場してきた向きが
違うならば閉じた図形という判定をしようとおもっています。
シンプルな判定方法を探しています。
良い方法おしえてください。
0366356
02/10/29 14:22ID:???あー、なるほど。図がすごく分かりやすかった。
俺が作ってるものは、マップがやたら単純なものなので
>>360のようなカメラ泣かせ(w)な状況は幸い無いんだ。
やぱーり複雑な地形だと工夫が要るんだな。納得。
>>361
>物体とカメラが衝突したらちょっと反発する
けっこう本格的だな。俺はサボってるから
衝突時の反発係数はゼロというか、衝突後は
滑るように移動する感じ。でも面白そうなので
そっちの方法も試してみようかな。情報アリガd
0369名前は開発中のものです。
02/10/29 23:51ID:???・・・陣地を取ったときに塗り潰すべき領域を求めたいのかな?
QIXでは囲んでいない陣地の外縁は必ず閉じた輪になるから、
まず囲み始めた地点を記録して、次に線が外縁に到達した時点
で、そこを基点にして外縁に沿って距離を測りながら開始点
に到達するまで探索して、到達距離が短い方向のエリアを塗り
潰せばいいと思う。
0370名前は開発中のものです。
02/10/30 01:14ID:???.キタ━━━━━━━━┓
┏━━━━━━━━┓┃
┃┏━━━━━━┓┃┃
┃┃┏━━━━┓┃┃┃
┃┃┃┏(゚∀゚;) ┃┃┃┃
┃┃┃┗━━━┛┃┃┃
┃┃┗━━━━━┛┃┃
┃┗━━━━━━━┛┃
┗━━━━━━━━━┛
0371名前は開発中のものです。
02/10/30 02:14ID:???ワロタ。 あったね。
0372名前は開発中のものです。
02/10/30 03:29ID:???今どうやっているか知らんけどペインタアルゴリズムでいいんじゃないか?
0373名前は開発中のものです。
02/10/30 03:50ID:???という所が問題なんだけど、昔見たQIXもどきでは
・とにかくどちらかの領域を塗りつぶす
・敵のいる側を塗りつぶしてしまった時は、画面を切り替えて
「ア、マチガエタ!」
と表示して、チャカチャカ音楽を鳴らしてごまかしているうちに塗り直す
という凄いアルゴリズムだった。
0374名前は開発中のものです。
02/10/30 05:26ID:???0375名前は開発中のものです。
02/10/30 06:03ID:G+m1Msu0DirectDrawからDirectGraphicsに乗りかえる時に
皆さんはどんな書籍とかサイトを参考にしました?
俺は日本語ヘルプだけではかなり厳しいです…(言語はVC)
なんかまるで今までと違うんですね。サーフェイスとかも無いようだし…
お勧めの書籍とかサイトがあれば是非教えて下さい。
0376名前は開発中のものです。
02/10/30 06:44ID:psEvcsUa漏れは日本語ヘルプで十分だった。
0377名前は開発中のものです。
02/10/30 08:35ID:???>TextureとかをQIして得る。
ちょっとまて。
QueryInterface( )でIDirect3DSurface8が取得できる
テクスチャインタフェースの具体例を示してみ。
0378名前は開発中のものです。
02/10/30 09:07ID:???ヘルプ以上の書籍として薦められる書籍はちょっと思いつかないな。
チュートリアルから読み始めても駄目なら、DirectX8とタイトルにある本を
読むしかないと思うが、ヘルプのどのあたりが厳しい?
0379名前は開発中のものです。
02/10/30 09:32ID:???それに、DirectXの参考書ってヘルプファイルの劣化コピーだし。
0380名前は開発中のものです。
02/10/30 10:28ID:???案外>>373が正解かもしれない。塗りつぶし処理で
面積を計ればどっちの領域が狭いか確実に判るし、敵が
居るかどうかも敵の座標のドットを見ればわかる。
つーか、面積何%でクリアというルールもあったな
・・・面積求めないと駄目じゃん。
0381名前は開発中のものです。
02/10/30 11:40ID:/zBOO4YG1回目で塗りつぶす2つの領域を分けて(境界線との交差回数で調べる)
塗りつぶす側を決定、2回目で実際に塗りつぶす。
6809やZ80でできた処理だ。
0382名前は開発中のものです。
02/10/30 11:41ID:???工学社の『DirectX8実践プログラミング』が値段もお手頃でオススメだぞ。
工学社は他にも似たような装丁のムックを出してるが、よく分からん。
http://game.2ch.net/test/read.cgi/gamedev/1032814540/111-113n
0383375
02/10/30 12:08ID:iO4knM1Uそう言われて見るとなんかできる気がしてきました。
(え みんなそうだったの?みたいな安心感)
ちょいと気合入れて頑張ってみます。
>>382
あー あの何やら薄いのに妙に固い本ですね。
日本語ヘルプがダメだったら買ってみます。
0384375
02/10/30 12:09ID:???0385名前は開発中のものです。
02/10/30 16:10ID:???最初に始めた奴らは英語ヘルプだぞ(w
0386名前は開発中のものです。
02/10/31 02:07ID:jdueo8JD_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
関数を加えたところ、
DirectX.exe の 0x77e333d5 で初回の例外が発生しました : 0xC0000005: 場所 0x00b793bc を読み込み中にアクセス違反が発生しました。 。
というエラーが大量に発生しました。これってどういう意味なんでしょうか。
0387386
02/10/31 02:08ID:???ちなみに、プログラム終了時にものすごい重くなるんですが、これと関係ありますか?
0388名前は開発中のものです。
02/10/31 02:23ID:vHW+5Y9l0389名前は開発中のものです。
02/10/31 09:32ID:???_CrtSetDbgFlag()がどういう関数か理解して使ってる?
0xC0000005って数字を見た時点でNULLポインタっぽいのはわかる
0390名前は開発中のものです。
02/11/02 13:13ID:???0391名前は開発中のものです。
02/11/04 22:30ID:???0392名前は開発中のものです。
02/11/04 22:38ID:???1.キャプチャーカードやTVチューナーなどのボードを追加する
2.エミュレータを使用する(bleemなど)
3.アップスキャンコンバータを使う
3は厳密にはパソコンに関係ないが、質問からすればこれもありかと。
0393名前は開発中のものです。
02/11/05 07:19ID:PhK6xHGg制作中画面ムービーで送れとかいわれたん?
困るよな?作業フヤスナヨ馬鹿っていってやれ
0394名前は開発中のものです。
02/11/05 16:38ID:???0395名前は開発中のものです。
02/11/05 23:15ID:???アプリが作れるんですか?初心者ですみません。
0396名前は開発中のものです。
02/11/05 23:27ID:???あんな感じのゲームと
こんな感じのアプリができるよ。
0397名前は開発中のものです。
02/11/05 23:40ID:???何を基準にマスターしたといえるのか、まずその定義を示せ
0398名前は開発中のものです。
02/11/05 23:43ID:???ある言語を習得したからと言って、必ず何かができるようになるとは限らない。
例えばフランス語を完璧にマスターしても、華麗なスピーチができるかどうかは結局その人次第。
0399395
02/11/05 23:51ID:???ちょっと言葉が悪かったですね。
マスターとは自分で本を書ける程度という事でお願いします。
わかりにくい表現ですいません。
>>398
なるほど。言語がある程度わかってくると次は何が必要ですか?
0400名前は開発中のものです。
02/11/06 00:06ID:NQ+bJEHA0401名前は開発中のものです。
02/11/06 00:12ID:???何が必要って?
経験に決まってるだろ。
0402名前は開発中のものです。
02/11/06 01:13ID:???C++「だけ」だとコンソールモードでしか動かないテキストADVとか。
0403名前は開発中のものです。
02/11/06 07:07ID:???じゃんけんゲーム
0404名前は開発中のものです。
02/11/06 09:05ID:???0405名前は開発中のものです。
02/11/06 10:24ID:???そんな馬鹿な
0406名前は開発中のものです。
02/11/06 11:58ID:???>なるほど。言語がある程度わかってくると次は何が必要ですか?
その思考停止はなにかの病気だと思う。
俺、リアル工房。>>395は中学生の頃の漏れにそっくり。
0407406
02/11/06 12:00ID:???0408406
02/11/06 12:03ID:???返事遅れます。
0409名前は開発中のものです。
02/11/06 12:49ID:???0410名前は開発中のものです。
02/11/06 13:20ID:???氏ね
氏ね
0411名前は開発中のものです。
02/11/06 15:33ID:s9QqLDEZ0412406
02/11/06 15:35ID:???病気とか言った俺が悪かったよゴメン
つかみんな漏れより年上の大人だろー
初心者にギャンギャン噛み付くのカコワルイよ
自戒もこめて。
0414名前は開発中のものです。
02/11/06 16:12ID:???0415395
02/11/06 16:58ID:???思考停止?私は病気じゃありませんが・・。
まあ、そう思われても仕方なかったのかもしれませんけど。
実際にソース送ってくださるとかなり助かります。
>>414
誰に反論すればよいのか・・。釣りとは?
0416名前は開発中のものです。
02/11/06 18:10ID:???とりあえずどゆゲームを作りたいと思ってる?
0417名無し
02/11/06 18:54ID:???0418名前は開発中のものです。
02/11/06 19:32ID:???逆変換したいときに使う。
[M]・・・行列
Va・・・ベクトルa
Vb・・・ベクトルb
[M]Va=Vb
のとき
[逆M]Vb=Va
0419名無し
02/11/06 21:10ID:???0421名前は開発中のものです。
02/11/06 22:06ID:???>なるほど。言語がある程度わかってくると次は何が必要ですか?
最近の厨房様は自分で考えるってことをしないらしい。
0422名前は開発中のものです。
02/11/06 22:17ID:???0424名前は開発中のものです。
02/11/06 22:23ID:???見つからなかったら改めて聞け。
0426名前は開発中のものです。
02/11/06 23:30ID:???普通、自分は何がしたいのか?何ができるのか?進むべき方向は?
ってのは自分で判断して決めることなんだよな。プログラム以前の問題。
街中で迷った人に
「あそこに行きたいけど、どうしたらいいですか?」
と聞かれたら、知ってる人は答えられる。
「あの〜私はどっちに行ったらいいんでしょうか?」
ってのは誰もが答えに困る。
0427名前は開発中のものです。
02/11/07 00:15ID:???つくろうかと思ってます。
今まだキャラを左右に動かす程度なんですけど、
キャラの動きに応じて背景の描画し直しやスクロールを
ウィンドウサイズでBitBltするとかなり重くなっちゃうんですが、
これって普通はどう処理するものなんですか?
0428名前は開発中のものです。
02/11/07 00:35ID:sXGF97sjしかもディープな話題のスレほど標的になってる。
なんで?
0429名前は開発中のものです。
02/11/07 00:40ID:T05nS/tE0430名前は開発中のものです。
02/11/07 00:40ID:???DirectXで描画
0431名前は開発中のものです。
02/11/07 00:47ID:???その話題はスレ違い。
ちゃんと検索しろや。
大方自分の立てたスレに終了貼られた初心者だろうが。
http://game.2ch.net/test/read.cgi/gamedev/1011082291
http://game.2ch.net/test/read.cgi/gamedev/1033051561
0432名前は開発中のものです。
02/11/07 00:57ID:???解像度自体を下げるとか。
美麗を謳ったアクションゲーじゃなきゃ640×480も要らん、と思うけど、俺は。
0433名前は開発中のものです。
02/11/07 10:13ID:???重いって言われてもPCのスペックとソフトの解像度の兼ね合いだからまずそれを書かないと。
0434名前は開発中のものです。
02/11/07 12:39ID:???パソコンか脳みそを取り替える
ハイ次!
0435名前は開発中のものです。
02/11/08 06:49ID:i0uxSCpRプログラミングをやるには、英語が完璧じゃないといけないと
聴いたのですが、これって本当?
0436名前は開発中のものです。
02/11/08 07:11ID:???英語のドキュメントが読めるくらいであればとりあえずいいと思う。
ドキュメントの英語はなじみのある単語と簡単な文法のおかげで結構簡単に読める。
0437名前は開発中のものです。
02/11/08 07:14ID:???英語見たら回れ右する人がいないのも事実
英語もソースも見た目大して変わらないぶん抵抗ないのかもね
区別ついてないだけかもしれないがw
0438名前は開発中のものです。
02/11/08 07:43ID:i0uxSCpR0439名前は開発中のものです。
02/11/08 12:30ID:???・・・言えてるな・・・。
英文読解もコーディングも英語の辞書使ったりするし。
0440名前は開発中のものです。
02/11/08 12:35ID:8M1cc/hZピクチャーを円を描くように動かしたいのですが、
どういうソースを書けばいいのですか?教えて下さい。
0441名前は開発中のものです。
02/11/08 12:40ID:???const
Max = 60;
Radius = 20;
var
i, x, y: Integer;
begin
x := Round(Radius * Cos(PI * 2 * i / Max));
y := Round(Radius * Sin(PI * 2 * i / Max));
Inc(i);
Draw(x, y);
end;
0442名前は開発中のものです。
02/11/08 12:52ID:8M1cc/hZなるほど・・なんとなく分かりました。ありがとうございました。
0443名前は開発中のものです。
02/11/08 13:07ID:???0444名前は開発中のものです。
02/11/08 15:06ID:???0445名前は開発中のものです。
02/11/08 17:12ID:???0446名前は開発中のものです。
02/11/08 19:40ID:???ここは GOSUB で。
0447名前は開発中のものです。
02/11/09 06:44ID:???0448名前は開発中のものです。
02/11/09 09:44ID:???で、ちょっとかっこ悪く見える。
0449名前は開発中のものです。
02/11/09 18:16ID:???■ このスレッドは過去ログ倉庫に格納されています