ゲームのアルゴリズムを教えて管sai (199レス)
上下前次1-新
34: 03/06/01 20:12 ID:iOOUHdXU(1) AAS
★オ○ンコは地球を救う★
外部リンク[html]:yahooo.s2.x-beat.com
35: あぼーん [あぼーん] AAS
あぼーん
36: あぼーん [あぼーん] AAS
あぼーん
37: YahooBB219001164144.bbtec.net 03/06/02 15:45 ID:+FileYkg(1) AAS
これは? 外部リンク[cgi]:.jp
38: あぼーん [あぼーん] AAS
あぼーん
39: 03/06/03 08:17 ID:4op8mUZv(1) AAS
外部リンク:homepage3.nifty.com
キタ━━━━(゚∀゚)━━━━!!
外部リンク:www.k-514.com
40: あぼーん [あぼーん] AAS
あぼーん
41: あぼーん [あぼーん] AAS
あぼーん
42: あぼーん [あぼーん] AAS
あぼーん
43: あぼーん [あぼーん] AAS
あぼーん
44: あぼーん [あぼーん] AAS
あぼーん
45: あぼーん [あぼーん] AAS
あぼーん
46: あぼーん [あぼーん] AAS
あぼーん
47: 03/06/06 12:30 ID:PTApivoG(1) AAS
現在、荒らしによってこの板の利用が困難になっているため、避難所を作成しています。
出来ればこちらに移動するのをお勧めします。
ゲ製作技術板(避難所)
外部リンク:bbs.gamdev.org
-------------専用ブラウザ(OpenJane)への登録方法-------------
板一覧ウィンドウのカテゴリのフォルダを右クリック→ここに板を追加
48: あぼーん [あぼーん] AAS
あぼーん
49: あぼーん [あぼーん] AAS
あぼーん
50: あぼーん [あぼーん] AAS
あぼーん
51: あぼーん [あぼーん] AAS
あぼーん
52: あぼーん [あぼーん] AAS
あぼーん
53: あぼーん [あぼーん] AAS
あぼーん
54: 03/06/13 21:22 ID:NCwo/Gzi(1) AAS
みてね〜♪
外部リンク[html]:www1.free-city.net
55: 山崎 渉 [(^^)] 03/08/15 08:34 ID:KFL+te0G(1) AAS
AA省
56: 04/07/03 19:23 ID:E3a3uuaW(1) AAS
AA省
57: 2005/05/11(水)09:55 ID:QbGDxSga(1) AAS
こんなスレッドまで来て、ゲームアルゴリズムを真剣に
学びたい人はいないとは、思うけど、
単純な2Dシューティング(インベーダー程度)なら
配列、探索アルゴリズム、リスト、構造体
テーブル化、ソートアルゴリズム、フラグ、画像転送、
矩形の当たり判定
アドベンチャーゲームなら
省6
58: 2005/05/23(月)00:26 ID:MvQZceoD(1) AAS
59(1): 2005/06/14(火)17:02 ID:9FWtswMc(1) AAS
だれか、2Dアクションゲームの、スクロールとキャラクタ・当たり判定の
管理について教えてくださいな。
60(1): 2005/06/15(水)15:58 ID:J79aeXl5(1/4) AAS
>>59
昔のゲームを逆アセンブルで解析してみて参考にするのは、どうだろう…
私は、解析したことがないので、どうなっているのか分かりませんが、
少し昔の2Dアクションゲーム(ロックマン、マリオ、魔界村、ソニック、スペランカー、etc)
のマップは、おそらく32×32ドット(24×24ドット)程度の大きさで区切られたマスの組み合わせで
表現されていると思われます。
それを、2次元配列でint Map[300][300]={ {0,0,0,1,0,1,…のように表して
省16
61(1): 2005/06/15(水)16:02 ID:J79aeXl5(2/4) AAS
●スクロールは、常にメインキャラクターを画面の中心に置いておきたい訳だから
void CalcScroll(int *sx,int *sy)
{
*sx=mx-320/2;
*sy=my-240/2;
if (sx<0) sx=0;
if (sy<0) sy=0;
省5
62(1): 2005/06/15(水)16:54 ID:J79aeXl5(3/4) AAS
当たり判定は、いろいろな方法(ベクトル、三平方、色判定など)があるけども、
メインキャラクターが発射した弾と敵キャラとの当たり判定なら、単純に矩形(くけい)の
当たり判定で済みます。
●弾の座標を(ax,ay)、敵の座標を(bx,by)とした場合、
if(ax<bx2 && ax2>bx && ay<by2 && ay2>by)
{
省2
63(1): 2005/06/15(水)16:55 ID:J79aeXl5(4/4) AAS
●メインキャラクターとマップとの当たり判定は、
□x座標の移動処理の直後に
//左上と左下
if(Map[x/32][y/32]!=0 || Map[x/32,(y+height)/32]!=0)
{
x=(x/32+1)*32;
}
省19
64(2): 2005/06/16(木)05:05 ID:3Ela4Sa6(1) AAS
俺も昔Javascriptで同じようなの作ったことあります。
肝心のゲームは流行らなかったけど。IE対応型RPGゲームね。
閑話休題、質問です。
SLGの六角型HEX画面ってどうやってるの?
テーブルで組んでいくと非効率的だし、実際のアルゴリズムも
かなり無駄な処理が入ってるのでしょうか?
65(2): 2005/06/16(木)11:32 ID:jcj8vG3U(1) AAS
>>64 リストで組んでみては?
66(1): 2005/06/17(金)22:36 ID:L6bXNRcs(1) AAS
>>64
普通の2次元配列を用意すると、任意の要素の周辺には8個の要素があるが、
そのうち2個削れば6個になる。
横並びのHEXの場合、削り方には
・右上と右下
・左上と左下
の2通りあるが、行の隅・奇で決めればよい。
省3
67: 2005/06/18(土)22:38 ID:FcEi37Wc(1) AAS
>65-66
?
話が前後するけど移動に関しては↓の「2.マップ移動システム」みたいな
話もある。構造が明快ではなくなるけどXY式より処理は少なくなる。
外部リンク[html]:members.jcom.home.ne.jp
横軸分引けば下移動、足せば上移動だから、アクションでも使えるん
じゃないかな?
68: 2005/12/22(木)22:39 ID:W7fzD8KK(1) AAS
>>60-63が参考になった。
69(1): 2005/12/24(土)08:14 ID:mHMu6n/Z(1) AAS
斜めになっている地面、斜めになっている天井とプレイヤーとの当り判定ってどーゆーふうにしたらいいんですかね?
地面は何とかなりそうなんですが天井の方がよくわかりません。
70: 2007/01/27(土)00:39 ID:MBdcNsZ6(1) AAS
ほ
71: [age] 2007/02/16(金)14:29 ID:SVucWmYy(1) AAS
age
72: 2007/02/18(日)16:29 ID:Y8Ki4rPj(1) AAS
某板よりコピペ
多数のオブジェクトの衝突判定を並列化する方法
移動後の座標をボクセルに振り分ける。
1つのボクセル内に存在するキャラを総当たりで衝突判定。
処理の順序としては、移動、振り分け、衝突判定、衝突処理。
これで処理を並列化できる。
もう少し詳しく言えば、衝突判定をしやすくするために、
省6
73: 2007/02/24(土)16:15 ID:LTRE8EdM(1) AAS
>>69
・坂を方程式で表す方法
例えば天井がy=-0.1*x+64の直線と考えれば、
atamay<=-0.1*atamax+64なら当たり。
地面をy=-0.1*x+480の直線と考えれば、
asiy>=-0.1*asix+480なら当たり。
atamax,atamayはキャラの頭の座標。asix,asiyはキャラの足の座標。
省19
74: 2007/04/05(木)02:54 ID:UIV+9920(1) AAS
AGE
75(1): 2007/04/05(木)03:08 ID:tWT0PUr7(1) AAS
ビリヤードの玉のように、円形のオブジェクトが
同じ円形のオブジェクトに当たって弾き飛ばすような
移動の仕方って、どうすればいいんでしょうか?
76: 2007/08/27(月)20:25 ID:bCl/miWp(1) AAS
動画リンク[ニコニコ動画]
77: 2007/08/28(火)00:03 ID:8moxEFVA(1) AAS
>>75
衝突距離が出しやすいから矩形よりも簡単だったりする。
接線での水平成分、垂直成分それぞれの速度の変換を行う。高校数学(三角関数)と物理なんだが。
食い込んだ分の補正をするとなお良し。
78: 2007/08/28(火)01:13 ID:oeJOJ4t+(1) AAS
死後4ヶ月以上経過した75の白骨死体を発見
79(3): 2007/09/07(金)13:37 ID:5sK/fkD5(1) AAS
角度を付けた移動ってどうやるんですか?45度だったら
x=x+45
y=y+45
でいいんですか?
80: 2007/09/07(金)13:39 ID:H8DGQcSX(1) AAS
>>79
なんじゃいそりゃ
81: 2007/09/07(金)14:08 ID:ODKwq4Ib(1) AAS
高校の(今は中学か?)教科書嫁
というのはなんなのでヒントだけ
x = x + v * cos(angle)
y = y + v * sin(angle)
82: 2007/09/07(金)14:22 ID:puv664XK(1) AAS
>>79
これは酷いww
ワラタ
釣りだろ
83: 2007/09/07(金)23:45 ID:ZuhXBmED(1) AAS
せめて足すんぢゃなくてXょうゃ…
75は角度なんでそのまま使ったらヤバいょうな気がする;
角度たら360°ダロ?
75÷360ぽくね!?
少数点だし…ナンカ上手く曲がりソウぢゃん!?
こんな感じでゲームを創ってたアノ頃………
(涙)
84: 2007/09/08(土)13:11 ID:ZvPWIcCC(1) AAS
まぁいろいろトライするのが思い出になるんだよな。
85: 2007/09/08(土)13:34 ID:x0k7gG8Z(1) AAS
Deg と Rad を知らなかったあの頃
86: 2007/09/12(水)20:10 ID:u002ijju(1) AAS
>>79
#define RAD 3.14159/180
って定義しておいて、
x+=cos(45*RAD)*speed;
y-=sin(45*RAD)*speed;
でいけると思うよ。
87: 2007/11/18(日)11:26 ID:kpbdlgGK(1) AAS
質問させて下さい。
ユーザーに手書きで図形を書かせ、
それが丸なのか四角形なのか三角形なのかを判別したいのですが
どのようなアルゴリズムが考えられますでしょうか?
88: 2007/11/18(日)11:37 ID:RmDGoqPy(1) AAS
ふたつかんがえた。もちろん使ったことはない。
・描画速度の変化をみる
(角を描くときに速度が落ちるので、2回落ち込むと三角形とか)
・描かれた線の接線のむきの分布みる
(三方向にピークが出ると三角形、とか)
89: 2007/11/18(日)21:55 ID:VoyUbEfi(1) AAS
・グリッドを作って通過するポイントで判定(文字認識?)
・マウスの移動方向をxyの変化量で8つに分ける(マウスジェスチャ?)
俺も作ろっと
90: 2007/11/25(日)15:24 ID:DZ368X4a(1) AAS
NN
91(1): 2008/02/11(月)21:08 ID:3BJFJrZO(1) AAS
縦スクロールシューティングゲームを作ってるんですが、
敵の出現のやり方がいまいち分かりません。
今までは、マップを描画したときに、
敵の情報があったら、同時に表示して、その敵の情報を削除
してました。
何か、いいアルゴリズムがありましたら、教えてください。
92: 2008/02/12(火)07:56 ID:qFBBafcB(1/2) AAS
#define MAX_X 20
typedef struct _Map{
int ShowX;
int ShowY;
int Type;
int Hp;
int X;
省24
93: 2008/02/12(火)08:03 ID:qFBBafcB(2/2) AAS
ちなみに、CreateEnemyの引数は、X座標、Y座標、敵番号、耐久力だ。
94: 2008/02/12(火)11:55 ID:5WyTfMV5(1) AAS
95: 2008/02/18(月)23:07 ID:YtDwWNhg(1) AAS
>91
発生する時刻と座標のテーブル持ってればいいんじゃないの?
96(3): 2008/03/12(水)21:02 ID:K0/YrLVn(1) AAS
今、C言語でシューティングゲーム作ってるんですが、
連続した弾の出し方が分かりません。教えてください。
専門学校の先生には、配列を使えと言われたのですが、
よく分かりません。
今、作成している途中のソースコードを書きます。
void Shot(void)
{
省14
97(1): 2008/03/13(木)08:25 ID:3HHTp0zC(1/2) AAS
それだと一回ボタン押したら毎回100発の弾が重なって発射されるけど、それでいいの?
どうしたいの?
98(1): 96 2008/03/13(木)16:41 ID:xt6KljbL(1) AAS
>>97 さん
ある程度、間隔を置いて、発射させたいんですぅ。
毎回、100発の弾が重なるのは、耐え難い事実なんです。
99: 2008/03/13(木)22:54 ID:Bu/r75Um(1) AAS
大金を払い専門的な職業訓練を受けているはずの学生がこんなことすら自力で出来ない
「耐え難い事実」というならむしろこれw
100: 2008/03/13(木)23:13 ID:3HHTp0zC(2/2) AAS
>>98
60フレーム/秒でKeyCheckは毎フレーム呼ばれるの?
101: 2008/03/14(金)17:31 ID:46wpxx7U(1) AAS
>>96
if文の中の最後にbreak;入れると幸せになれるぞ
102(3): 2008/03/19(水)01:43 ID:bv/3obIk(1/2) AAS
適切なスレが見つからないのでここで質問させてください。
携帯電話アプリのシューティングを作っているのですが、
2D描画の処理を軽くする方法がわかりません。
個々のgifファイルを軽量化してみたりもしましたが、効果があるのかどうか分からないくらいです。
クリッピング領域を指定する方法もあるようですが、いまいちよく分かりません。
他に効果的な方法は無いものでしょうか。
103(1): 2008/03/19(水)09:04 ID:a6WC8gIo(1) AAS
>>102
画像の数を減らして、同じ画像を使いまわすとか、
1秒間あたりの描画回数(FPS)を減らすとか。
あとは、一画面に同時に出現するオブジェクトの数を減らすとか、
背景のスクロールをあきらめるとか、
あと、ベンチマークツールがあればそれを使って、
ボトルネックとなっている処理(メソッド/関数)を分析してみるとか。
104: 2008/03/19(水)11:15 ID:MFS90Jv9(1) AAS
>>102
プログラム実行中は結局ビットマップでメモリに保持させてるから効果がないと思うんだが…
予め画像のパレットを全て一緒の256色にしといてパレットを読み込ませないと。
105: 102 2008/03/19(水)14:33 ID:bv/3obIk(2/2) AAS
>>103
ありがとうございます。
>同じ画像を使いまわす
試してみようと思います。
これは一箇所に画像を読み込んでおいて、
その画像を使うオブジェクトが描画のたびにそこを参照するようにする、
ということで良いんでしょうか?
省8
106: 2008/05/16(金)17:34 ID:ciTJLGhI(1) AAS
大きな矩形の布地から、サイズの違う小さな矩形の布地を切り取る時、
余りの布面積が一番少なくなるよう、切り取る(小さな矩形を並べる)
アルゴリズムについて書かれた書籍、HP等をご存知でしたら、
教えて下さい。
よろしくお願いします。
107(1): 106 2008/05/19(月)13:08 ID:rhmqn4vd(1) AAS
↑この質問取り下げます。失礼しました。
108: 2008/05/19(月)14:26 ID:jyR28ttC(1) AAS
>>107
移動するなら移動先を書いてくれ。
実は調べたり考えたりしてたんだが最小公倍数の矩形で
バックトラックするという馬鹿な方法しか思いつかなかったんだ。
109: 2008/05/30(金)14:21 ID:Vu7kcDak(1/3) AAS
>>96
100個程度ならいいですけど配列でもいいかもしれないけど
双方向リストとかを使うようにしたほうがいいかも。c言語だし。
まあこの辺は後ほど。
でも配列を使えとかいう講師に双方向リストを実装して提出したら
うらまれそうw
unsigned int KeyShotFrmCnt = 0; //ショットキーのウェイト用カウンター
省14
110: 2008/05/30(金)14:23 ID:Vu7kcDak(2/3) AAS
うは、コピーしたらなんか辺になったorz
void KeyCheck(void)
{
if (KeyShotFrmCnt == 0)
{
if(GetAsyncKeyState(VK_SPACE)<0)
{
省7
111: 2008/05/30(金)14:28 ID:Vu7kcDak(3/3) AAS
2chってスペース空けるの面倒だなw
AAエディタとかで整形してるのか?
112: 2008/05/30(金)14:48 ID:tqfQ+S3S(1) AAS
つーか3月の質問にいまさら・・・
113(1): 2008/06/10(火)21:19 ID:8sGd3hVL(1/2) AAS
↓ポーカーで、誰が有利かを調べるプログラム作りたいんたけど
外部リンク[swf]:www.pokernews.com
いったいこれ、なにをどうやってこんなに高速に確率計算できるのか、まったくわからない
このプログラムは、近似値じゃなくて↓みたいなドローイングデッドもきっちり表示するし
画像リンク[png]:shanbara.jp
あらかじめ計算した結果をデータベースにでも叩き込んだのかと思ってるんだけど
それにしたって膨大すぎる
114: 2008/06/10(火)21:32 ID:8sGd3hVL(2/2) AAS
単純に全探索じゃなくて、なんか省略する方法があるんだろうが
上下前次1-新書関写板覧索設栞歴
あと 85 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.015s