トップページgamedev
982コメント350KB

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

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

ただし、アクションゲームの未来とか既存のゲームの話題などは、関連する他の
スレでやってくれ。
0571名前は開発中のものです。2006/03/24(金) 20:29:43ID:ynvPJr33
>>569
そっか。漏れは初心者の頃オブジェクト指向には目から鱗だったんだが。
今度新規生がまたくるから、ウチの人員を研究対象として
今年は手続き型とオブジェクト指向型とどちらがわかりやすいか
調査なんかしてみるかな。

>>570
趣味プログラマがUMLなんか使うかよ禿www
0572名前は開発中のものです。2006/03/24(金) 20:34:18ID:mFmDrFXE
手続き型を先にやったがために、
オブジェクト志向になじめないってパターンもあるしな
05735532006/03/24(金) 20:40:01ID:4Uk+3T2/
ん、通常はC→C++という流れで覚えると思ったんだが
>>570のいうC++から始めることを薦めてるってのが気になるなぁ

ついさっき本屋でC++の入門本に
「本書はCを知らなくてもC++ができるようになる本です」
ってのがあったんだけどC++から覚えるってのも
一つの手段として考えたほうがいいのかしら
聞けば聞くほどHSPに不安が出てくるな(笑
05745702006/03/24(金) 21:01:26ID:D/m13lxQ
C++よりもCのほうが難しい
Cの本には、こういうプログラミングをすれば処理速度が上がるなどの個別のテクニックの解説が多い
またわけのかわらん自己中なプログラムを組む奴が多い

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

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

>>574
ただのOOP厨でしたか。お帰りください
0576名前は開発中のものです。2006/03/25(土) 03:43:31ID:lNWu+DsU
ってか、Cから始めるといろいろめんどいというか、
ゲーム作り始めるまでに覚えることが多々有りすぎるから、
だったらまずはゲームってどんなふうに作られてるのか知る上でも、
メッチャ簡単なものでいいからHSPで作っちゃえば良いと思うんだけど。
0577名前は開発中のものです。2006/03/25(土) 04:26:04ID:9+AYDTvc
単純な内容ですぐ遊べるものが欲しいならHSP。
じっくり学んでたくさん作るつもりがあるならC。
0578名前は開発中のものです。2006/03/25(土) 10:55:59ID:Xo5AkaJL
>>577
嘘ばっかか。
たくさん作るつもりならむしろ手軽なHSPだろ
Cで作るならクオリティに凝ってもらいたいものだ
0579名前は開発中のものです。2006/03/25(土) 13:24:10ID:oCQS7gTs
Cは低水準よりの言語だからなあ、ある程度プログラミングに慣れてからのほうが覚えやすいと思うな


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

って感じ。
なんでHSPがよく批判されるかっていうと
入門者に手軽なHSPを薦めること自体は別にいいんだけど
HSPの簡単さになれると他の言語に移りににくくなるんだよね。
まぁそれでもいいって言うんならいいけど
0581名前は開発中のものです。2006/03/26(日) 03:38:03ID:eIBmOWGN
>>580
どうせ向上心のあるやつは半年もすれば
ほうっておいてもHSPから離れていくんだから、
当面初心者にはHSPを進めておけばいいと思うんだ。

ただ、
>まぁそれでもいいって言うんならいいけど
な上から見た態度はすこぶる気に食わないんだ。
0582名前は開発中のものです。2006/03/26(日) 04:19:19ID:5pnITBBi
そだね、やりたいことができないってわかったら、自分で他に移るんだし
これで十分だと思ったら、そのままでいいし。
0583名前は開発中のものです。2006/03/29(水) 00:14:45ID:9KBKOr3E
とりあえずJavaScriptとかでプログラムの雰囲気を覚えるのもいいかと思う。
結果がすぐ分かるし。
つーか他の言語に移るとかよく分かんない。
今まで使ってきたもの全部適材適所で使うでしょ?
全体をC++とかJavaで作ってるときに、使い捨てツールが急に
欲しくなったときにHSPとかPerlとか使う、みたいな。
0584名前は開発中のものです。2006/03/29(水) 00:30:48ID:QNwATx3h
>>583
ヒント:いきなりたくさんやるのむり
0585名前は開発中のものです。2006/03/29(水) 00:54:46ID:hjjCj64h
漏れ、Javaなんて全く使った事が無い
で、初めての人にはJavaが良いのか、HSPが良いのかは分からない

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

ちなみに今は、C++から全く動けない体になってマス
0586名前は開発中のものです。2006/03/29(水) 17:16:40ID:FqCl1dxd
HSPは一番最初にお付き合いする言語にはちょうど良いんじゃない?
簡単にウインドウ出せて、描画も出来る、日本語資料いっぱい。

理解できなきゃプログラムは組めないわけだし
最初の言語は分かりやすさ優先にするのが良いんじゃないかな、と思ってる
0587名前は開発中のものです。2006/03/30(木) 04:19:50ID:56EhH4Nk
スーパーマリオ3系の2Dアクションゲームを作ってるんですが、
斜めの坂と接触したときの自機のずらし方向について悩んでいます。

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

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

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

ここ1年ほど、この論理についてずっと悩みっぱなしなのですが
作例、論理などわかるかたいらっしゃいませんでしょうか。
0588名前は開発中のものです。2006/03/30(木) 15:00:35ID:Ehg64lwS
ttp://pc8.2ch.net/test/read.cgi/gamedev/1017730241/634n
0589名前は開発中のものです。2006/03/30(木) 15:29:26ID:Wa3+p1az
ちょっとマリオ3をやってみたら
?ブロックや土管とか通常の地面は、足先までの長めの判定をとってるけど
坂とかを含んでるチップでの、足元判定は下底の中心1x1でしかやってないっぽいな

0590名前は開発中のものです。2006/03/30(木) 17:37:15ID:1FMFXNfJ
つまりこうか?マリオの座標を
123
456
789
として、通常当たり判定は1379の4隅を使って
坂の当たり判定処理だけ8の位置のみでしている。と?
0591名前は開発中のものです。2006/03/30(木) 21:06:27ID:iAtYOob+
>>589
===
***=
****=
*****=
******=======
って判定で、見た目だけずれてるとかじゃなくて?
0592名前は開発中のものです。2006/03/31(金) 00:34:18ID:hNd3BF7c
>>591
ごめん、図がよく分からんけど
おそらく見た目とかそういう話じゃないと思う
あと、敵はどんな地形でも足元は1ドットしか判定見てないっぽいな
05935872006/03/31(金) 03:33:00ID:akpZ63XX
>>588,589
有用な情報をホントにありがとうございます。

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

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

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

説明が英語だけにかなり厳しいですが
アクションスクリプトをCに移植しながら、理解を深めてみますです。
もしスピードが稼げる方法でなければ、これと似た結果をだせる
簡易計算方法が他にもあるかもしれませんね。
0594名前は開発中のものです。2006/03/32(土) 13:26:32ID:gZPGpn4t
>>589
それは結構難しそうな気が
0595名前は開発中のものです。2006/04/05(水) 01:59:43ID:NKcmYNvl
gああああ。
斜めの坂むずかシー。
誰か概念を教えて栗。
0596名前は開発中のものです。2006/04/08(土) 22:47:03ID:o8GmMFvy
つ「内積、外積」

自分で調べて学ぶ事も重要
0597名前は開発中のものです。2006/04/09(日) 01:37:25ID:n8SWzf4S
内積、外積、垂線の求め方などが考え方に必要なのはわかるが
2Dアクションゲームのプログラムには必要ない。3Dでは必須。
のハズ。
0598名前は開発中のものです。2006/04/09(日) 23:47:28ID:n8SWzf4S
>596
念のため、2Dベクトルでの内積による当たりを判定してみましたが、
sqrt()の負荷がちょっと高いけど、全然実用的でした。
ごめんなさい。悪かったです。
0599名前は開発中のものです。2006/05/18(木) 21:31:48ID:vFoh02c7
保守
0600名前は開発中のものです。2006/05/22(月) 00:55:20ID:oNNgZz3T
sqrtなんて使わなくね?
0601名前は開発中のものです。2006/05/22(月) 00:57:22ID:invPdzO+
単位ベクトルとか求めるとき必須
0602名前は開発中のものです。2006/05/22(月) 01:45:22ID:oNNgZz3T
もしかしてみんな点と三角形の当たり判定じゃなくて
線と三角形の当たり判定でやってるの?
0603名前は開発中のものです。2006/05/22(月) 21:38:24ID: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)
のとき当たり


誰か線と三角形の当たり判定教えて
0604名前は開発中のものです。2006/05/22(月) 21:39:15ID:9H//M9F4
お前に教えるハンテイはねぇ!
0605名前は開発中のものです。2006/05/22(月) 21:40:28ID:oNNgZz3T
あれ なんか表示がおかしい
0606名前は開発中のものです。2006/05/23(火) 01:07:00ID:ig3OAxwb
2D上で線と三角形だと連立方程式立てられないんじゃないかな。
むしろ線と線(三角形の辺)でやったほうが良い希ガス。
0607名前は開発中のものです。2006/05/24(水) 00:14:18ID:w03ixZiV
>>606
サンクス
0608名前は開発中のものです。2006/06/09(金) 06:37:51ID:/Hg1o1U9
衝突処理書き上げたらスタックが発生しまくり
ムカムカage
0609名前は開発中のものです。2006/06/10(土) 00:44:59ID:INde8ODr
スタックが発生するとはまたよく分からない言葉ですね
0610名前は開発中のものです。2006/06/10(土) 22:00:32ID:YNMEkrNo
データ構造のスタックしか知らん人が登場した。
さすがゲ作板だ。
0611名前は開発中のものです。2006/06/16(金) 00:44:02ID:FNjrQ/wZ
スタックってなーに?
0612名前は開発中のものです。2006/06/21(水) 00:34:39ID:RcYQeqBn
オー人事オー人事
0613名前は開発中のものです。2006/06/21(水) 10:02:38ID:xkmiQecp
>>612
ソレ書こうと思ったけどツッコミなさそうなので
書かなかったよ、そんな勇者なおまえに

スタッ○サービスじゃねーかよ
0614名前は開発中のものです。2006/06/27(火) 22:10:52ID:zklAs/7x
誰か>>603の解説お願いします
どうしても分かりません
0615名前は開発中のものです。2006/06/27(火) 22:34:22ID:G7pNNqKH
http://gamdev.org/up/img/6301.jpg
0616名前は開発中のものです。2006/06/27(火) 23:34:17ID: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となる
つづく
0617名前は開発中のものです。2006/06/27(火) 23:35:15ID: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)    
  ・
となる
つづく
0618名前は開発中のものです。2006/06/27(火) 23:38:37ID: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) になるこのとき点は面上にあることになる
0619名前は開発中のものです。2006/06/28(水) 19:32:25ID: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) になるこのとき点は面上にあることになる
0620名前は開発中のものです。2006/07/11(火) 16:18:01ID:Ogk6iPLD
>>618
当たり判定を中心の1ドットで
坂道判定するのって可能ですか?
平面はx座標、y座標を独立させて当ったときに
境界線ぎりぎりの座標までのを取得しています
0621名前は開発中のものです。2006/07/11(火) 16:56:38ID:D7mjjvxH
>>620
3Dの話?
0622名前は開発中のものです。2006/07/11(火) 20:23:02ID:wHSXxOQ3
>>620
2Dです
出来たら2Dで坂道のアルゴリズムをご教授いただきたく存じます
0623名前は開発中のものです。2006/07/11(火) 20:57:36ID:5ZQUQ7kJ
>坂道判定するのって可能ですか?
クオータービューの話ですよね

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

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

で内容はいいんですかね
0624ナギサ2006/07/11(火) 22:04:59ID:kIX/RGjS
この本を見て勉強すれば簡単なゲームなら作れるだろうって本とかないでしょうか??教えてください。目標はとりあえずアクションゲームを作りたいです
0625ナギサ2006/07/11(火) 22:30:04ID:kIX/RGjS
ちなみに超初心者です。ゲーム作った事ないです
0626名前は開発中のものです。2006/07/11(火) 22:39:45ID:wU1DkrDU
2Dか3Dかで変わるどっちなんだ?
0627名前は開発中のものです。2006/07/11(火) 23:17:34ID:GVuJ27Dn
完全無料のプログラミング言語HSPによるゲーム制作方法を徹底解説(単行本)
http://www.amazon.co.jp/gp/product/4757718632/250-5311087-3673063?v=glance&n=465392&SubscriptionId=1D7W8SQ3D56HTRGM2W82
0628名前は開発中のものです。2006/07/11(火) 23:26:09ID:D7mjjvxH
>>623
2Dって事だから
マリオみたいな感じじゃないかな?
620の平面ってのは真横から見た平面って事だろう
でも、これなら線分と点でどっちの領域にあるか調べるだけな気が・・・
(坂の始点からの距離xの高さを求めて比較とか)

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


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

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

当方、かなりの数学嫌いですがお願いします。
0630名前は開発中のものです。2006/07/12(水) 02:01:43ID: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 で坂の上に乗せる

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

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



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

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

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

地面の移動ならこれでよさそう
0632名前は開発中のものです。2006/07/12(水) 11:13:18ID:9vgHlyH+
>>631
カコイイ!
0633名前は開発中のものです。2006/07/12(水) 13:01:22ID:hG6RiEWp
>>630>>631
解説ありがとうございます
実際どうなっているか流れを見てみます。
0634名前は開発中のものです。2006/07/12(水) 22:41:39ID:Nv9TYXvG
>>633
ジャンプとスクロールもさせてみた

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

ttp://read.kir.jp/file/read51673.gif
0636名前は開発中のものです。2006/07/13(木) 00:17:00ID:YmBc8lTP
ゼロ除算に100物理
0637名前は開発中のものです。2006/07/13(木) 00:28:25ID:abHzvvv+
>>635
636も言ってるように0で割るとエラーが出る(これは言語に関係はない)
だから0で割る事にならないように工夫する必要がある
(0の時ようの処理を用意したり)

06386342006/07/13(木) 21:51:57ID:abHzvvv+
ありゃ、ボンミスしてた
color 100,255,255 :mes "x("+x+")"+" y("+(x+ry)+")"
y表示しようとしてるのにxって
楽してコピペしてると変なミスするな・・・
06396352006/07/14(金) 01:26:48ID:J8kNYWyd
今、マップチップを32ドットで編集しているのですが
16ビットで分割する必要が出てきました。

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

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

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

連投申し訳ございません、m(__)m
面倒でしたらチラシの裏だと思ってくれてもいいです
0640名前は開発中のものです。2006/07/14(金) 01:46:48ID:zYRCrdZI
よゆー
06416352006/07/30(日) 16:32:32ID:51bUWeEi
またも質問させていただきます

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

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

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

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


06426352006/07/30(日) 16:34:56ID:51bUWeEi
sage忘れましたorz
0643名前は開発中のものです。2006/07/30(日) 17:39:00ID:Z/wMdCeC
まじめに読む気がしない。

こんなのは必ず解決するから、よく自分で試行錯誤し、
あたり判定もう一度最初から書き直してみれ。
0644名前は開発中のものです。2006/07/30(日) 21:07:12ID:Al09+sjw
>>641
xとyの距離比較してそれぞれのフラグ立てれよ

円として判定したいなら
円の方程式使って進入許可できる距離を判別しろ
0645名前は開発中のものです。2006/07/30(日) 21:54:13ID:Al09+sjw
デバック用の文字列とか表示しないのかね・・・
VC++のデバック機能にも限界があるから作ったら?

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

関数の前にアルゴリズムの図とかをコメントアウトで描いたりや
アルゴリズムの図をBMPとかで描いて残したりした方が
自分が再認識したり整理するのに役立つよ
06466352006/07/31(月) 00:05:39ID:dVzSVGJA
>>643,644,645
アドバイスありがとうございましたm(__)m

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




>>インデント
よく注意されてます
仕事するようになるまでにはちゃんと直したいのですが
なかなかうまくいきませんorz
0647名前は開発中のものです。2006/07/31(月) 10:22:10ID:HgdAdx/E
仕事とか関係無しに見やすいソースを書く癖はつけといたほうがいーぞ
まずはこれ使え
ttp://astyle.sourceforge.net/
ttp://homepage2.nifty.com/tenk/lib/doc/astyle_j.htm
06486352006/07/31(月) 23:17:19ID:dVzSVGJA
>>647
勉強になります


クラスを他のクラスにそのまま引き渡すのは良くないでしょうか
参照しやすいのですが、かわりに結合度が高くなってしまいます
初心者なのでよく分かりません
0649名前は開発中のものです。2006/08/01(火) 02:09:51ID:Xih0MczD
>>648
> クラスを他のクラスにそのまま引き渡すのは良くないでしょうか
んなこたぁない。

> 参照しやすいのですが、かわりに結合度が高くなってしまいます
それは設計の問題。
06506352006/08/03(木) 00:23:26ID:VuMChKx3
スクロール処理で向きを変えたときに自動的に前の方向が
スライドして見やすくなる(ヴァルケン、洞窟物語風に)
処理がうまくいきませんorz

ちょっといじればできそうなのですが……
0651名前は開発中のものです。2006/08/03(木) 10:24:50ID:CyBLhj/X
自機の向きから出す視点の横補正の目標値とは別に
現在の横補正値を変数にもち、こっちの値で描画を行い、
段階的に現在の横補正値を目標値に近づけてきゃいいんじゃねーの
0652名前は開発中のものです。2006/08/04(金) 17:04:02ID:0Gt94er7
http://gamdev.org/up/img/6928.png
画像のように、COMが自分に向かってジャンプしてくるにはどうすればいいでしょうか
0653名前は開発中のものです。2006/08/04(金) 17:13:59ID:RYO7NJkZ
直線的な追尾処理だけじゃなく

追尾相手と同じ段に行く というアルゴリズムを挟め

その段に行けるかどうか どういうルートで到達できるかは
足場座標とキャラのジャンプ力使って試算させとけ
0654名前は開発中のものです。2006/08/05(土) 16:42:52ID:THTGPtgh
再三にわたり失礼いたします。
表示を320×240に変えて、フルスクリーンにしたところ
縮小、ウインドウモードに変えると強制終了になってしまいます。
あきらめるしかないのでしょうか

ttp://gamdev.org/up/img/6944.lzh
0655名前は開発中のものです。2006/08/05(土) 17:01:52ID:MNA8j4SI
ヒントやるよ
フルスクリーンからAlt+Tabで別ウインドウに切り替えても強制終了するだろ?

つうかDirectXスレで聞け
0656名前は開発中のものです。2006/08/16(水) 21:17:11ID:gZ/W8DL2
マリオ風のアクションゲームを開発をしているのですが
プログラミングしたジャンプや移動の操作を5分以上操作し続けると
動作中に強制終了してしまいます。
なにも操作していない時は強制終了しないで動いているですが
原因が分かりません。

操作系のクラスをプログラミングしている際、int型やfloat型、double型
をごっちゃにして入力していたからでしょうか。

DirectXの原因かとも考えたのですが、よく分かりません。

ほかに考えられる原因があれば教えていただけないでしょうか
よろしくお願いいたします。

0657名前は開発中のものです。2006/08/16(水) 21:30:47ID:n6yg13h7
b=a/0みたいな0除算はマズいぞ?
0658名前は開発中のものです。2006/08/17(木) 00:03:23ID:OsG5VGmG
>>656
ゲーム開発オワタ\(^o^)/
0659名前は開発中のものです。2006/08/17(木) 11:15:47ID:wgi9SDS+
>>656はエスパーを探しに来た人
0660名前は開発中のものです。2006/08/17(木) 12:58:43ID:XudnPJ+x
>>656
つ デバッガ
0661名前は開発中のものです。2006/08/17(木) 16:33:17ID:rHhEO1GS
>>656
日本語でおk
0662名前は開発中のものです。2006/08/17(木) 18:24:42ID:kAihMmpa
どう見てもメモリリークです
0663名前は開発中のものです。2006/08/17(木) 18:35:11ID:Rn/CHa6g
本当にどうもありがとうございました
0664名前は開発中のものです。2006/08/18(金) 01:38:21ID:HJMqSlyb
いえいえ、どういたしまして

0665名前は開発中のものです。2006/08/18(金) 02:51:39ID:LVwpbsbn
いえ、こちらこそ
0666名前は開発中のものです。2006/08/18(金) 18:56:07ID:IL8eodyq
おれもやってみるかな。
0667名前は開発中のものです。2006/08/18(金) 19:23:58ID:i7u6URSm
>>666
ゲーム開発ハジマタ\(^o^)/

0668名前は開発中のものです。2006/08/18(金) 19:45:03ID:F6pe9bNb
開発始まったって?
 *     +    巛 ヽ
            〒 !   +    。     +    。     *     。
      +    。  |  |
   *     +   / /   イヤッッホォォォオオォオウ!
       ∧_∧ / /
      (´∀` / / +    。     +    。   *     。
      ,-     f
      / ュヘ    | *     +    。     +   。 +
     〈_} )   |
        /    ! +    。     +    +     *
       ./  ,ヘ  |
 ガタン ||| j  / |  | |||
――――――――――――
0669名前は開発中のものです。2006/08/19(土) 14:27:17ID:S1w/yWyB
      ,一-、
     / ̄ l |   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ■■-っ < 一旦CMでーす
    ´∀`/    \__________
   __/|Y/\.
 Ё|__ | /  |
     | У..  |
0670名前は開発中のものです。2006/08/19(土) 20:24:34ID:g7yx4bI3
>>656“ウプレカス”
■ このスレッドは過去ログ倉庫に格納されています