2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

ゲームのアルゴリズムを教えて管sai

1 :名前は開発中のものです。:03/05/25 17:57 ID:UyCopla6.net
よろしく

2 :名前は開発中のものです。:03/05/25 18:16 ID:GLvB67yh.net
アルゴリズム体操スレッドです。

3 :名前は開発中のものです。:03/05/25 18:19 ID:tDt90+Ln.net
終了します。

4 :あぼーん:あぼーん.net
あぼーん

5 :名前は開発中のものです。:03/05/25 23:33 ID:r3p3T/F3.net
http://elife.fam.cx/



6 :あぼーん:あぼーん.net
あぼーん

7 :あぼーん:あぼーん.net
あぼーん

8 :あぼーん:あぼーん.net
あぼーん

9 :名前は開発中のものです。:03/05/26 17:42 ID:ICDDOsje.net
http://www.kenmon.net/

これってアリ?



10 :あぼーん:あぼーん.net
あぼーん

11 :bloom:03/05/26 19:12 ID:z/dia9ET.net
http://homepage.mac.com/ayaya16/

12 :あぼーん:あぼーん.net
あぼーん

13 :あぼーん:あぼーん.net
あぼーん

14 :名前は開発中のものです。:03/05/27 18:07 ID:9QqJMB3/.net
しょうがないなぁ、アルゴリズムを解説してやろう。何が聞きたい?

15 :名前は開発中のものです。:03/05/27 18:10 ID:C0Att5Eq.net
>>14
動的なネットワークを使ったニューラルネットについて教えて菅sai

16 :名前は開発中のものです。:03/05/27 18:18 ID:mP5Y0m2o.net
--------●○●別れさせ屋●復讐代行業務●○●----------

●騙された・裏切られた・弄ばれた・逃げられた・捨てられた・
相手に誠意が無い・異性問題・家庭内暴力・不倫疑惑解明・人間関係・金銭トラブル★
●  http://www.blacklist.jp/i 【ファイルにコピーして開いて下さい】
別離工作・情報収集・トラブル対策・ボディガ―ド・等々!
●真剣にお悩みの方、安心してご相談下さい。解決へ導きます★
□■各種データ・電話番号調査・住民票・戸籍謄本など調査■□
ジャンプしない場合にはファイルにURLをコピーして開いて下さい★☆★
●  http://www.blacklist.jp/i  ●別れさせ屋・特殊工作・調査全般
●  http://www.blacklist.jp/   ●復讐代行・人生相談・駆け込み寺
--------------------------
リンク⇒ http://okudaira.co.jp 殺人事件簿!!!●●●
●リンク広告主大募集・詳しくは復讐屋まで!!!


17 :名前は開発中のものです。:03/05/27 18:19 ID:mP5Y0m2o.net
--------●○●別れさせ屋●復讐代行業務●○●----------

●騙された・裏切られた・弄ばれた・逃げられた・捨てられた・
相手に誠意が無い・異性問題・家庭内暴力・不倫疑惑解明・人間関係・金銭トラブル★
●  http://www.blacklist.jp/i 【ファイルにコピーして開いて下さい】
別離工作・情報収集・トラブル対策・ボディガ―ド・等々!
●真剣にお悩みの方、安心してご相談下さい。解決へ導きます★
□■各種データ・電話番号調査・住民票・戸籍謄本など調査■□
ジャンプしない場合にはファイルにURLをコピーして開いて下さい★☆★
●  http://www.blacklist.jp/i  ●別れさせ屋・特殊工作・調査全般
●  http://www.blacklist.jp/   ●復讐代行・人生相談・駆け込み寺
--------------------------k
リンク⇒ http://okudaira.co.jp 殺人事件簿!!!●●●
●リンク広告主大募集・詳しくは復讐屋まで!!!


18 :あぼーん:あぼーん.net
あぼーん

19 :あぼーん:あぼーん.net
あぼーん

20 :あぼーん:あぼーん.net
あぼーん

21 :bloom:03/05/28 23:11 ID:0DkdaWUV.net
http://homepage.mac.com/ayaya16/

22 :あぼーん:あぼーん.net
あぼーん

23 :あぼーん:あぼーん.net
あぼーん

24 :あぼーん:あぼーん.net
あぼーん

25 :あぼーん:あぼーん.net
あぼーん

26 :動画直リン:03/05/30 17:12 ID:7vJSTHsa.net
http://homepage.mac.com/hitomi18/

27 :あぼーん:あぼーん.net
あぼーん

28 :あぼーん:あぼーん.net
あぼーん

29 :あぼーん:あぼーん.net
あぼーん

30 :あぼーん:あぼーん.net
あぼーん

31 :あぼーん:あぼーん.net
あぼーん

32 :あぼーん:あぼーん.net
あぼーん

33 :直リン:03/06/01 19:11 ID:HxFG+SP/.net
http://homepage.mac.com/yuuka20/

34 :名前は開発中のものです。:03/06/01 20:12 ID:iOOUHdXU.net
★オ○ンコは地球を救う★
http://yahooo.s2.x-beat.com/linkvp/linkvp.html

35 :あぼーん:あぼーん.net
あぼーん

36 :あぼーん:あぼーん.net
あぼーん

37 :YahooBB219001164144.bbtec.net:03/06/02 15:45 ID:+FileYkg.net
これは? http://.jp/staff/in.cgi?id=10528

38 :あぼーん:あぼーん.net
あぼーん

39 :名前は開発中のものです。:03/06/03 08:17 ID:4op8mUZv.net
http://homepage3.nifty.com/coco-nut/
キタ━━━━(゚∀゚)━━━━!!
http://www.k-514.com/

40 :あぼーん:あぼーん.net
あぼーん

41 :あぼーん:あぼーん.net
あぼーん

42 :あぼーん:あぼーん.net
あぼーん

43 :あぼーん:あぼーん.net
あぼーん

44 :あぼーん:あぼーん.net
あぼーん

45 :あぼーん:あぼーん.net
あぼーん

46 :あぼーん:あぼーん.net
あぼーん

47 :名前は開発中のものです。:03/06/06 12:30 ID:PTApivoG.net
現在、荒らしによってこの板の利用が困難になっているため、避難所を作成しています。
出来ればこちらに移動するのをお勧めします。

ゲ製作技術板(避難所)
http://bbs.gamdev.org/gamedev/

-------------専用ブラウザ(OpenJane)への登録方法-------------
板一覧ウィンドウのカテゴリのフォルダを右クリック→ここに板を追加


48 :あぼーん:あぼーん.net
あぼーん

49 :あぼーん:あぼーん.net
あぼーん

50 :あぼーん:あぼーん.net
あぼーん

51 :あぼーん:あぼーん.net
あぼーん

52 :あぼーん:あぼーん.net
あぼーん

53 :あぼーん:あぼーん.net
あぼーん

54 :名前は開発中のものです。:03/06/13 21:22 ID:NCwo/Gzi.net
みてね〜♪
http://www1.free-city.net/home/s-rf9/page003.html

55 :山崎 渉:03/08/15 08:34 ID:KFL+te0G.net
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン

56 :名前は開発中のものです。:04/07/03 19:23 ID:E3a3uuaW.net
漏れら極悪非道のage武田騎馬ブラザーズ!
ネタもないのにageてやるからな!
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧_ヘ      ∧_ヘ
  / \〇ノゝ    / \〇ノゝ age 
 /三/´∀`)∩ ∩/´∀`)  age
 (つ  丿    (   ⊂) age
  ( ヽノ      ヽ/  )   age
  し(_)      (_)J

57 :名前は開発中のものです。:2005/05/11(水) 09:55:39 ID:QbGDxSga.net
こんなスレッドまで来て、ゲームアルゴリズムを真剣に
学びたい人はいないとは、思うけど、

単純な2Dシューティング(インベーダー程度)なら
配列、探索アルゴリズム、リスト、構造体
テーブル化、ソートアルゴリズム、フラグ、画像転送、
矩形の当たり判定

アドベンチャーゲームなら
自作スクリプトの字句解析、構文解析(lac,lex)
簡単な暗号化、圧縮アルゴリズム、バイナリファイル操作
画像エフェクト系(拡大縮小回転、ワイプ、ラスタースクロール、
α値操作、他いろいろ)
が分かれば作れると思います。

たぶん。

58 :名前は開発中のものです。:2005/05/23(月) 00:26:42 ID:MvQZceoD.net


59 :名前は開発中のものです。:2005/06/14(火) 17:02:51 ID:9FWtswMc.net
だれか、2Dアクションゲームの、スクロールとキャラクタ・当たり判定の
管理について教えてくださいな。

60 :名前は開発中のものです。:2005/06/15(水) 15:58:31 ID:J79aeXl5.net
>>59
昔のゲームを逆アセンブルで解析してみて参考にするのは、どうだろう…

私は、解析したことがないので、どうなっているのか分かりませんが、
少し昔の2Dアクションゲーム(ロックマン、マリオ、魔界村、ソニック、スペランカー、etc)
のマップは、おそらく32×32ドット(24×24ドット)程度の大きさで区切られたマスの組み合わせで
表現されていると思われます。
それを、2次元配列でint Map[300][300]={ {0,0,0,1,0,1,…のように表して
0を当たり判定なし、0以外の値(1など)を当たり判定ありとすれば、マップデータは完成。

●そのマップデータを画面に表現するには、
sx,syをx,y方向別のスクロール管理変数
画面の解像度を320×240とすると

void DrawMap()
{
  int stx=sx/32;int edx=sx+320/32;
  int sty=sy/32;int edy=sy+240/32;
  for(int i=stx;i<edx;i++)
  {
   for(int j=sty;i<edy;j++)
   {
    DrawMapChip(map[i][j],i*32-sx,j*32-sy)
   }
  }
}


61 :名前は開発中のものです。:2005/06/15(水) 16:02:04 ID:J79aeXl5.net
●スクロールは、常にメインキャラクターを画面の中心に置いておきたい訳だから

void CalcScroll(int *sx,int *sy)
{
 *sx=mx-320/2;
 *sy=my-240/2;
 if (sx<0) sx=0;
 if (sy<0) sy=0;
 if (sx>32*200) sx=32*200;
 if (sy>32*200) sy=32*200;
}

だったかな…

ちなみにmx,myはメインキャラクターのx,y座標

62 :名前は開発中のものです。:2005/06/15(水) 16:54:50 ID:J79aeXl5.net
当たり判定は、いろいろな方法(ベクトル、三平方、色判定など)があるけども、
メインキャラクターが発射した弾と敵キャラとの当たり判定なら、単純に矩形(くけい)の
当たり判定で済みます。
●弾の座標を(ax,ay)、敵の座標を(bx,by)とした場合、
if(ax<bx2 && ax2>bx && ay<by2 && ay2>by)
{
  
}
で当たっているか、否かが分かります。

63 :名前は開発中のものです。:2005/06/15(水) 16:55:21 ID:J79aeXl5.net
●メインキャラクターとマップとの当たり判定は、
□x座標の移動処理の直後に
  //左上と左下
  if(Map[x/32][y/32]!=0 || Map[x/32,(y+height)/32]!=0)
  {
   x=(x/32+1)*32;
  }
  //右上と右下
  if(Map[(x+width)/32,y/32]!=0 || Map[(x+width)/32,(y+height)/32]!=0)
  {
   x=(x/32)*32;
  }

□y座標の移動処理の直後に
  //左上と右上
  If(Map[x/32,y/32]!=0 || Map[(x+31)/32,y/32]!=0)
  {
   y=(y/32+1)*32;
  }
  //左下と右下
  If(Map[x/32,(y+31)/32]!=0 || Map[(x+31)/32,(y+31)/32)!=0
  {
   y=(y/32)*32;
  }

とやればできます。どうしてそうなるのかは、
計算式を参考に図を書いてみれば分かると思います。

64 :名前は開発中のものです。:2005/06/16(木) 05:05:48 ID:3Ela4Sa6.net
俺も昔Javascriptで同じようなの作ったことあります。
肝心のゲームは流行らなかったけど。IE対応型RPGゲームね。

閑話休題、質問です。
SLGの六角型HEX画面ってどうやってるの?
テーブルで組んでいくと非効率的だし、実際のアルゴリズムも
かなり無駄な処理が入ってるのでしょうか?

65 :名前は開発中のものです。:2005/06/16(木) 11:32:14 ID:jcj8vG3U.net
>>64 リストで組んでみては?


66 :名前は開発中のものです。:2005/06/17(金) 22:36:37 ID:L6bXNRcs.net
>>64
普通の2次元配列を用意すると、任意の要素の周辺には8個の要素があるが、
そのうち2個削れば6個になる。
横並びのHEXの場合、削り方には
・右上と右下
・左上と左下
の2通りあるが、行の隅・奇で決めればよい。

但し、このアドレス計算のオーバーヘッドが無視できない場合、
>>65の言うようにリスト構造か、[6方位][各セル]分の配列を
あらかじめ作ってしまう方法も検討するとよい。


67 :名前は開発中のものです。:2005/06/18(土) 22:38:32 ID:FcEi37Wc.net
>65-66
d

話が前後するけど移動に関しては↓の「2.マップ移動システム」みたいな
話もある。構造が明快ではなくなるけどXY式より処理は少なくなる。
ttp://members.jcom.home.ne.jp/masimaro/cgi/index.html

横軸分引けば下移動、足せば上移動だから、アクションでも使えるん
じゃないかな?

68 :名前は開発中のものです。:2005/12/22(木) 22:39:36 ID:W7fzD8KK.net
>>60-63が参考になった。

69 :名前は開発中のものです。:2005/12/24(土) 08:14:37 ID:mHMu6n/Z.net
斜めになっている地面、斜めになっている天井とプレイヤーとの当り判定ってどーゆーふうにしたらいいんですかね?
地面は何とかなりそうなんですが天井の方がよくわかりません。

70 :名前は開発中のものです。:2007/01/27(土) 00:39:30 ID:MBdcNsZ6.net


71 :名前は開発中のものです。:2007/02/16(金) 14:29:39 ID:SVucWmYy.net
age

72 :名前は開発中のものです。:2007/02/18(日) 16:29:45 ID:Y8Ki4rPj.net
某板よりコピペ
多数のオブジェクトの衝突判定を並列化する方法


移動後の座標をボクセルに振り分ける。
1つのボクセル内に存在するキャラを総当たりで衝突判定。

処理の順序としては、移動、振り分け、衝突判定、衝突処理。
これで処理を並列化できる。

もう少し詳しく言えば、衝突判定をしやすくするために、
ボクセルに振り分ける時点で座標値などをボクセルごとの一時バッファに複製しておく。
これにより巨大なバッファをLSにロードする必要がなくなる。

衝突の連鎖については次フレームに回す。それで結果的には再帰処理になる。

普通は移動後に振り分けるというより
ボクセル内のオブジェクトを管理するバッファを常設しておいて
移動でボクセル外に出たときだけバッファの更新をするでしょ。


73 :名前は開発中のものです。:2007/02/24(土) 16:15:49 ID:LTRE8EdM.net
>>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はキャラの足の座標。
 画面は640*480を想定。
・小さい矩形に分ける方法
 天井も地面も小さい矩形がたくさん集まったものだと考え、それぞれの矩形と
 の当たり判定を行う。壁(当たり判定がある地形)があるシューティングとかは
 これでやってるはず。
 これなら坂はまっすぐでなくてもかまわない。
・色で判定する方法
 たとえば壁(当たり判定がある地形)は黄色で描くものと決める。atamax,atamay
 の座標の色を読み黄色なら当たり。RGBのRが128以上なら壁とかでもいい
 (言語による)。描画処理と当たり判定の順序に気をつける必要がある。地形
 を描いて、キャラを描く前に当たり判定を行う。あるいは地形だけ仮想画面に
 描くか。
・矩形との当たり判定
 天井をたとえば10度傾いた矩形と考える。この矩形をAとする。Aの中心点
 を中心として−10度回転させた矩形をBとする。同じように点(atamax,atamay)
 を回転させた架空の点の座標を(kakuux,kakuuy)とする。
 あとは普通に傾いてない矩形の当たり判定(Bと(kakuux,kakuuy)の当たり判定)
 を行うだけ。足と地面も同様。サイン、コサイン、アークタンジェントが分かれば
 できる。

74 :名前は開発中のものです。:2007/04/05(木) 02:54:03 ID:UIV+9920.net
AGE

75 :名前は開発中のものです。:2007/04/05(木) 03:08:36 ID:tWT0PUr7.net
ビリヤードの玉のように、円形のオブジェクトが
同じ円形のオブジェクトに当たって弾き飛ばすような
移動の仕方って、どうすればいいんでしょうか?

76 :名前は開発中のものです。:2007/08/27(月) 20:25:07 ID:bCl/miWp.net
http://www.nicovideo.jp/watch/sm429172

77 :名前は開発中のものです。:2007/08/28(火) 00:03:05 ID:8moxEFVA.net
>>75
衝突距離が出しやすいから矩形よりも簡単だったりする。
接線での水平成分、垂直成分それぞれの速度の変換を行う。高校数学(三角関数)と物理なんだが。
食い込んだ分の補正をするとなお良し。

78 :名前は開発中のものです。:2007/08/28(火) 01:13:44 ID:oeJOJ4t+.net
死後4ヶ月以上経過した75の白骨死体を発見

79 :名前は開発中のものです。:2007/09/07(金) 13:37:40 ID:5sK/fkD5.net
角度を付けた移動ってどうやるんですか?45度だったら
x=x+45
y=y+45
でいいんですか?

80 :名前は開発中のものです。:2007/09/07(金) 13:39:49 ID:H8DGQcSX.net
>>79
なんじゃいそりゃ

81 :名前は開発中のものです。:2007/09/07(金) 14:08:12 ID:ODKwq4Ib.net
高校の(今は中学か?)教科書嫁

というのはなんなのでヒントだけ

x = x + v * cos(angle)
y = y + v * sin(angle)

82 :名前は開発中のものです。:2007/09/07(金) 14:22:42 ID:puv664XK.net
>>79

これは酷いww
ワラタ

釣りだろ

83 :名前は開発中のものです。:2007/09/07(金) 23:45:15 ID:ZuhXBmED.net
せめて足すんぢゃなくてXょうゃ…
75は角度なんでそのまま使ったらヤバいょうな気がする;
角度たら360°ダロ?
75÷360ぽくね!?
少数点だし…ナンカ上手く曲がりソウぢゃん!?

こんな感じでゲームを創ってたアノ頃………
(涙)


84 :名前は開発中のものです。:2007/09/08(土) 13:11:56 ID:ZvPWIcCC.net
まぁいろいろトライするのが思い出になるんだよな。

85 :名前は開発中のものです。:2007/09/08(土) 13:34:41 ID:x0k7gG8Z.net
Deg と Rad を知らなかったあの頃

86 :名前は開発中のものです。:2007/09/12(水) 20:10:03 ID:u002ijju.net
>>79
#define RAD 3.14159/180
って定義しておいて、

x+=cos(45*RAD)*speed;
y-=sin(45*RAD)*speed;

でいけると思うよ。


87 :名前は開発中のものです。:2007/11/18(日) 11:26:33 ID:kpbdlgGK.net
質問させて下さい。
ユーザーに手書きで図形を書かせ、
それが丸なのか四角形なのか三角形なのかを判別したいのですが
どのようなアルゴリズムが考えられますでしょうか?

88 :名前は開発中のものです。:2007/11/18(日) 11:37:26 ID:RmDGoqPy.net
ふたつかんがえた。もちろん使ったことはない。
・描画速度の変化をみる
(角を描くときに速度が落ちるので、2回落ち込むと三角形とか)
・描かれた線の接線のむきの分布みる
(三方向にピークが出ると三角形、とか)


89 :名前は開発中のものです。:2007/11/18(日) 21:55:34 ID:VoyUbEfi.net
・グリッドを作って通過するポイントで判定(文字認識?)
・マウスの移動方向をxyの変化量で8つに分ける(マウスジェスチャ?)
俺も作ろっと

90 :名前は開発中のものです。:2007/11/25(日) 15:24:43 ID:DZ368X4a.net
NN

91 :名前は開発中のものです。:2008/02/11(月) 21:08:51 ID:3BJFJrZO.net
縦スクロールシューティングゲームを作ってるんですが、
敵の出現のやり方がいまいち分かりません。
今までは、マップを描画したときに、
敵の情報があったら、同時に表示して、その敵の情報を削除
してました。
何か、いいアルゴリズムがありましたら、教えてください。

92 :名前は開発中のものです。:2008/02/12(火) 07:56:35 ID:qFBBafcB.net
#define MAX_X 20
typedef struct _Map{
  int ShowX;
  int ShowY;
  int Type;
  int Hp;
  int X;
  int Y;
}_Map;
_Map Map[MAX_X][500];
void ShowEnemy(int ScY,MapChip Map)
{
  for(i=0;i<MAX_X;i++)
  {
    if(ScrollY==Map[i][ScrollY/16].ShowY)
    {
      switch(Map[i][Scroll/16].EnemyNuber)
      {
        case 1:
          CreateEnemy(i*16-ScrollX,0,1,3);
          break;
        case 2:
          CreateEnemy(i*16-ScrollX,0,2,5);
          break;
        …
        default:
          break;
      }
    }
  }
}

93 :名前は開発中のものです。:2008/02/12(火) 08:03:29 ID:qFBBafcB.net
ちなみに、CreateEnemyの引数は、X座標、Y座標、敵番号、耐久力だ。

94 :名前は開発中のものです。:2008/02/12(火) 11:55:40 ID:5WyTfMV5.net
 

95 :名前は開発中のものです。:2008/02/18(月) 23:07:10 ID:YtDwWNhg.net
>91
発生する時刻と座標のテーブル持ってればいいんじゃないの?


96 :名前は開発中のものです。:2008/03/12(水) 21:02:38 ID:K0/YrLVn.net
今、C言語でシューティングゲーム作ってるんですが、
連続した弾の出し方が分かりません。教えてください。
専門学校の先生には、配列を使えと言われたのですが、
よく分かりません。

今、作成している途中のソースコードを書きます。

void Shot(void)
{
  for(i=0;i<100;i++)
  {
    if(Bullet[i].flag == 0 && Bullet[i].type == 0)
    {
      Bullet[i].flag = 1 ;
      Bullet[i].x = (Jiki.x+Jiki.x+Jiki.width) / 2 ;
      Bullet[i].y = Jiki.y ;
    }
  }
}

void KeyCheck(void)
{
  if(GetAsyncKeyState(VK_SPACE)<0){ Shot(); }
}

97 :名前は開発中のものです。:2008/03/13(木) 08:25:57 ID:3HHTp0zC.net
それだと一回ボタン押したら毎回100発の弾が重なって発射されるけど、それでいいの?
どうしたいの?

98 :96:2008/03/13(木) 16:41:36 ID:xt6KljbL.net
>>97 さん
ある程度、間隔を置いて、発射させたいんですぅ。
毎回、100発の弾が重なるのは、耐え難い事実なんです。

99 :名前は開発中のものです。:2008/03/13(木) 22:54:45 ID:Bu/r75Um.net
大金を払い専門的な職業訓練を受けているはずの学生がこんなことすら自力で出来ない
「耐え難い事実」というならむしろこれw

100 :名前は開発中のものです。:2008/03/13(木) 23:13:35 ID:3HHTp0zC.net
>>98
60フレーム/秒でKeyCheckは毎フレーム呼ばれるの?

101 :名前は開発中のものです。:2008/03/14(金) 17:31:51 ID:46wpxx7U.net
>>96
if文の中の最後にbreak;入れると幸せになれるぞ

102 :名前は開発中のものです。:2008/03/19(水) 01:43:05 ID:bv/3obIk.net
適切なスレが見つからないのでここで質問させてください。
携帯電話アプリのシューティングを作っているのですが、
2D描画の処理を軽くする方法がわかりません。
個々のgifファイルを軽量化してみたりもしましたが、効果があるのかどうか分からないくらいです。
クリッピング領域を指定する方法もあるようですが、いまいちよく分かりません。
他に効果的な方法は無いものでしょうか。

103 :名前は開発中のものです。:2008/03/19(水) 09:04:08 ID:a6WC8gIo.net
>>102
画像の数を減らして、同じ画像を使いまわすとか、
1秒間あたりの描画回数(FPS)を減らすとか。
あとは、一画面に同時に出現するオブジェクトの数を減らすとか、
背景のスクロールをあきらめるとか、

あと、ベンチマークツールがあればそれを使って、
ボトルネックとなっている処理(メソッド/関数)を分析してみるとか。


104 :名前は開発中のものです。:2008/03/19(水) 11:15:27 ID:MFS90Jv9.net
>>102
プログラム実行中は結局ビットマップでメモリに保持させてるから効果がないと思うんだが…
予め画像のパレットを全て一緒の256色にしといてパレットを読み込ませないと。

105 :102:2008/03/19(水) 14:33:54 ID:bv/3obIk.net
>>103
ありがとうございます。
>同じ画像を使いまわす
試してみようと思います。
これは一箇所に画像を読み込んでおいて、
その画像を使うオブジェクトが描画のたびにそこを参照するようにする、
ということで良いんでしょうか?
他のは、ゲームのバランス調整と平行して考えてみます。

>>102
すいません。そういうことに理解が無いもので・・・。
>予め画像のパレットを全て一緒の256色にしといてパレットを読み込ませないと。
これは良く使われる手法なのでしょうか?
それともgifファイルの軽量化に意味を持たせるための方法なのでしょうか?
どういう風に実装すれば良いのかさっぱり分からないので、後者なら諦めます・・・。
ありがとうございました。

106 :名前は開発中のものです。:2008/05/16(金) 17:34:25 ID:ciTJLGhI.net
大きな矩形の布地から、サイズの違う小さな矩形の布地を切り取る時、
余りの布面積が一番少なくなるよう、切り取る(小さな矩形を並べる)
アルゴリズムについて書かれた書籍、HP等をご存知でしたら、
教えて下さい。

よろしくお願いします。


107 :106:2008/05/19(月) 13:08:26 ID:rhmqn4vd.net
↑この質問取り下げます。失礼しました。


108 :名前は開発中のものです。:2008/05/19(月) 14:26:06 ID:jyR28ttC.net
>>107
移動するなら移動先を書いてくれ。

実は調べたり考えたりしてたんだが最小公倍数の矩形で
バックトラックするという馬鹿な方法しか思いつかなかったんだ。

109 :名前は開発中のものです。:2008/05/30(金) 14:21:38 ID:Vu7kcDak.net
>>96
100個程度ならいいですけど配列でもいいかもしれないけど
双方向リストとかを使うようにしたほうがいいかも。c言語だし。
まあこの辺は後ほど。
でも配列を使えとかいう講師に双方向リストを実装して提出したら
うらまれそうw

unsigned int KeyShotFrmCnt = 0; //ショットキーのウェイト用カウンター
↑これはソースの頭のほうに書いてね。

void KeyCheck(void)
{
??if (KeyShotFrmCnt == 0)
??{
???if(GetAsyncKeyState(VK_SPACE)<0)
???{
????Shot();
????(KeyShotFrmCnt = 10;
???}
??} else {
???--KeyShotFrmCnt;
??}
}

110 :名前は開発中のものです。:2008/05/30(金) 14:23:33 ID:Vu7kcDak.net
うは、コピーしたらなんか辺になったorz
void KeyCheck(void)
{
if (KeyShotFrmCnt == 0)
{
if(GetAsyncKeyState(VK_SPACE)<0)
{
Shot();
KeyShotFrmCnt = 10;
}
} else {
--KeyShotFrmCnt;
}
}

111 :名前は開発中のものです。:2008/05/30(金) 14:28:56 ID:Vu7kcDak.net
2chってスペース空けるの面倒だなw

AAエディタとかで整形してるのか?

112 :名前は開発中のものです。:2008/05/30(金) 14:48:17 ID:tqfQ+S3S.net
つーか3月の質問にいまさら・・・



113 :名前は開発中のものです。:2008/06/10(火) 21:19:46 ID:8sGd3hVL.net
↓ポーカーで、誰が有利かを調べるプログラム作りたいんたけど
http://www.pokernews.com/swf/odd_calc_full-v1.1.3.swf

いったいこれ、なにをどうやってこんなに高速に確率計算できるのか、まったくわからない
このプログラムは、近似値じゃなくて↓みたいなドローイングデッドもきっちり表示するし
http://shanbara.jp/gamble/data/zero.png

あらかじめ計算した結果をデータベースにでも叩き込んだのかと思ってるんだけど
それにしたって膨大すぎる

114 :名前は開発中のものです。:2008/06/10(火) 21:32:41 ID:8sGd3hVL.net
単純に全探索じゃなくて、なんか省略する方法があるんだろうが

115 :名前は開発中のものです。:2008/06/12(木) 13:22:11 ID:trmQ6Ydr.net
誰かクイックソートが挿入法よりなぜ早いのか教えてくれ

クイックソートのほうがめんどくさそうなのに最速とか理解できん・・・

116 :名前は開発中のものです。:2008/06/12(木) 15:21:52 ID:gQmHVY6Z.net
>>113
そのswfをローカルに落として実行してみたら

Odds calculator failed to get data from server.

ってエラーメッセージが出たから、
確立計算専用の外部プログラムを呼び出してるっぽい。

117 :名前は開発中のものです。:2008/06/12(木) 15:58:03 ID:gZtmjAve.net
>>115
全部のソートにN*Nの時間がかかるとする。
これを、半分に分けてソートして、足し合わせるとすれば、かかる時間は
(N/2)*(N/2) + (N/2)*(N/2)
= N*N/4 + N*N/4
= N*N/2

N*N > N*N/2

・・・とおもったらクイックソートって2分割って訳じゃないのね?て事で、
分割を、(1/x),(1/y)とする。ただし(1/x)+(1/y) = 1
1 = 1*1 = (x+y)/xy = (xx + 2xy + yy)/xxyy
分割したものをソートして、足し合わせる時間は
(N/x)*(N/x) + (N/y)(N/y)
= N*N/x*x + N*N/y*y
= (yyNN + xxNN) / xxyy
= NN(xx + yy)/xxyy
(xx + yy)/xxyy = (xx + 2xy +yy)/xxyy - 2xy/xxyy = 1 - 2xy/xxyy
ゆえに、NN > NN(xx + yy)/xxyy

こんなんでどうだろうか。というか、この証明あってるんだろうか。

118 :名前は開発中のものです。:2008/06/12(木) 16:38:08 ID:VjP0i/a5.net
データ数によるんだよね。 少ないデータならどれでも変わらん

119 :名前は開発中のものです。:2008/06/15(日) 19:58:45 ID:f+c3BIE0.net
シューティングゲーム作っているのですが、
私の数学力のなさか、敵の動きが、直線と円を描くものしか作れません

どうやったら、アーケードにあるような あたかも敵が思考を持っているような動きが
実現できるのでしょうか?

120 :名前は開発中のものです。:2008/06/15(日) 21:16:54 ID:n3ZqdSRd.net
>>119
敵の動きのカタログ的なものが欲しいなら……。

シューティングゲーム プログラミング ¥ 2,940 (税込)
松浦 健一郎 (著), 司 ゆき (著)
http://www.amazon.co.jp/dp/4797337214

121 :119:2008/06/15(日) 23:38:35 ID:f+c3BIE0.net
そうではなく、どのようにして さまざまな動きを実現しているのか? その方法を知りたいわけです。

私の敵を動かす情報は 初速度、速度、角度、時間、加速度で管理しているので、直線と円のみになってしまうのです。

そこで、微妙に、プレイヤーのいる方向に向かってきたりする方法は、どのような情報で管理しているのかを
知りたいのです。

私の方法でも角度を細かく設定すれば、ある程度 色々な動きは実現できるのですが、
もっとスマートな方法はないかと思い質問したまでです。

122 :名前は開発中のものです。:2008/06/15(日) 23:40:21 ID:re3KC7mv.net
二つの点座標が解れば、角度が求まるのでは?

123 :名前は開発中のものです。:2008/06/15(日) 23:46:14 ID:L9WqTsHd.net
アークタンジェントを理解すればいいとおもうよ

124 :名前は開発中のものです。:2008/06/15(日) 23:47:36 ID:L9WqTsHd.net
http://www.tkb-soft.hmcbest.com/program/directx/game/game_11.htm
具体的にはこのへんで。

125 :119:2008/06/16(月) 00:19:31 ID:VJeuSd2d.net
う〜ん、ちょっと違って
人工知能で解決できるのではないかと思うのですが、
人工知能に関する知識がないので、作れないのですが、
オススメの入門書などないでしょうか?

126 :名前は開発中のものです。:2008/06/16(月) 00:31:02 ID:4SfMqdzY.net
>>125
現在位置ベクトル
現在速度ベクトル
目標位置ベクトル
目標位置での速度ベクトル
この条件を満たす加速度ベクトルの時系列を求めればいいんだよね。
でもゲームだから時系列を事前に求める必要はなくて
毎フレームごとに計算するから状態マシンでいけるよ。
2Dシューティングなら普通そうだと思う。

本格的にやるなら確率過程勉強するとおもしろいよ。
実際の迎撃ミサイルがどのように制御されてるか理解できる。

127 :名前は開発中のものです。:2008/06/16(月) 00:51:35 ID:Mj4LPxSD.net
敵の動きが実際にはどういうふうに実装されてるのかを知りたいなら、
>>120みたいな作り方の本が一番実践的だと思うけどなぁ。敵の動きのサンプルもあるだろうし。
STGは本格的に作ったことはないが、普通敵の動きに人工知能なんて使わないんじゃない?
俺だったら毎フレーム状態遷移を計算して、行動を決定するような実装にすると思う。

リアル迎撃ミサイルの精度で敵が弾を撃ってくるSTGとか、やってみたいがストレスがたまりそうだなw

128 :名前は開発中のものです。:2008/06/16(月) 01:04:13 ID:VJeuSd2d.net
Cマガが廃刊になって以来、こういった系統の本で当たりだった試しがない
浅く、レベルも低く、よくこんな本だせたな という本だらけ
立ち読みできないから なおさらタチが悪い

まぁ、状態遷移図で検討します

129 :名前は開発中のものです。:2008/06/16(月) 01:41:50 ID:BvIxc5ty.net
>>125
この手のアルゴリズムは、たぶん正解みたいなものはなくて、
プログラマーのセンスによるんだと思う。
ゲームプログラマーが技術力だけじゃなく、センスを活かせる局面なので、
いろいろ試して自分なりのノウハウを蓄積するのがいいと思う。

ちなみに、この手の処理は、パラメータによる差別化だけじゃなくて、
ちゃんとそれぞれの動きに対して別のコードを書いたほうがいいよ。

130 :名前は開発中のものです。:2008/06/23(月) 18:42:29 ID:gkCzmYeJ.net
シューティングゲームを作っています。
2次元配列に初期化された敵のデータがあります。
int EnemyMap[25][300]=
{
{0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0},
{0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0},
{0,0,0,0,0, 0,1,0,1,0, 0,0,0,・・・
}}
0が無しで、0以上が敵在りで、敵の番号です。
このような場合の敵の出現方法を教えて下さい。
ちなみに縦スクロールSTGです。お願いします。

131 :130:2008/06/23(月) 19:48:54 ID:gkCzmYeJ.net
0が無しで、0より上が敵在りで、敵の番号です
の間違いでした。

132 :名前は開発中のものです。:2008/06/23(月) 20:25:54 ID:leAIdu27.net
テキトーに推測しながら……

時間経過をターンとする、
25マス(?)のデータが300ターンぶんあるのを表すのなら
int EnemyMap[300][25]
ではないか

gameturn を例えば10フレームごとに +1 し、

{
int i;
for(i=0;i<25;i++)
{
int enemyidx;
enemyidx = EnemyMap[gameturn][i];
if(enemyidx != 0) {addenemy(enemyidx, i);}
}
}

133 :名前は開発中のものです。:2008/06/23(月) 20:30:20 ID:cIfICiuE.net
>>130

int COLUMN = 25;
int ROW = 300;
int EnemyMap[COLUMN][ROW] = { {0,0,.....
int rowNOW = 0;

while(1)
{
  /* 画面描画とか、敵機、自機の移動とか*/

  //ここから敵の配置
  for ( int x = 0; x < COLUMN; x++ ) {
    敵を出現させる関数( EnemyMap[x][rowNow], x, 0 );
  }

  rowNOW++;
}

void 敵を出現させる関数( int enemyType, int x, int y )
{
  switch ( enemyType ) {
    case 1: { 敵1登場(x,y); break; }
    case 2: { 敵2登場(x,y); break; }
    case 3: { 敵3登場(x,y); break; }
    case 4: { 敵4登場(x,y); break; }
    case 5: { 敵5登場(x,y); break; }
    ...
  }
}

うーん、我ながらほれぼれするなあ。

134 :名前は開発中のものです。:2008/06/23(月) 20:34:44 ID:cIfICiuE.net
>>133

    case 0: { break; /* 敵は登場しない */ }

を追加(汗)


135 :名前は開発中のものです。:2008/06/23(月) 21:56:44 ID:SqRC+pBQ.net
そのデータ構造の欠点は
  ・敵がいてもいなくても同じだけの容量が必要
  ・同じ時間に敵は1機しか出現できない

あ、ひょっとして勘違いでこの25っていうのは画面の幅のことなのか!?
25x300のマップを表現してるとか

136 :名前は開発中のものです。:2008/06/23(月) 23:17:25 ID:cIfICiuE.net
25って画面の幅だと信じてました。

137 :名前は開発中のものです。:2008/06/24(火) 03:55:28 ID:KKsizlIf.net
敵が画面横や画面中央から出現するような処理はできないな。

138 :名前は開発中のものです。:2008/06/24(火) 09:03:16 ID:dfjKfTQO.net
for(i=0;i<25;i++)
{
    if( ScrollY == (ScrollY / 32) * 32 )
    {
      Enemy_temp = StageMap2[i + ( ScrollY / 32 ) * 25 ];
      if( Enemy_temp > 0)
      {
        ShowEnemy( i * 32 , -32 , Enemy_temp , 3 );
      }
    }
}
でいいんでないの?

139 :名前は開発中のものです。:2008/06/24(火) 09:57:42 ID:r5s8lMOb.net
俺だったらテキストデータで
E:idx:xpos:ypos:flag
みたいなのを一行づつ読むのを作る、というか実際そうした。
E:1:32:-16
E:1:32:-24
W:30
E:2:64:-16
だったら種類1の敵をx=32 y = -16 と y = -24 に出現さして、30フレーム待って、x=64に敵出現
ゼビウスみたいに背景と連動するにはまた違ったやり方がいいだろうけど

140 :名前は開発中のものです。:2008/06/25(水) 01:36:50 ID:kmQquf20.net
俺も絶対的な配置より、>>139みたいな相対的な配置のほうが好きだな。
後々編隊の出現時刻を変えるときとか、相対時間を調整するだけですむ。
enemy命令、wait命令とか。
作り方はシューティングゲームプログラミングって本に載ってる。
あまりきれいなコードじゃないから余裕があるなら自分で組みなおした方がいいと思うが。





141 :名前は開発中のものです。:2008/07/06(日) 07:44:15 ID:wmyMOr1K.net
ttp://www.borndigital.co.jp/book/program/4-86246-015-1/index.html

GPGを購入しようと思ってるのですが 1〜5まであって
最新の5を購入しようと思っています 無理して1〜4まで全部買う必要はありませんか?

142 :sai:2008/11/02(日) 12:31:11 ID:nTsQz3KG.net
Xi[sai]DXの自動解答ツールでも作ってくれ。
総当り的に解答できるものなのか・・・

143 :名前は開発中のものです。:2008/11/02(日) 18:03:02 ID:4nEQs4Qs.net
>>141
バカカシネヨってぐらい高いよなこのシリーズ

144 :名前は開発中のものです。:2008/11/03(月) 01:37:29 ID:NKIveKH+.net
>>141
GPGは最新刊から買う物だよ。

145 :名前は開発中のものです。:2008/11/17(月) 23:19:42 ID:e6FlExMV.net
>>141
1,2以外はmmo用だよ

146 :名前は開発中のものです。:2008/11/21(金) 02:41:33 ID:EpPTVUTk.net
初期のGPGのほうがおもしろかったよな

147 :名前は開発中のものです。:2009/02/13(金) 16:28:05 ID:4Bf2H9la.net
まんまスペースハリアーみたいな疑似3Dシューティングゲームを作ってみようと思うのですが
あの手のゲームは絵や映像の技法で言うところの「一点透視法」な画面だと思うのですが
その考えで行くと自キャラが撃つ弾は全て画面中央の一点に向かってしまう事になってしまいます(リアルに考えるとそれで正しい)
スペハリや亜流はその辺をどうやってそれっぽくフェイクしているのでしょうか?

148 :名前は開発中のものです。:2009/02/13(金) 20:36:46 ID:sIJuqaxe.net
やっぱそんなもんか、俺もGEM2までしかもっていない

149 :名前は開発中のものです。:2009/02/14(土) 13:48:41 ID:YNh7Hq3A.net
よくわからないけど、画面表示の向きと、画面上の自機の向きをバラバラに考えて、上下左右移動時は時機の向きがそれぞれの方向に慣性付きで移動するようにして、その方向に弾がでるようにすればいいんじゃない?

150 :名前は開発中のものです。:2009/02/17(火) 17:38:25 ID:R5C7BuD2.net
>>147
まず、一点に集中しちゃうのは平行線だけだぜ

よしんば自機の弾が平行にしか撃てないとしても、集中するのは無限遠点だ
ゲーム時間中に到達するのかい

151 :名前は開発中のものです。:2009/02/17(火) 23:44:47 ID:DsZEWqSe.net
ゲーム画面中の10km先と無限の先は何ドットずれるんだい?

152 :名前は開発中のものです。:2009/02/21(土) 00:00:04 ID:T1jozkkK.net
crysisの四脚の敵とか
モンハンのシェンガオレンみたいのってどうやって作るんでしょう?
アニメーションさせれば平の地面を歩く程度はできると思うんですが
凹凸の地面を歩かせたりするにはプログラムからボーンを調整したりするんでしょうか?




153 :名前は開発中のものです。:2009/02/21(土) 00:33:55 ID:HdiuLFdj.net
モンハンってそもそも平面だけじゃね?


154 :名前は開発中のものです。:2009/02/21(土) 10:29:20 ID:ps9IGcWP.net
IK

155 :名前は開発中のものです。:2009/02/21(土) 17:45:04 ID:T1jozkkK.net
いや、モンハンは分かりやすいかな?程度で出しただけなんで。
IKでやるのは理解してるんですが、
ボーンと地面の判定→先端ボーンの位置を指定→IKで根元までって感じなのでしょうか?

・・・今思うとDirectXの話な気がしなくもない。

156 :名前は開発中のものです。:2009/02/21(土) 18:03:55 ID:o5qjQnQj.net
自分が理解できない事は全てDirectXが解決してくれる病ですね

157 :名前は開発中のものです。:2009/02/22(日) 05:51:07 ID:FuoG8Da9.net
知らないのが幸せって事ですね、わかります。

158 :名前は開発中のものです。:2009/02/22(日) 12:50:23 ID:OjD42APz.net
モンハン並みのものを作れないおまえら雑魚すぎるwww

159 :名前は開発中のものです。:2009/02/26(木) 02:31:56 ID:aQvkhPES.net
地面の高さに、モデル空間の座標を合わせるだけだと思うが

それとも、実行時にモデルアニメの計算をするのか
そんな事しないだろう




160 :名前は開発中のものです。:2010/03/22(月) 01:51:39 ID:6l2lJBs0.net
広大なマップを動き回るシミュレーションみたいなのを考えてて
とりあえずA*というアルゴリズムで2048x2048のマップで
1ドット単位で移動可能としてやってみたら遅くてとても実用的じゃないと判明した
もっと早い方法はあのかな?
マップを小さくしろってのは無しでお願いしますよ
考えてるゲームがマップの広さを利用したものなんで

161 :名前は開発中のものです。:2010/03/22(月) 12:37:52 ID:G/I6jmFX.net
なんで教えてもらうのに上から目線なんだ

162 :名前は開発中のものです。:2010/03/22(月) 18:41:43 ID:BThWkd2X.net
GameProgrammingGemsあたりにあったような気もする。
俺は買ってないけど。高くて。

163 :160:2010/03/22(月) 21:39:10 ID:6l2lJBs0.net
調べてたらいろいろやり方はあるみたいだ
ちょっといいアイデアを思いついたんで今実験中

164 :160:2010/03/26(金) 06:17:01 ID:+4Bq9SSB.net
あれからいろいろ実験して完全オリジナルのアルゴリズムを考えてやってみた
2048x2048の1ドット単位移動マップで端から端あたりまでの検索の1秒も掛からなくなった
A*を継承してるんで検索漏れはないはず
なにげにすごい発明をしたのかも

165 :名前は開発中のものです。:2010/04/01(木) 13:36:00 ID:WfqKvexS.net
>>160
オライリーのAIの本のページにサンプルコードがあったはず、探してみな

166 :165:2010/04/01(木) 13:38:08 ID:WfqKvexS.net
>>160
みつけてきたぞ
O'Reilly Japan - 実例で学ぶゲームAIプログラミング
http://www.oreilly.co.jp/books/9784873113395/

これの関連ファイルにソースコードとサンプルの実行ファイル入ってる

167 :名前は開発中のものです。:2011/01/26(水) 00:07:21 ID:+BkN1N82.net
ドカポンなどの双六式のゲームで、「おまかせ」というモードがありますよね?
でた目の数で丁度いけるマスを自動検索してくれるというものなんですが、
あれのアルゴリズム分かる方いますか?言語はなんでもかまいませんので
教えていただけないでしょうか。

168 :名前は開発中のものです。:2011/01/26(水) 10:00:10 ID:xvFFQPkH.net
マップが分岐なし一方通行なら一次元配列で出目を足せばいい。
分岐がたくさんあるなら、マップを二次元配列にするとして、
「ゲーム シミュレーション 移動範囲」を検索し応用。

169 :名前は開発中のものです。:2011/02/01(火) 23:17:29 ID:lxouVGdC.net
>>168
SRPGの移動範囲みたいなのはわかるんですが、双六だと途中の経路にループがあったり、
飛ばせるマスがあったりしてそこを含めて出目に丁度合うように移動可能か判定するには
どうすればいいか、そこが今ひとつわからないんです。

170 :名前は開発中のものです。:2011/02/03(木) 11:10:31 ID:fi6n2hpv.net
それは簡単。印をつけてループしなくさせればいい
たしか移動歩数的なものを記録すればよかったんじゃない

171 :名前は開発中のものです。:2011/02/03(木) 12:33:35 ID:B9uesdLi.net
いや、ループはさせないとダメでしょ。
桃太郎電鉄でもリニアカードや新幹線カードを使うとサイコロをたくさん振れて
ループも含めて目的の駅に入りやすくなる。

単純に隣接マスを走査していけばいいと思う。
再帰でやれば楽だろう。

172 :名前は開発中のものです。:2011/02/08(火) 21:49:20 ID:cbwItMD0.net
とりあえずマップを二次元スクエアとして、シティブロック距離を測定、移動可能距離が足りなかった場合はそこで打切り、
これを基本にして虱潰しにやるというのが一番いいですかね?
あとは直前のマスには戻れない、飛ばせるマスや通過点は移動距離に足して計測、とか細かい点が多いものの
当時のスーファミでも出来るくらいだからどのみち計算量は大したことないんですが

173 :名前は開発中のものです。:2011/02/14(月) 00:38:02 ID:uC7Rwf/v.net
リブルラブルやギャルパニ3みたいに「プレイヤーが引いて囲んだ線の内側」って
どうやって判定すればいいんでそ?

174 :名前は開発中のものです。:2011/02/20(日) 00:02:26.60 ID:+32StJ0O.net
「線のどちらが内側か」という問題なら符号付き面積を求める方法があります。

もしくは、「確実に外側である適当な点から最初に線を横切った先は内側」
という判定方法もあります。


175 :名前は開発中のものです。:2011/03/15(火) 13:41:09.98 ID:tsoNTB10.net
2Dアクションゲーム何ですけども、
キャラに引っ張られる様にスクロールさせるにはどうすれば良いでしょう。
常にキャラが中央に来るのではなく、中央から一定距離離れた所からキャラを追う といった感じです。

176 :名前は開発中のものです。:2011/03/16(水) 20:23:24.82 ID:BD5bmsrl.net
スクロール境界線を越えた分だけスクロールさせればよいでしょう。

177 :名前は開発中のものです。:2011/04/24(日) 21:44:08.42 ID:hq7omF31.net
>>176
有難うございます。正にその通りでした。

178 :名前は開発中のものです。:2011/06/19(日) 15:45:00.60 ID:bk5db9DH.net
スーパーマリオブラザーズの様なゲームの場合、
ブロック等を全てスプライトで処理するのは やはり無理がありますよね

179 :名前は開発中のものです。:2011/06/20(月) 00:09:15.70 ID:c6jbBPQT.net
あまり今のPCのマシンパワーを舐めないほうがいい

表示範囲外のところは勝手に無視してくれたりするんで
最適化とか効率はモノが動いてからでも十分間に合う

まずは思いついた方法、いちばん簡単にコーディングできそうな方法でやってみるが吉

180 :名前は開発中のものです。:2011/06/30(木) 18:39:23.75 ID:1i7cT9Ap.net
>>179
有難うございます。
とりあえず組んでみる事にしました。

181 :名前は開発中のものです。:2011/07/13(水) 21:44:59.63 ID:71MLorzn.net
スクロールゲームでの、オフセット方式で座標を更新するとして、
画面のオフセット位置の更新ってどのタイミングでやるべきなのでしょう。
位置はプレイヤーに追従させるとして、プレイヤーの処理後だと プレイヤーの処理中にオフセット位置を用いる処理があればズレてしまうし、
結局どのタイミングでも、完全な同期は無理なのでしょうか。

182 :名前は開発中のものです。:2013/01/02(水) 23:39:58.04 ID:2Lu9emtw.net
NHK教育を見て40886倍賢くマターリ
http://hayabusa2.2ch.net/test/read.cgi/liveetv/1357124586/

183 :名前は開発中のものです。:2013/12/28(土) 23:29:15.34 ID:7VQI5SoT.net
グーグルの検索エンジンのアルゴリズム
http://webblogsakusei.main.jp/seo_taisaku_syukyaku.html

184 :名前は開発中のものです。:2017/02/03(金) 02:21:27.57 ID:lSw/ej4u.net
age

185 :名前は開発中のものです。:2017/12/31(日) 22:24:26.27 ID:/rN76OKL.net
簡単にお金が稼げる方法興味ある人だけ見てください。

グーグル検索⇒『来島のモノノリウエ』

FNI7DS9IDU

186 :名前は開発中のものです。:2018/06/04(月) 19:43:36.48 ID:VMODjZSK.net
>>184
基本的には動的に生成(プロシージャル)
乱数はパーリンノイズ
変化があったとこだけ差分を記録

見てないところでマジレスする快感
なお正しい方法かは知らん(俺だったらそうするってだけ)

187 :名前は開発中のものです。:2018/07/13(金) 20:31:25.63 ID:qlBuPuiL.net
せっかくなので補足。
パーリンノイズは、「改良パーリンノイズ」のほう。

改良は、各頂点座標をシードにしたハッシュ値を乱数替わりにするので、
時間的にもメモリ的にもほぼノーコストで、各頂点のベクトルを再現できる。
(各頂点のベクトルを、メモリ等に保存しておく必要がない)

なので、無限マップの任意の座標の地形を、いつでも同じ形に再現できる。

188 :名前は開発中のものです。:2018/07/26(木) 22:53:35.87 ID:DlWlB+js.net
昔のドラクエなどにあるメッセージ表示ってどうやるのでしょうか?
一文字づつ文字が表示されるみたいな。

189 :名前は開発中のものです。:2018/07/27(金) 00:41:49.38 ID:PByOa6sW.net
>>188
一文字ずつ表示すればいいんじゃね?

190 :名前は開発中のものです。:2018/07/27(金) 09:58:54.71 ID:iH71ilKM.net
バカレス乙

191 :名前は開発中のものです。:2018/07/29(日) 10:20:50.75 ID:9PwGUzLA.net
>>188
文字を一個づつ表示する

192 :名前は開発中のものです。:2021/04/12(月) 19:31:38.14 ID:M9M+4c7u.net
2Dシューティングのホーミング弾が作れません
外積計算して正負で軸があってるか判断、
それを弾の個数分やるって事であってるんでしょうか

193 :名前は開発中のものです。:2021/06/17(木) 16:49:26.83 ID:Yiidicu+.net
もう見てないだろうが、

ホーミング弾の進行方向から見て、目標物が右側にあるのか左側にあるのか調べる。
(弾の移動ベクトルのatan2と、弾から物への方向ベクトルのatan2との比較)

右側にあるなら、ホーミング弾の移動ベクトルを右回転、左なら左回転。
ただし、回転角度には上限を設けないと、カクッと動くことになるw

最近のコンピュータって速いから、こんなもんで十分じゃないかな。。。と妄想w

194 :名前は開発中のものです。:2021/06/17(木) 20:18:18.12 ID:PcUJNFVD.net
みてます!ありがとうございます
今はホーミング弾の目標が軸の左にあるか右にあるかを外積の正負で判断し、
弾一つ一つをループさせてみています
衝突判定に使う4分木の様な、効率的なアルゴリズムがあったりするのでしょうか

195 :名前は開発中のものです。:2021/06/18(金) 17:26:24.06 ID:yzvTwA4D.net
見られてたw

ホーミング弾って、距離離れてても追尾するイメージあるから、
四分木みたいな領域分轄はできないんじゃないかなぁ

処理速度の最適化は、一番重い処理を見極めて、
そこを高速化するのが効果的と思うけど、

ホーミング弾って、回転行列を使うから、
ホーミング角度θに応じたsinθとcosθを、あらかじめ計算しておくって手はあるかも。
(ホーミング角度θは、固定値なはずなので)

196 :名前は開発中のものです。:2021/08/19(木) 22:31:46.49 ID:YTJh6kAo.net
わざと0.5秒とか一定間隔をあけてホーミングしたほうが
動きがカクカクしないしゲーム難易度的にもいいと思うぞ
(右回転なら右回転を0.5秒続ける)

197 :名前は開発中のものです。:2022/10/13(木) 10:11:23.40 ID:M2yg+gTIA
憲法ガン無視で‐方的な現状変更によって私権侵害するた゛けのテ口政府からの税金と称する金銭要求を断固拒否しよう!
と゛うして日本が世界最悪の腐敗国家になったのか
それはお前らが民主主義國のような税金不払い運動すらしない北朝鮮人民の遺伝子を濃縮したような氣持ち惡い奴隷体質た゛からだぞ
岸田は地球に國土にと破壞して国民を殺害して私腹を肥やすテ口リス├であってお殿様し゛ゃねえんだそ゛ポンコツNΡCども

創価学會員は.何百萬人も殺傷して損害を与えて私腹を肥やし続けて逮捕者まて゛出てる世界最悪の殺人腐敗組織公明党を
池田センセ一か゛□をきけて容認するとか本氣て゛思ってるとしたら侮辱にもほと゛があるぞ!
https://i.imgur.com/hnli1ga.jpeg

198 :名前は開発中のものです。:2023/08/04(金) 15:32:45.30 ID:wTfx4Kk+.net
問題がありません

199 :名前は開発中のものです。:2023/09/25(月) 01:59:21.44 ID:Itcq5bDg.net
public int Sayu(Pos arg)
{
var buf = arg.posF - posF;
return Lib.GetSeiFu((vecF.X * buf.Y) - (vecF.Y * buf.X));
}
これを貼れと言われた気が。

200 :名前は開発中のものです。:2023/12/30(土) 20:44:00.28 ID:1Lu62hWbg
例えば、登録記号「JA??MP」は「税金泥棒災害惹起捏造逮捕殺人集団警視庁」だが
クソ航空機に生活や仕事を妨害されたら…アプリ「ADS-B UnfilTered...」で登録記号を確認
tTρs://jasеarch.info/ ←ここで検索して使用者特定
ADS-B出してない日の丸口ゴ機体は自閉隊か税金泥棒系業者だか゛,スクショも晒しつつ、ググって電話番號なども晒そう!
へリタンク2000Lで10000KWh火力発電した際に発生するのと同等のCO2を排出するが、この気候変動させて世界中の人々を死に追いやってる
正義の鉄槌によって処刑されるべきテロリストどもを徹底的に非難しよう! スマホのパケづまりが酷いのもWifiか゛遅いのもクソ航空無線の
広大な帯域汚染による電波不足が原因だし、国民の財産電波をタダで使ってカンコ━た゛のと殺人を推進する有害放送で儲けて「一方的」
「自称』「思い込んで」だのプロパガンダ丸出しのテレヒ゛放送廃止、さらに今と゛き深夜に騒音まき散らして近隣に多大な損害を与えながら
新聞配達させてる情弱知障も非難して人の住居上空を飛ぶ害虫を皆殺しにする気で報復しよう!
(ref.) ttps://www.call4.jP/info.php?type=items&id〓I0000062
ttps://haneda-projeСт.jimdofreе.com/ , tTps://flight-rouTе.com/
ttps://n-souonhigaisosУoudan.amebaownd.com/

52 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

read.cgi ver.24052200