[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 02/28 18:54 / Filesize : 235 KB / Number-of Response : 860
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

アクションゲーム製作総合スレッド Part1



1 名前:名前は開発中のものです。 [04/09/26 23:35:52 ID:U/f0VG3h]
ワンキーゲーから格ゲーまで、様々なジャンルの基礎とも呼べるアクションゲーム。
このスレでは、そんなアクションゲームの製作技術や技術の検証、成功談
失敗談笑い話、難易度の設定方法論などについて語り合いましょう。
もちろん自分の作ったアクションゲームを晒してみたり、
プロジェクトをはじめてみるなどもOK!

ただし、アクションゲームの未来とか既存のゲームの話題などは、関連する他の
スレでやってくれ。


547 名前:名前は開発中のものです。 mailto:sage [2006/03/21(火) 19:47:18 ID:II3VfSa/]
なるほど、そういう考え方もあるな。

548 名前:名前は開発中のものです。 [2006/03/21(火) 19:55:29 ID:BETRB9Hh]
そうなん?
普通に2がやりやすいと思うが。

549 名前:名前は開発中のものです。 mailto:sage [2006/03/21(火) 22:51:39 ID:nXEENBpa]
やりやすいとスマートは違うぞな、もし

550 名前:名前は開発中のものです。 mailto:sage [2006/03/23(木) 03:37:22 ID:2sNSmG50]
1だとCPUもキー入力的に動かせる気がして1にしてる。

551 名前:名前は開発中のものです。 mailto:sage [2006/03/23(木) 17:03:05 ID:Ccbbk2h0]
てか、2の方法だと、プレイヤーの行動以外のために
キー入力状態が欲しくなったら面倒じゃん。

552 名前:名前は開発中のものです。 mailto:sage [2006/03/23(木) 17:18:37 ID:lA0BaRyH]
イベントリスナーを使うのがオブジェクト指向っぽい

553 名前:名前は開発中のものです。 [2006/03/24(金) 01:57:47 ID:4Uk+3T2/]
ところでまったくの初心者である俺から質問させてほしいんだが

C言語とかDelphiとかどれがお勧め?

いま友達が簡単だからお勧めっていうHSPってのを勉強してるんだが
使ってるのによって何か弊害とかあるのですか?
あのプログラムができない云々とか(´・ω・

554 名前:名前は開発中のものです。 mailto:sage [2006/03/24(金) 03:03:04 ID:HlGxkzvX]
言語にお勧めなんて無いよ、使い慣れたのが一番だ

あとの質問は意味が理解しきれないのでパス
#使ってるコンパイラなのか言語なのか
#プログラムができないってどういう意味なのか

555 名前:名前は開発中のものです。 mailto:sage [2006/03/24(金) 03:12:01 ID:7W3qOTI+]
プログラムの基礎を学ぶ意味でCを最初にやる事を強く勧める




556 名前:名前は開発中のものです。 [2006/03/24(金) 04:00:40 ID:4Uk+3T2/]
>>554使いなれたのが一番・・・なるほど、あと説明が変ですみませぬ
>>555やっぱりCが押されるようで、ありがとう
んーやっぱC言語からって意見をよく聞くからC言語がいいのかな


なんかHSP使うと細かな命令がやりにくいとか、
処理が重いとか言われてて、もしHSPに満足できなくて
C言語に乗り換えて使うとしてもHSPの知識では役に立たないとか?
だったら早期に見切りを付けてC言語やったほうがいいのかなって
(;´・ω・
いずれは3Dアクションゲームを作ろうと思ってるからなおさらC言語なのかなと
(こう発言して散っていった先人達は星の数ほどいるらしいから
今は笑い飛ばしてくれていい)
だけど早期にそれなりのアクションゲーム作りたいならHSP使えと言われるジレンマorz

557 名前:名前は開発中のものです。 mailto:sage [2006/03/24(金) 06:09:45 ID:lhqBkY85]
とりあえずHSPで何か作っちゃうのが良いよ

558 名前:名前は開発中のものです。 mailto:sage [2006/03/24(金) 06:57:50 ID:fkaCWNcU]
HSPの言語の知識は役に立たないかもしれないが、
HSPでのプログラムの経験は、役に立つかもな

559 名前:名前は開発中のものです。 mailto:sage [2006/03/24(金) 10:40:32 ID:6JV0Yf7q]
結果が全てなのだぁ

560 名前:名前は開発中のものです。 mailto:sage [2006/03/24(金) 10:53:44 ID:7W3qOTI+]
最初はコンソール画面でオセロでも迷路でも作ればいいよ
プログラムすることの面白さに気付ければ
後は誰の後押しも無く自分で学んでいける

HSPはポインタあるのかな?
ポインタって何?(・∀・)
という状態になるのが怖いな

Cでグラフィカルな表現に進む場合にはWindows、DirectXが立ちはだかるわけだが
SDLという道もあるので頑張って欲しい

561 名前:名前は開発中のものです。 mailto:sage [2006/03/24(金) 17:07:56 ID:ynvPJr33]
>>553
マジレスするとRuby。趣味言語として。
しかし趣味でゲームつくるくらいならHSPで間違いなく十分。

モチロン職に就くなら話は別だが。

562 名前:名前は開発中のものです。 mailto:sage [2006/03/24(金) 17:10:41 ID:ynvPJr33]
連レススマソ

>>560
HSPでも一応ポインタは使えるよ。

ところで、>>555もそうなんだが
なぜ職でプログラミングをやるわけでもない初心者に
Cを進めるのか理解できないんだ。
煽りとかじゃなくて真剣な話ね。

ちょっと答えてくれるとウレシス

563 名前:名前は開発中のものです。 [2006/03/24(金) 17:19:20 ID:6JV0Yf7q]
>>562
2DゲームならHSPでもいいかもしれんけど、
3Dゲームになると明らかにdirectXとか使ったほうが良いし
そのためにはC言語くらい出来ておくべき。

それと俺の場合はシューティングゲームを良く作るんだけど、
最近の弾幕バリバリ系のをHSPで作ると凄く処理が重たくなる。

564 名前:553 [2006/03/24(金) 17:25:42 ID:4Uk+3T2/]

>>557とりあえずHSPで作ってみます

>>558という思考からやっぱり最初からCやるべきなのかと思ってしまう

>>559同意

>>560なんか擬似的にポインタっぽい仕様があるとか聞いた

>>561.562んー趣味LVだからなァ、たしかに・・・


とまあ、Rubyとか出てきたしそれぞれに特徴があるんだったら
説明をお願いしたいんですがorz
初心者すぎてゴメン、とりあえずCはプロ向きで
HSPは初心者向きで他のを使うときには役に立ちにくい感じのでいいのかな
他のDelphiとかどうなんでしょ(´・ω・

とりあえずいずれの目標は
つ{www.geocities.jp/ikachi_soft/saintpaulia/index.htm
↑のをもうちょいゲームとして遊べる仕様なのを作ってみたいです

565 名前:名前は開発中のものです。 mailto:sage [2006/03/24(金) 17:32:18 ID:7W3qOTI+]
最初に身に付ける言語が基礎になると思うから。





566 名前:553 [2006/03/24(金) 17:38:50 ID:4Uk+3T2/]
おっと書き込み中にレスが増えてました

>>563
そう、その意見をHSPを使ううえでよく聞かれるんだよね
「処理が重たくなる」っての、それが心配なんだけど
Cで作る場合とかなり違うと思っていいんですか?


C言語が優秀なのはわかった
とりあえずこのスレで質問した結果から
明日書店へひとっ走りして入門書を購入してこようと思います

ちなみに今手元にあるのは
「HSP3プログラミング入門」
「12歳からはじめる、HSP3.0ゲームプログラミング教室」
中古本ですけど値段が手ごろだったので

567 名前:名前は開発中のものです。 mailto:sage [2006/03/24(金) 17:41:50 ID:7W3qOTI+]
書籍代はケチるんじゃないぞ
ゲーム買うの我慢しても良書を買うべきだ

568 名前:562 mailto:sage [2006/03/24(金) 17:42:27 ID:ynvPJr33]
>>563
HSPでも3D扱えるしDirectXでなくとも
今なら[SDL]+[OpenGL]も十分実用に耐え得るようになってきている。
にもかかわらず、未だに皆初心者にCを進めるんだよなー。
HSPの速度は同意。[hspdxfix]を使うとかなり軽減はされるが。
……と[C++] +[DirectX]でゲーム作ってる職業プログラマ志望の
漏れが考えていますw

>>565
だからその基礎にするのがなぜCなのか理解できない。
初心者がCやるくらいならJAVAからはじめたほうがずっといいと思う

>>566
早まるな、HSPならネットの資料で十分足りる、金の無駄だ

やべぇ、長文な漏れキモスwwww

569 名前:名前は開発中のものです。 mailto:sage [2006/03/24(金) 17:46:37 ID:7W3qOTI+]
>初心者がCやるくらいならJAVAからはじめたほうがずっといいと思う

初心者がいきなりオブジェクト指向を理解できるとは思えないんだよね
手続き型の限界を知ってからのほうが身につくんじゃない?
CならC++に無理なく移行できるし
Cは色んな意味で入門言語として手堅いんだと思うよ。

570 名前:名前は開発中のものです。 [2006/03/24(金) 19:44:31 ID:UCMQhwlE]
C++かJava、それと企画書はUMLの技法を使う
つまりオブジェクト指向を勉強したほうが良い
(C++の言語を作った人(ストラウストラップだっけ?)が、C++から始めることを薦めていた)
手続き型言語のCは、もはや時代遅れ

例えば敵機にしても、一つ一つがオブジェクトであり、個々に判定したり動くのが原則
またクラスを派生させ、敵機などは系統立って設計されるべき

571 名前:名前は開発中のものです。 mailto:sage [2006/03/24(金) 20:29:43 ID:ynvPJr33]
>>569
そっか。漏れは初心者の頃オブジェクト指向には目から鱗だったんだが。
今度新規生がまたくるから、ウチの人員を研究対象として
今年は手続き型とオブジェクト指向型とどちらがわかりやすいか
調査なんかしてみるかな。

>>570
趣味プログラマがUMLなんか使うかよ禿www

572 名前:名前は開発中のものです。 mailto:sage [2006/03/24(金) 20:34:18 ID:mFmDrFXE]
手続き型を先にやったがために、
オブジェクト志向になじめないってパターンもあるしな

573 名前:553 [2006/03/24(金) 20:40:01 ID:4Uk+3T2/]
ん、通常はC→C++という流れで覚えると思ったんだが
>>570のいうC++から始めることを薦めてるってのが気になるなぁ

ついさっき本屋でC++の入門本に
「本書はCを知らなくてもC++ができるようになる本です」
ってのがあったんだけどC++から覚えるってのも
一つの手段として考えたほうがいいのかしら
聞けば聞くほどHSPに不安が出てくるな(笑

574 名前:570 [2006/03/24(金) 21:01:26 ID:D/m13lxQ]
C++よりもCのほうが難しい
Cの本には、こういうプログラミングをすれば処理速度が上がるなどの個別のテクニックの解説が多い
またわけのかわらん自己中なプログラムを組む奴が多い

またクラスが無いから構造体を使うが、構造体にはアクセス権が無いため、
その構造体がどこでアクセスされているか、ソースコードを追っていくのが大変

プログラミングが難しい

575 名前:名前は開発中のものです。 mailto:sage [2006/03/24(金) 21:29:57 ID:ynvPJr33]
>>573
この程度の情報量でHSPに不安がでてくるようなら
HSPやるにしてもCの勉強をはじめるにしても長続きしない。
とりあえず手軽に始められるんだからHSPで1ヶ月もやってみ。
そしたらHSPで足りるのか足りないのかわかるから。
なんにしろ3DACTなんて初心者が独学で数ヶ月でできるもんじゃない。

>>574
ただのOOP厨でしたか。お帰りください



576 名前:名前は開発中のものです。 mailto:sage [2006/03/25(土) 03:43:31 ID:lNWu+DsU]
ってか、Cから始めるといろいろめんどいというか、
ゲーム作り始めるまでに覚えることが多々有りすぎるから、
だったらまずはゲームってどんなふうに作られてるのか知る上でも、
メッチャ簡単なものでいいからHSPで作っちゃえば良いと思うんだけど。

577 名前:名前は開発中のものです。 mailto:sage [2006/03/25(土) 04:26:04 ID:9+AYDTvc]
単純な内容ですぐ遊べるものが欲しいならHSP。
じっくり学んでたくさん作るつもりがあるならC。

578 名前:名前は開発中のものです。 mailto:sage [2006/03/25(土) 10:55:59 ID:Xo5AkaJL]
>>577
嘘ばっかか。
たくさん作るつもりならむしろ手軽なHSPだろ
Cで作るならクオリティに凝ってもらいたいものだ

579 名前:名前は開発中のものです。 mailto:sage [2006/03/25(土) 13:24:10 ID:oCQS7gTs]
Cは低水準よりの言語だからなあ、ある程度プログラミングに慣れてからのほうが覚えやすいと思うな


結論としては、C言語は覚えておいても損は無いよってことで

580 名前:名前は開発中のものです。 mailto:sage [2006/03/25(土) 21:19:25 ID:1d6aG4+O]
俺としては
HSP→手軽、限度低い。
C,C++→とっつきは悪いかも。ただ覚えさえすれば、かなり使える言語。

って感じ。
なんでHSPがよく批判されるかっていうと
入門者に手軽なHSPを薦めること自体は別にいいんだけど
HSPの簡単さになれると他の言語に移りににくくなるんだよね。
まぁそれでもいいって言うんならいいけど

581 名前:名前は開発中のものです。 mailto:sage [2006/03/26(日) 03:38:03 ID:eIBmOWGN]
>>580
どうせ向上心のあるやつは半年もすれば
ほうっておいてもHSPから離れていくんだから、
当面初心者にはHSPを進めておけばいいと思うんだ。

ただ、
>まぁそれでもいいって言うんならいいけど
な上から見た態度はすこぶる気に食わないんだ。

582 名前:名前は開発中のものです。 mailto:sage [2006/03/26(日) 04:19:19 ID:5pnITBBi]
そだね、やりたいことができないってわかったら、自分で他に移るんだし
これで十分だと思ったら、そのままでいいし。

583 名前:名前は開発中のものです。 mailto:sage [2006/03/29(水) 00:14:45 ID:9KBKOr3E]
とりあえずJavaScriptとかでプログラムの雰囲気を覚えるのもいいかと思う。
結果がすぐ分かるし。
つーか他の言語に移るとかよく分かんない。
今まで使ってきたもの全部適材適所で使うでしょ?
全体をC++とかJavaで作ってるときに、使い捨てツールが急に
欲しくなったときにHSPとかPerlとか使う、みたいな。


584 名前:名前は開発中のものです。 mailto:sage [2006/03/29(水) 00:30:48 ID:QNwATx3h]
>>583
ヒント:いきなりたくさんやるのむり

585 名前:名前は開発中のものです。 mailto:sage [2006/03/29(水) 00:54:46 ID:hjjCj64h]
漏れ、Javaなんて全く使った事が無い
で、初めての人にはJavaが良いのか、HSPが良いのかは分からない

が、BASICから入った漏れとしては、プログラマとして初心者なら、
初めの1〜3年ぐらいは簡単な言語を使うことをオススメしたい

ちなみに今は、C++から全く動けない体になってマス



586 名前:名前は開発中のものです。 mailto:sage [2006/03/29(水) 17:16:40 ID:FqCl1dxd]
HSPは一番最初にお付き合いする言語にはちょうど良いんじゃない?
簡単にウインドウ出せて、描画も出来る、日本語資料いっぱい。

理解できなきゃプログラムは組めないわけだし
最初の言語は分かりやすさ優先にするのが良いんじゃないかな、と思ってる

587 名前:名前は開発中のものです。 mailto:sage [2006/03/30(木) 04:19:50 ID:56EhH4Nk]
スーパーマリオ3系の2Dアクションゲームを作ってるんですが、
斜めの坂と接触したときの自機のずらし方向について悩んでいます。

・自機の当たり判定を1点(1x1の大きさ)で、あたりを判定した場合には、
 坂のパターンに応じてうまく動かせます。

・自機の当たり判定を大きく(16x32)した場合には、マップデータが8x8ドット
 単位なので、どこで判定をとればよいか悩んでおります。

たとえば、16x32の4スミ(※)でそれぞれあたりを取った場合、
 ※4スミ=(0,0) (16,0) (0,32) (16,32)
あたるマップチップがそれぞれ別のものになりますので、
どうしてもずらし方向が矛盾してしまうのです。

ここ1年ほど、この論理についてずっと悩みっぱなしなのですが
作例、論理などわかるかたいらっしゃいませんでしょうか。

588 名前:名前は開発中のものです。 mailto:sage [2006/03/30(木) 15:00:35 ID:Ehg64lwS]
ttp://pc8.2ch.net/test/read.cgi/gamedev/1017730241/634n

589 名前:名前は開発中のものです。 mailto:sage [2006/03/30(木) 15:29:26 ID:Wa3+p1az]
ちょっとマリオ3をやってみたら
?ブロックや土管とか通常の地面は、足先までの長めの判定をとってるけど
坂とかを含んでるチップでの、足元判定は下底の中心1x1でしかやってないっぽいな



590 名前:名前は開発中のものです。 mailto:sage [2006/03/30(木) 17:37:15 ID:1FMFXNfJ]
つまりこうか?マリオの座標を
123
456
789
として、通常当たり判定は1379の4隅を使って
坂の当たり判定処理だけ8の位置のみでしている。と?


591 名前:名前は開発中のものです。 mailto:sage [2006/03/30(木) 21:06:27 ID:iAtYOob+]
>>589
===
***=
****=
*****=
******=======
って判定で、見た目だけずれてるとかじゃなくて?

592 名前:名前は開発中のものです。 mailto:sage [2006/03/31(金) 00:34:18 ID:hNd3BF7c]
>>591
ごめん、図がよく分からんけど
おそらく見た目とかそういう話じゃないと思う
あと、敵はどんな地形でも足元は1ドットしか判定見てないっぽいな

593 名前:587 mailto:sage [2006/03/31(金) 03:33:00 ID:akpZ63XX]
>>588,589
有用な情報をホントにありがとうございます。

590さん風にいうと、
とりあえず2段階にわけて、どこに立っているかは8で判定して
坂でなければ、1379の4隅を使って判定する、を
やってみようと思います。

ただ、まじめに判定するとすれば、588さんに教えてもらったURLの
チュートリアルの内容を実装する必要がありそうですね。
まさにこのノウハウが知りたかったのですが、めちゃ奥が深そうです。
ありがとうございました。

このサンプルの重さを解析してみないとわかりませんが、
8bitゲーム機でも耐えうる速度がだせる判定方法であれば
マリオ3的なアクションゲームでは、まさにこれを実装する必要が
ありますよね。頭がいたいですが。

説明が英語だけにかなり厳しいですが
アクションスクリプトをCに移植しながら、理解を深めてみますです。
もしスピードが稼げる方法でなければ、これと似た結果をだせる
簡易計算方法が他にもあるかもしれませんね。

594 名前:名前は開発中のものです。 mailto:sage [2006/03/32(土) 13:26:32 ID:gZPGpn4t]
>>589
それは結構難しそうな気が

595 名前:名前は開発中のものです。 mailto:sage [2006/04/05(水) 01:59:43 ID:NKcmYNvl]
gああああ。
斜めの坂むずかシー。
誰か概念を教えて栗。



596 名前:名前は開発中のものです。 mailto:sage [2006/04/08(土) 22:47:03 ID:o8GmMFvy]
つ「内積、外積」

自分で調べて学ぶ事も重要

597 名前:名前は開発中のものです。 mailto:sage [2006/04/09(日) 01:37:25 ID:n8SWzf4S]
内積、外積、垂線の求め方などが考え方に必要なのはわかるが
2Dアクションゲームのプログラムには必要ない。3Dでは必須。
のハズ。

598 名前:名前は開発中のものです。 mailto:sage [2006/04/09(日) 23:47:28 ID:n8SWzf4S]
>596
念のため、2Dベクトルでの内積による当たりを判定してみましたが、
sqrt()の負荷がちょっと高いけど、全然実用的でした。
ごめんなさい。悪かったです。


599 名前:名前は開発中のものです。 [2006/05/18(木) 21:31:48 ID:vFoh02c7]
保守

600 名前:名前は開発中のものです。 [2006/05/22(月) 00:55:20 ID:oNNgZz3T]
sqrtなんて使わなくね?

601 名前:名前は開発中のものです。 mailto:sage [2006/05/22(月) 00:57:22 ID:invPdzO+]
単位ベクトルとか求めるとき必須

602 名前:名前は開発中のものです。 mailto:sage [2006/05/22(月) 01:45:22 ID:oNNgZz3T]
もしかしてみんな点と三角形の当たり判定じゃなくて
線と三角形の当たり判定でやってるの?

603 名前:名前は開発中のものです。 mailto:sage [2006/05/22(月) 21:38:24 ID:oNNgZz3T]
点と三角形の当たり判定

点(px,py) 三角形(p1x,p1y),(p2x,p2y),(p3x,p3y)
v1x=pxーp1x v1y=pyーp1y
v2x=pxーp2x v2y=pyーp2y
v3x=pxーp3x v3y=pyーp3y
v1=v1x*v2yーv2x*v1y
v2=v2x*v3yーv3x*v2y
v3=v3x*v1yーv1x*v3y
(v1>0)かつ(v2>0)かつ(v3>0)
または
(v1<0)かつ(v2<0)かつ(v3<0)
のとき当たり


誰か線と三角形の当たり判定教えて

604 名前:名前は開発中のものです。 mailto:sage [2006/05/22(月) 21:39:15 ID:9H//M9F4]
お前に教えるハンテイはねぇ!

605 名前:名前は開発中のものです。 mailto:sage [2006/05/22(月) 21:40:28 ID:oNNgZz3T]
あれ なんか表示がおかしい



606 名前:名前は開発中のものです。 mailto:sage [2006/05/23(火) 01:07:00 ID:ig3OAxwb]
2D上で線と三角形だと連立方程式立てられないんじゃないかな。
むしろ線と線(三角形の辺)でやったほうが良い希ガス。

607 名前:名前は開発中のものです。 mailto:sage [2006/05/24(水) 00:14:18 ID:w03ixZiV]
>>606
サンクス

608 名前:名前は開発中のものです。 [2006/06/09(金) 06:37:51 ID:/Hg1o1U9]
衝突処理書き上げたらスタックが発生しまくり
ムカムカage

609 名前:名前は開発中のものです。 mailto:sage [2006/06/10(土) 00:44:59 ID:INde8ODr]
スタックが発生するとはまたよく分からない言葉ですね

610 名前:名前は開発中のものです。 mailto:sage [2006/06/10(土) 22:00:32 ID:YNMEkrNo]
データ構造のスタックしか知らん人が登場した。
さすがゲ作板だ。

611 名前:名前は開発中のものです。 mailto:sage [2006/06/16(金) 00:44:02 ID:FNjrQ/wZ]
スタックってなーに?

612 名前:名前は開発中のものです。 mailto:sage [2006/06/21(水) 00:34:39 ID:RcYQeqBn]
オー人事オー人事

613 名前:名前は開発中のものです。 mailto:sage [2006/06/21(水) 10:02:38 ID:xkmiQecp]
>>612
ソレ書こうと思ったけどツッコミなさそうなので
書かなかったよ、そんな勇者なおまえに

スタッ○サービスじゃねーかよ

614 名前:名前は開発中のものです。 mailto:獣 [2006/06/27(火) 22:10:52 ID:zklAs/7x]
誰か>>603の解説お願いします
どうしても分かりません

615 名前:名前は開発中のものです。 mailto:sage [2006/06/27(火) 22:34:22 ID:G7pNNqKH]
gamdev.org/up/img/6301.jpg



616 名前:名前は開発中のものです。 mailto:saga [2006/06/27(火) 23:34:17 ID:kVI76xNg]
>614

v1x=pxーp1xは

 ・(px,py)          ・(p1x,p1y)

           ・(p2x,p2y)          
                    ・(p3x,p3y)
のとき

(px,py)     線分v1
  ・-----------------------・(p1x,p1y)

           ・(p2x,p2y)          
                    ・(p3x,p3y)
v1xは線分v1のxの長さ
同じくv1yはyの長さ

v1=v1x*v2yーv2x*v1y はもしv1=0だと
0=v1x*v2yーv2x*v1yでv2x*v1y=v1x*v2yで
v1x:v1y=v2x:v2yとなる
つづく

617 名前:名前は開発中のものです。 mailto:saga [2006/06/27(火) 23:35:15 ID:kVI76xNg]
つまりv1=0の状態は
(px,py)    (p1x,p1y)     (p2x,p2y) 
  ・-----------・-------------・

(p1x,p1y)   (px,py)     (p2x,p2y) 
  ・-----------・-------------・

(p2x,p2y)   (p1x,p1y)     (px,py) 
  ・-----------・-------------・
・・etc
と3点が同直線上にあることを指す
v1>0やv1<0なのは互いに同直線上にないこと指す

値が全て正のとき
v1=v1x*v2yーv2x*v1y がv1<0のとき常に

(px,py)    
  ・
 
 (p1x,p1y)     (p2x,p2y)
  ・----------->・  
となる

v1=v1x*v2yーv2x*v1y がv1>0のとき常に

 (p1x,p1y)     (p2x,p2y)
  ・----------->・ 
 
(px,py)    
  ・
となる
つづく

618 名前:名前は開発中のものです。 mailto:saga [2006/06/27(火) 23:38:37 ID:kVI76xNg]
3つの辺を同時に考えると点(px,py)は
(px,py)@    
  ・
 (p3x,p3y)     (p1x,p1y)
  ・----------->・  
   ▽  (px,py)C|
     \   ・  |  ・(px,py)A
      \    ..|
        \  ..|
  ・       \ V 
 (px,py)B     ・(p2x,p2y)
の4つが考えられる
@は (v1<0)かつ(v2>0)かつ(v3<0)か
   (v1<0)かつ(v2<0)かつ(v3>0)かになる
Aは (v1>0)かつ(v2<0)かつ(v3<0)か
   (v1<0)かつ(v2<0)かつ(v3>0)かになる
Bは (v1>0)かつ(v2<0)かつ(v3<0)か
   (v1<0)かつ(v2>0)かつ(v3<0)かになる
Cは (v1<0)かつ(v2<0)かつ(v3<0)になるこのとき点は面上にあることになる
 もし値が全て負なら符号が全て逆転するので
@は (v1>0)かつ(v2<0)かつ(v3>0)か
   (v1>0)かつ(v2>0)かつ(v3<0)かになる
Aは (v1<0)かつ(v2>0)かつ(v3>0)か
   (v1>0)かつ(v2>0)かつ(v3<0)かになる
Bは (v1<0)かつ(v2>0)かつ(v3>0)か
   (v1>0)かつ(v2<0)かつ(v3>0)かになる
Cは (v1>0)かつ(v2>0)かつ(v3>0)になるこのとき点は面上にあることになる
 すなわち
(v1>0)かつ(v2>0)かつ(v3>0)
または
(v1<0)かつ(v2<0)かつ(v3<0) になるこのとき点は面上にあることになる


619 名前:名前は開発中のものです。 mailto:saga [2006/06/28(水) 19:32:25 ID:PGbIKTZD]
>>618の訂正
3つの辺を同時に考えると点(px,py)は
(px,py)@     (px,py)A
  ・   \     ・     |・(px,py)B
       \          |
      --・----------->・-----  
   (p1x,p1y) ▽  (px,py)F|(p2x,p2y)
           \   ・  |  ・(px,py)C
            \    ..|
              \  ..|
        ・       \ V 
       (px,py)E      ・  (p3x,p3y)
                  |\
                  |  \
                    ・(px,py)D
の4つが考えられる
@(v1<0)かつ(v2>0)かつ(v3<0)、
A(v1<0)かつ(v2>0)かつ(v3>0)、
B(v1<0)かつ(v2<0)かつ(v3>0)、
C(v1>0)かつ(v2<0)かつ(v3>0)、
D(v1>0)かつ(v2<0)かつ(v3<0)、
E(v1<0)かつ(v2<0)かつ(v3>0)、
F(v1>0)かつ(v2>0)かつ(v3>0)になるこのとき点は面上にあることになる

 もし値が全て負なら符号が全て逆転するので
 すなわち
(v1>0)かつ(v2>0)かつ(v3>0)
または
(v1<0)かつ(v2<0)かつ(v3<0) になるこのとき点は面上にあることになる

620 名前:名前は開発中のものです。 mailto:sage [2006/07/11(火) 16:18:01 ID:Ogk6iPLD]
>>618
当たり判定を中心の1ドットで
坂道判定するのって可能ですか?
平面はx座標、y座標を独立させて当ったときに
境界線ぎりぎりの座標までのを取得しています

621 名前:名前は開発中のものです。 mailto:sage [2006/07/11(火) 16:56:38 ID:D7mjjvxH]
>>620
3Dの話?

622 名前:名前は開発中のものです。 mailto:sage [2006/07/11(火) 20:23:02 ID:wHSXxOQ3]
>>620
2Dです
出来たら2Dで坂道のアルゴリズムをご教授いただきたく存じます

623 名前:名前は開発中のものです。 mailto:saga [2006/07/11(火) 20:57:36 ID:5ZQUQ7kJ]
>坂道判定するのって可能ですか?
クオータービューの話ですよね

■■■□□□□
■■■■□□□
■■■■■□□
■■■.X.■■□
□■■■■■■
□□■■■■■
□□□■■■■

■・・・坂の上れる部分
□・・・触れない部分
X.・・・中心の1ドット

で内容はいいんですかね

624 名前:ナギサ [2006/07/11(火) 22:04:59 ID:kIX/RGjS]
この本を見て勉強すれば簡単なゲームなら作れるだろうって本とかないでしょうか??教えてください。目標はとりあえずアクションゲームを作りたいです

625 名前:ナギサ [2006/07/11(火) 22:30:04 ID:kIX/RGjS]
ちなみに超初心者です。ゲーム作った事ないです



626 名前:名前は開発中のものです。 mailto:saga [2006/07/11(火) 22:39:45 ID:wU1DkrDU]
2Dか3Dかで変わるどっちなんだ?


627 名前:名前は開発中のものです。 mailto:sage [2006/07/11(火) 23:17:34 ID:GVuJ27Dn]
完全無料のプログラミング言語HSPによるゲーム制作方法を徹底解説(単行本)
www.amazon.co.jp/gp/product/4757718632/250-5311087-3673063?v=glance&n=465392&SubscriptionId=1D7W8SQ3D56HTRGM2W82

628 名前:名前は開発中のものです。 mailto:sage [2006/07/11(火) 23:26:09 ID:D7mjjvxH]
>>623
2Dって事だから
マリオみたいな感じじゃないかな?
620の平面ってのは真横から見た平面って事だろう
でも、これなら線分と点でどっちの領域にあるか調べるだけな気が・・・
(坂の始点からの距離xの高さを求めて比較とか)

あぁ、618のを使って出来るか聞きたいだけなら
出来る




629 名前:名前は開発中のものです。 mailto:sage [2006/07/12(水) 00:44:10 ID:eXlRPZTF]
>>628
>でも、これなら線分と点でどっちの領域にあるか調べるだけな気が・・・
ヴァルケンやマリオ3のような2Dなのでこれぐらいの仕様で
いけると思うのですが問題はそのアルゴリズムが思いつかないのですorz

仮に45度角の坂道を配置するとき、中心線がその枠内に入った場合、
どんな感じで境界線ぎりぎりのxy軸を取得するのか……

当方、かなりの数学嫌いですがお願いします。

630 名前:名前は開発中のものです。 mailto:sage [2006/07/12(水) 02:01:43 ID:Nv9TYXvG]
>>629
>ヴァルケンやマリオ3のような2Dなのでこれぐらいの仕様で
最初からそれ言ってりゃ早いのに

でも、斜面の何処に戻すのがいいのか分からんな・・・
x座標に合わせた高さを求めるなら簡単だし
横移動の速度は変わらずに済むからこっちかな?

坂の領域判定は矩形と点で判定は済んでるとして
坂始点(sx,sy) 坂終点(ex,ey) 点(x,y)

ax=sx-ex
ay=sy-ey
ky=ay/ax
bx=sx-x
cy=ky*bx

(sy-cy)<=y なら y=sy-cy で坂の上に乗せる

線分判定やるとしたら線分と線分の判定じゃないとダメかな?
(斜面に直角に当たる座標になっちゃうから)

>当方、かなりの数学嫌いですがお願いします。
自分は中学ぐらいで数学は止まってる・・・





631 名前:名前は開発中のものです。 mailto:sage [2006/07/12(水) 04:05:30 ID:Nv9TYXvG]

>横移動の速度は変わらずに済むからこっちかな?
kyを適当に利用して上りは遅く下りは早くしてみた

gamdev.org/up/img/6502.lzh
これで使ってる移動ベクトル
vx=-(2.0-ky/2) 左移動
vx=(2.0-ky/2) 右移動

地面の移動ならこれでよさそう


632 名前:名前は開発中のものです。 mailto:sage [2006/07/12(水) 11:13:18 ID:9vgHlyH+]
>>631
カコイイ!

633 名前:名前は開発中のものです。 mailto:sage [2006/07/12(水) 13:01:22 ID:hG6RiEWp]
>>630>>631
解説ありがとうございます
実際どうなっているか流れを見てみます。

634 名前:名前は開発中のものです。 mailto:sage [2006/07/12(水) 22:41:39 ID:Nv9TYXvG]
>>633
ジャンプとスクロールもさせてみた

gamdev.org/up/img/6506.lzh
(スクリプトも付けたけどHSPやってない人には読みづらいんだろうな・・・)

弾が斜面のどこに当たったとかは
603にある
>点(px,py) 三角形(p1x,p1y),(p2x,p2y),(p3x,p3y)
>v1x=pxーp1x v1y=pyーp1y
>v2x=pxーp2x v2y=pyーp2y
>v1=v1x*v2yーv2x*v1y
これを応用すれば出来ると思う
分からなかったら又質問でもしてくれ
(誰か答えてくれるだろうw)

635 名前:名前は開発中のものです。 mailto:sage [2006/07/13(木) 00:00:37 ID:l1X/KRTM]
>>634
数学嫌いの私にも45度坂が出来ましたm(__)m
これで擬似物理とか出来たら萌え死にます
蛇足・630の公式をBCCでいじっていたのですが
ax=sx/ex
ay=sy/ey
ky=ay/ax
と誤って入力したらフリーズしました
仕様でしょうか

ttp://read.kir.jp/file/read51673.gif



636 名前:名前は開発中のものです。 mailto:sage [2006/07/13(木) 00:17:00 ID:YmBc8lTP]
ゼロ除算に100物理


637 名前:名前は開発中のものです。 mailto:sage [2006/07/13(木) 00:28:25 ID:abHzvvv+]
>>635
636も言ってるように0で割るとエラーが出る(これは言語に関係はない)
だから0で割る事にならないように工夫する必要がある
(0の時ようの処理を用意したり)



638 名前:634 mailto:sage [2006/07/13(木) 21:51:57 ID:abHzvvv+]
ありゃ、ボンミスしてた
color 100,255,255 :mes "x("+x+")"+" y("+(x+ry)+")"
y表示しようとしてるのにxって
楽してコピペしてると変なミスするな・・・

639 名前:635 mailto:sage [2006/07/14(金) 01:26:48 ID:J8kNYWyd]
今、マップチップを32ドットで編集しているのですが
16ビットで分割する必要が出てきました。

32ビットチップに当たった→16ビットに分けた4つのどこに当たったか
→その位置になるように合わせる

といった処理が思い浮かんだのですが、これで60FPSを
維持するのは正直つらいでしょうか?

0x00000F00
という感じでFを当たり判定用にしています
(1、左端 2、右端)という感じで

連投申し訳ございません、m(__)m
面倒でしたらチラシの裏だと思ってくれてもいいです

640 名前:名前は開発中のものです。 mailto:sage [2006/07/14(金) 01:46:48 ID:zYRCrdZI]
よゆー

641 名前:635 [2006/07/30(日) 16:32:32 ID:51bUWeEi]
またも質問させていただきます

アクションゲーム作ってみましたが
ttp://gamdev.org/up/img/6860.lzh

4方向による16ビットの当たり判定まで作ってみたのですが
角にキャラを近づけると引っかかってしまうことがあります

おそらくx軸の判定とY軸の判定が同時に発生していると思うのです
不明瞭だとは思いますが、一応、問題のソースコードも添付しておきます。

C++やダイレクトXに詳しい住民様、解消法を
よろしくお願いしますm(__)m




642 名前:635 mailto:sage [2006/07/30(日) 16:34:56 ID:51bUWeEi]
sage忘れましたorz


643 名前:名前は開発中のものです。 mailto:sage [2006/07/30(日) 17:39:00 ID:Z/wMdCeC]
まじめに読む気がしない。

こんなのは必ず解決するから、よく自分で試行錯誤し、
あたり判定もう一度最初から書き直してみれ。

644 名前:名前は開発中のものです。 mailto:saga [2006/07/30(日) 21:07:12 ID:Al09+sjw]
>>641
xとyの距離比較してそれぞれのフラグ立てれよ

円として判定したいなら
円の方程式使って進入許可できる距離を判別しろ

645 名前:名前は開発中のものです。 mailto:saga [2006/07/30(日) 21:54:13 ID:Al09+sjw]
デバック用の文字列とか表示しないのかね・・・
VC++のデバック機能にも限界があるから作ったら?

あとインデントとかちゃんとして
コメントアウトも多めに付けた方が他人に分りやすい

関数の前にアルゴリズムの図とかをコメントアウトで描いたりや
アルゴリズムの図をBMPとかで描いて残したりした方が
自分が再認識したり整理するのに役立つよ




646 名前:635 mailto:sage [2006/07/31(月) 00:05:39 ID:dVzSVGJA]
>>643,644,645
アドバイスありがとうございましたm(__)m

もう一度粘ってみたら原因が分かりました。
方向をX軸移動、Y軸移動と分けていたので
角に来たとき、少しだけ当たり判定内に進入してたようです
X軸、Y軸両方に判定がなかった場合、
続けてXY軸両方合わせて判定するようにしました。




>>インデント
よく注意されてます
仕事するようになるまでにはちゃんと直したいのですが
なかなかうまくいきませんorz

647 名前:名前は開発中のものです。 mailto:sage [2006/07/31(月) 10:22:10 ID:HgdAdx/E]
仕事とか関係無しに見やすいソースを書く癖はつけといたほうがいーぞ
まずはこれ使え
ttp://astyle.sourceforge.net/
ttp://homepage2.nifty.com/tenk/lib/doc/astyle_j.htm







[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<235KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef