[過去ログ]
【ゲームで、この処理ってどーやってんの?】 (125レス)
【ゲームで、この処理ってどーやってんの?】 http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
1: 1 [sage] 2018/05/30(水) 20:09:05.10 ID:fZdspc/Y ゲームを作ってるor作りたい人が、自分のゲームに実装したい処理や、既存のゲームのこんな処理ってどーやって実現してるの?と質問すると、心優しい誰かが説明してくれるスレです。 質問は、これこれこういう処理、〇〇のゲームのこれみたいな、とか、△△のこの面のこれってどーやってんの?という感じで既存のゲームなどを例示したりして、分かりやすい質問を心がけましょう。 説明は、コード羅列は禁止しましょう。長文でも良いので、このようにできている、又は、こんな感じでできるんじゃない、という風に文章で分かるような説明を心がけましょう。 ■ゲーム開発会社がゲーム製作技術を伝授するスレ https://mevius.5ch.net/test/read.cgi/gamedev/1520381891/ ↑上記スレを見ていて、現スレのようなのがあれば、便利かなと思って建てました。 http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/1
2: 1 [] 2018/05/30(水) 20:10:02.65 ID:fZdspc/Y sageちゃアカンやんage http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/2
3: 1 [sage] 2018/05/30(水) 20:18:53.13 ID:fZdspc/Y 即消されないように、しばらく自問自答したいと思います。 自分がなるほどなあ、と思った超基礎的なやつ。 1行なのでコードで書かせてください。いきなり禁止破り。原則禁止、とすべきでした。 0〜nの数字を順送りし、n番目の次は0に戻る処理 a=(a+1)mod(n+1) n+1で、増えていくaを割った余りを返すことで、nの次は0に戻る処理です。 http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/3
4: 1 [sage] 2018/05/30(水) 20:19:57.56 ID:fZdspc/Y a+1の1を任意の数値にすることで、いくつ進めるかを任意にできます。 http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/4
5: 1 [sage] 2018/05/30(水) 20:28:15.39 ID:fZdspc/Y 次。 0〜nの数字を順送り逆送りして、n+1で0、0から-1になった場合nになる処理。 どーだっけな。 m:加算値(+1や-1など任意の正負の数 a=(a+m+n+1)mod(n+1) 合ってるかな。 a+mに最大値nと1を足すことで、a+mがマイナスになった場合、プラスの数値に変換し、n+1で割った余りを戻すことで、0-1をnに送ることができます。 式、合ってるよね? http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/5
6: 1 [sage] 2018/05/30(水) 20:33:03.41 ID:fZdspc/Y マウスドラッグで画面をつまんでスクロール。 描画座標x,y ?ドラッグ開始座標dx,dy ?マウス座標mx,my 描画タイミングごとに、?と?の差を描画座標に加算して描画して、?に?を代入する。 こんな感じだったっけ。 http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/6
7: 1 [sage] 2018/05/30(水) 20:36:40.03 ID:fZdspc/Y ちなみに、1は自分でゲーム作ってる人です。 作ってる時に、あ、なるほどー、自分で思いついた俺、天才!とか思ったことを、しばらく書いていきたいと思います。 http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/7
8: 1 [sage] 2018/05/30(水) 20:48:44.78 ID:fZdspc/Y クロスバー表現。 アイテムなどを種別ごとに横並び、強さなどごとに縦並びで、PS3のクロスメディアバーのようなものを作りたくって考えました。 詳しくはちょっと忘れちゃったけど、今作り直したらもっと理解して作れそう。 横種別がn 縦並びのアイテムを配列yoko(n).data(m個(種別ごとの動的配列) で、表示開始ID、横用yと縦用t(n)を持ち、 操作で、yとt(n)が変化するごとに表示内容が変わります。 t(n)なので、横に動かすと全体が横移動しますが、縦に動かすと、1列のみ縦移動するように動きます。 http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/8
9: 1 [sage] 2018/05/30(水) 20:52:50.23 ID:fZdspc/Y その際、マウスの動きが縦方向なのか、横方向なのかを検知する必要がありました。 これは、上記マウスのドラッグで移動を応用して、 開始座標と、0.01秒とかの短い時間後のマウス座標の差から絶対値を出し、x>yなら横移動、y>xなら縦移動したとみなして、それぞれの処理を行ないます。 http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/9
10: 1 [sage] 2018/05/30(水) 20:56:23.56 ID:fZdspc/Y この部分はもっと最適化できそうだけど、めんどいので放置してます。 というか、自分が考えついた処理は、unityとかのツールだとライブラリであるのかなあ、と思いますが、あえて遠回りしてる自分が良いのか悪いのか、トホホ http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/10
11: 1 [sage] 2018/05/30(水) 21:06:17.17 ID:fZdspc/Y 自分の疑問も書いておきます。 ■星のドラゴンクエストで、球形マップを、?クルクルした後、回転をリセットすると、球形マップの?初期表示角度に戻ると思うのだけど、戻る途中の描画に使う角度などの計算はどうやってるの? クルクルは自分で作れたつもりなんだけど、xyzの三軸回転と視点カメラの位置と方向とかも含めて考えるとこんがらがってわけわかめ。 http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/11
12: 1 [sage] 2018/05/30(水) 21:10:30.09 ID:fZdspc/Y ちなみに1の知識はファミコンレベルかと思いますので、ご了承ください。 http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/12
13: 1 [sage] 2018/05/30(水) 21:16:08.81 ID:fZdspc/Y 先日他スレで書いたやつ ファミコングラディウスの2面の粒々のあたり判定 粒々は配置されてる動かない物体なので、横スクロール座標と、ビームなどの座標を合成した座標に、粒々があったら当たったと見なして消滅処理すればイイんじゃないかなあと思いました。 例えば、現在表示される画面を描画する際、8×8ドットごとに区切ったマトリクスを2次元配列で持つとかして、中身は0:空っぽ(背景)、1:破壊可能物体、2:破壊不可物体とかを設定。 これは、面のマップ情報をスクロール分だけずらして、現在表示分をコピるだけでもイイですね。 昔のテレビって640×480でしたっけ?だと、横80×60の比較用配列で済むか。 で、ビームやレーザーの現在位置をビームが移動するごとにその配列のインデックスに直接参照できるから、オブジェクトごとの衝突判定みたいな時間のかかる処理は必要ないかと思いました。 http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/13
14: 1 [sage] 2018/05/30(水) 21:31:15.28 ID:fZdspc/Y 上記クロスバー表現で、横縦アイテムひとつの半分までずらしたら、一個ぶんズレたり戻ったりする処理。 アイテムひとつの半分の距離aを持っておき、 ドラッグドロップ時点の移動距離bがそれを超えたら一個ズレ。 超えなかったら元に戻る。 その際、ドラッグ距離が長い場合もあるので、アイテム一個ぶんの距離で割った余りの距離が、半分超えてたら+方向に、超えてなければ-方向に、 で、余りの距離と、前後の定位置との差分を、任意の数で分割して分割した数だけ分割距離ずつ表示座標に加算して、みよん、とズレたり戻ったりの表現。 大体こんな感じだったような。 でも、細かい部分でおかしい。 http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/14
15: 1 [sage] 2018/05/30(水) 21:35:31.67 ID:fZdspc/Y たくさんのアイテムを所持してる時、全部表示してたのを、表示エリア外のものは表示しなくした処理。 ゲーム作り始めた頃、画面外でも、オブジェクト表示処理をしてて、動作が重かったのを、 あれ、画面外にあるんだから表示処理しなくていいんじゃね?と思って修正したら、何百個持っててもスイスイになって感動する。 http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/15
16: 1 [] 2018/05/30(水) 21:42:06.23 ID:fZdspc/Y ドラッグしたオブジェクトをドラッグしながら、だんだんマウスカーソルの中心に持っていく処理。 これは、天才!とは思わなかったですが。 カーソルの座標と、オブジェクトの中心位置などの座標との差をドラッグ開始に取得し、その差分をマウス座標に足してオブジェクトを描画すると、つまんで動かす表現。 動かしていくごとに、その差分を×0.99とかしていくと、次第につまんでる位置が真ん中になる。 http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/16
17: 1 [] 2018/05/30(水) 21:42:25.32 ID:fZdspc/Y つかれた。 http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/17
18: 1 [] 2018/05/30(水) 21:43:52.53 ID:fZdspc/Y 一休み一休み http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/18
19: 1 [] 2018/05/30(水) 21:46:06.04 ID:fZdspc/Y 好きなゲームの処理の説明されてるページ ワンダと巨像のやつ https://game.watch.impress.co.jp/docs/20051207/3dwa.htm http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/19
20: 1 [] 2018/05/30(水) 21:51:02.40 ID:fZdspc/Y 衝突判定はちょっと苦労しました。 衝突可能性のあるもの同士だけ判定するために、3,4回並べ替えとか配列の生成を繰り返してから、判定したりとか。 まだ簡単に説明できないので、いずれまた。 http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/20
21: 1 [] 2018/05/30(水) 21:53:58.54 ID:fZdspc/Y 経路検索も楽しかった。 A*が今の所速いそうだけど、ダイクストラの方が分かりやすかったのでそっちで作りました。 説明は、よー分からん! http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/21
22: 1 [] 2018/05/30(水) 21:55:00.14 ID:fZdspc/Y こんなところかなあ。 2ちゃんって、いろんな人が書き込まないと消えるのかな。 誰か!助けて! http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/22
23: ボッキングの弟子 ◆rZPPjYuxmQ [sage] 2018/05/30(水) 23:22:20.29 ID:ABn11nDo ちなみにこの板は落ちないので沢山のくそスレが乱立してます あの板に人が集まるのは現役のゲーム会社の人がやってるからで、わざわざそこに名無しで回答するのは、構ってちゃんなのよ だからいくらスレ作って誘導しても来ないの ただの荒らしだから… http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/23
24: ボッキングの弟子 ◆rZPPjYuxmQ [sage] 2018/05/30(水) 23:23:50.42 ID:ABn11nDo ところで主さんのゲ製は何でやってますかぁ? unityなら情報共有できるのだけど… http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/24
25: 1 [] 2018/05/30(水) 23:31:13.49 ID:fZdspc/Y >>23 落ちないんですか。そうですか。 教えてくださってありがとうございます。 VBで作ってます。馴染みがあったのがVBだったので。 今作ってるのが終わったらUnityに移る予定なので、その際はいろいろ勉強させてください。 http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/25
26: 名前は開発中のものです。 [] 2018/05/31(木) 05:46:07.28 ID:9nDqf7jv 支援 http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/26
27: 名前は開発中のものです。 [sage] 2018/05/31(木) 07:45:56.09 ID:DnYcK65M 本一冊かける乱数についてどうぞ http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/27
28: 名前は開発中のものです。 [sage] 2018/05/31(木) 08:44:36.81 ID:IITj/Hiu お題 グラディウスのミサイルの地形追従 http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/28
29: 1 [] 2018/05/31(木) 09:15:43.81 ID:N+l2Be6d >>27 スレチですが。 乱数関係だと。 一定の確率で複数の分岐処理を扱う時。 1番最初は select case 0to0.2 〜case 0.6to0.7みたく直接数字書いたけど、もっと楽にできないかと考えました。 で、分岐させたい数の配列t(n)を作り、 その中に確率の大小を入れ(合計が100にならなくても良い) 、t(n)の値の合計sumを出し、それを使ってt2(n)に0.0〜1.0の範囲として割り振る。 例えば3つの分岐で、1つめが45、2つめが90、3つめが15だとすると、合計150なので、1は30%、2は60%、3は10% なので、0.3,0.6,0.1となり、t2(0)は0.0と0.3 t(1)は0.3と0.9、t2(2)は0.9と1.0の開始値と終了値を格納。 ここらへんは、ちょっと冗長。終了値だけで事足りそう。 で、乱数を出し、 n回だけ繰り返してそれがどの範囲かの番号を返す。 その後それぞれの処理へ。 要約すると、、、 t(n)にそれぞれの当たり確率を適当な整数で示せば、その内のどれに当たるかを返してくれる関数。 分岐の確率を手書きしなくて済むことと、合計100にしなくても良くなった瞬間でした。 http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/29
30: 1 [] 2018/05/31(木) 09:28:37.23 ID:qD6WAQaC >>28 >>13で書いたような、任意のドットで区切った縦横のBG配列に地形情報を入れ(破壊不可だから、1かな) ミサイルの座標をBG配列のインデックスに計算し、参照。 破壊不可と重なったら、ミサイルの座標を1ブロックかその半分くらい上に移動させる。 ミサイルは基本的に下と右に向かうので、地面がデコボコしてたらそのデコボコに沿う感じになるんじゃないかと。 細かく地面を這わせたい時は、BG配列のドット区切りを細かくすれば良いと思います。 どうでしょう? http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/30
31: 名前は開発中のものです。 [sage] 2018/05/31(木) 12:10:06.08 ID:IITj/Hiu 地面の細かい凸凹をどうデータ化するかが胆かと思う。 /|型の地形と|\型の地形が並んでる場合、両方とも「非破壊地形」にしちゃうと、凸凹に沿わずに真横に飛んでいるように見えちゃいそう。 なお俺の場合は、 1.右下が空いている→右下に移動 2.else右が空いている→右に移動 3.else右上が空いている→右上に移動 4.else爆発 と書きたい模様 (そして坂道を延々登っていくミサイル) http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/31
32: 名前は開発中のものです。 [sage] 2018/05/31(木) 15:37:36.49 ID:d58xUOV7 モンハンワールドで首長系モンスを実装出来ないのは、ダウン時に段差に首や頭がめり込むからという間抜けな理由なのですが、 不可能なのですか? UR4&HAVOK http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/32
33: 名前は開発中のものです。 [sage] 2018/05/31(木) 18:20:16.72 ID:f6lDwIJE ネットスライム君、こんなところに居ないで自スレを伸ばしゲームを完成させて早くデバッグさせなさい。先生はカンカンに怒って居ます。 http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/33
34: 名前は開発中のものです。 [sage] 2018/05/31(木) 21:24:38.84 ID:afJ9Cg6n >>29 ごめん、言葉だけだとよくわからん。 もし29に書いてあるようなことを俺がやるとすると、こんな感じかなぁ。。。 (C#失礼) static T SelectByRandom<T>(Dictionary<T, int> dic) { //荷重合計までの乱数を発生 int n = MyRandom(dic.Sum(x => x.Value)); //乱数に応じたオブジェクト選択 foreach(var kv in dic) { if ((n -= kv.Value) < 0) { //選択 return kv.Key; } } throw new Exception();//エラー } 実際はDictionary使わないし、関数化もしないけど、とりあえずイメージで。 ループ回して乱数値に応じた選択をするのが、俺的に定番。 コンパイラ通してないのでエラーでるかもw 呼び出し方はこんな感じ //準備 var weightDic = new Dictionary<MyClass, int>(); weightDic[objA] = 30;//30の確率でobjAを選択 weightDic[objB] = 90;//90の確率でobjBを選択 weightDic[objC] = 40;//40の確率でobjCを選択 //選択そして実行 var selectedObject = SelectByRandom<MyClass>(weightDic); http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/34
35: 名前は開発中のものです。 [sage] 2018/06/01(金) 07:45:20.95 ID:2GLaryXx ここ写経スレ? http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/35
36: ダーク王鍬大使 ◆SoVpkB15jY [sage] 2018/06/01(金) 10:20:16.59 ID:dKo9snWk そうでふよ(^^ http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/36
37: 名前は開発中のものです。 [sage] 2018/06/01(金) 11:40:53.50 ID:Pq7J7Prf 浄土真宗羅列すまん。 コード禁止は知ってたが、言葉で説明する自信がなかった。 親子丼食べて落ち着くよ http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/37
38: 29 [sage] 2018/06/01(金) 16:13:07.09 ID:0NO1muzn えー、すいません。 >>29は、 えーと、?分岐させたいケースごとに適当な数をセットし、?その合計でそれぞれ割ると、それぞれの確率、重み?になるので、その確率を順に足すことで、0.0〜1.0に収まる範囲に分岐の確率を設定できるので、そこに乱数値を与えて分岐のIDを返す。 ?だけ渡せば良く、?以降を関数化したもの、です。 前述したように、分岐数も自由だし、分岐に用いる割合の合計を100とか1.0にしなくてもよい点が、自分ではなかなか閃いたなあ、というもの、でした。 m(_ _)m http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/38
39: 29 [sage] 2018/06/01(金) 16:22:47.28 ID:0NO1muzn >>38のメリットは、関数化によるものは当然ですが、?を変更するだけで、分岐を増やしたりそれぞれの確率を変えたり出来る修正の簡略性でしょうか。 関数の中では、分岐IDを返すのはforとかdo loopになってますが、 普通にselectを使う場合の分岐を増やしたり確率を変更したりする時より修正の手間が減るかと。 http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/39
40: 名前は開発中のものです。 [sage] 2018/06/01(金) 21:36:46.13 ID:zTDrksgY なるほど!・・・だいたい34で合ってたな!(強引) >selectを使う場合の分岐を増やしたり確率を変更したりする時より修正の手間 これはまったくその通り。 複数のモノからウェイトに応じて1つを選択する処理って、基本動的だから、ハードコーディングできないしね。 自分の場合は、クセで、なるべく整数で扱うように組んでしまうw http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/40
41: 名前は開発中のものです。 [sage] 2018/06/02(土) 08:14:34.42 ID:v2De4DA4 グラディウス4の1面のボスの変形ってどうやってるんだろ? 頂点ID単位で変形前後のメッシュモデルを関連付けてるんだろうか キャラ変形は昔からテーマみたいで、色んなタイトルが導入してるけど、作り込むのが大変そうな割に今一つインパクトに欠けるんだよな http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/41
42: 名前は開発中のものです。 [sage] 2018/06/03(日) 20:50:11.51 ID:cxQibUuc >>41 動画見てみましたが、懐かしい響きのモーフィングですかね。 3Dは一口かじった程度なのであまり話せませんが面白い処理ではありますね。 元々軟体なキャラ表現にも良さげ。 http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/42
43: 名前は開発中のものです。 [sage] 2018/06/04(月) 16:31:01.07 ID:EEJNpDFt マウスジェスチャー使ってみたいな http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/43
44: 名前は開発中のものです。 [sage] 2018/06/04(月) 20:13:06.13 ID:8xsfA6rj >>42 モーフィングの範疇に入るんですかね。そのキーワードからは、頭部メッシュの変形例が思い浮かぶ グラ4の1ボスの最初の形態である3つ首竜は、各首がランダムに動いており、変形前後のメッシュ形状が一様ではないように見えるが、 あらかじめ中間メッシュを準備しておいて使ってるのかな? いずれにせよこの演出は、DQ4のデスピサロほどには、プレイヤーの印象に残らなった気がする http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/44
45: 名前は開発中のものです。 [sage] 2018/06/04(月) 20:57:21.77 ID:9Q3y7VLu ドラクエってwwwww http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/45
46: 名前は開発中のものです。 [sage] 2018/06/04(月) 22:03:26.23 ID:VMODjZSK >>5 N=n+1として、 a=(a+m+N) mod N にしようぜ。プログラミングで0≦a≦nって気持ちわるい。 (0≦a<Nのほうがいい) http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/46
47: 名前は開発中のものです。 [sage] 2018/06/04(月) 22:54:57.18 ID:q8Why9BM オレは両辺にaがあるのが気持ち悪い http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/47
48: 1 [sage] 2018/06/05(火) 08:09:45.07 ID:d+YvGmuW >>46 まあそのへんは好きずきで。 0≦a<Nの方が気持ちいいのは、何か理由があるのでしょうか。 よかったらお聞かせください。 http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/48
49: 名前は開発中のものです。 [sage] 2018/06/05(火) 23:16:47.68 ID:SXh27SaO 質問です ファミコンのゴルフゲーム(マリオUSコース)などの 3D的な画面ってどうやって処理してるのでしょうか? http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/49
50: 名前は開発中のものです。 [sage] 2018/06/10(日) 14:53:10.30 ID:e9Y5gB6k アラド戦記や天華百円?のような 高さの概念もあるベルトスクロールってどう実現したらいいのでしょう、なかなかノウハウが見当たりません 単純に斜めから見下ろしてる3Dゲームみたいなものなのでしょうか? http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/50
51: 名前は開発中のものです。 [sage] 2018/06/10(日) 19:30:49.96 ID:2dOgpg9v あぁもうスレ主あきちゃったかな http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/51
52: 名前は開発中のものです。 [sage] 2018/06/10(日) 20:26:48.18 ID:e9Y5gB6k このスレはだめそうね http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/52
53: 名前は開発中のものです。 [sage] 2018/06/10(日) 20:40:28.38 ID:V+n/Ok0R >>51 思い付きで立てたスレなんてこんなもの http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/53
54: 名前は開発中のものです。 [sage] 2018/06/11(月) 01:23:02.34 ID:A7oKBA09 難しい質問に答えられる人がいるはずないもんな http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/54
55: 名前は開発中のものです。 [sage] 2018/06/11(月) 13:49:53.82 ID:oKxCgL/T >>50 その分野の経験ないけど、 座標を3Dでもたせて3Dで当たり判定すりゃいいだけだろ 繰り出したパンチ(=プレイヤー攻撃)付近の当たり判定となっている2Dの矩形(地面範囲)が、敵の当たり判定2D矩形(地面範囲)と重なるかどうかで判定してたのを、 パンチ付近の3Dの直方体が、敵の当たり判定の3D直方体と重なる部分があるかどうかでやりゃいいだけなんじゃね 直方体じゃなくて、球面判定というか、3Dの距離で判定してもいいだろうが http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/55
56: 名前は開発中のものです。 [sage] 2018/06/15(金) 04:44:27.73 ID:JTGrmWDc グラデュウスの話が出てたんで、 オプションを実装する場合の考え方を教えてください。 自機が止まると自機と重なるオプションと、 自機が止まると、その場で停止するオプションと。 http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/56
57: 名前は開発中のものです。 [sage] 2018/06/15(金) 08:44:45.17 ID:2u95J2FD >>56 前者は、常に、あるいは自機と自分の位置が一定以上離れている場合、自機との座標に自分(オプション)の位置を近づけていく。(ただし動いている時は一定の距離を保つ必要があるので、後述) 後者は、自機が止まっている時、上記処理を行わない。 自機を動かしている時のオプションの動きは、、、 あれは、前のオプションに追従するような感じだよね。 動かしている時のみ、前のオプションの座標に自分を近づける、で良いのかな。それだと、後ろがどんどんショートカットしてきそうだけど、それでいいのかな? 以上です。 http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/57
58: 名前は開発中のものです。 [sage] 2018/06/15(金) 14:15:08.08 ID:quv25Q7S 各フレームの自機の位置を配列に記憶。 1番オプションは(例えば)10フレーム前の座標を設定、2番オプションは20フレーム前、3番オプションは(略) 自機が停止している状態で、位置記憶とオプション座標更新をすれば、重なる系のオプションになるし、 自機が停止している状態で、位置記憶とオプション座標更新をしないなら、重ならない系のオプションになる。 http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/58
59: 名前は開発中のものです。 [sage] 2018/06/15(金) 20:05:44.71 ID:PQDvx7FC ファミコンなら飛び出せ大作戦の床どうやってんだ? 左右の動きはラスターとして、奥から手前ってあれ市松模様にするのは一定の幅でガバッとずらしてるのはわかるけど。 よくあるスコア表示残して縦スクロールするあれやってんのか? http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/59
60: 名前は開発中のものです。 [sage] 2018/06/20(水) 15:47:11.60 ID:ZrW2wcFn ポータルのポータルってどうやってるの? 向こう側見えるし、もの持ってこれるし、中途半端に入れるし http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/60
61: 名前は開発中のものです。 [sage] 2018/06/22(金) 10:00:16.03 ID:ANGPpuI8 つーかここ、例のスレとは大違いで、答えても何の礼も無いよなw >>60 レンダリングに関しては: カメラ視点を複数用意して、穴の向こうの視野を一旦テクスチャにレンダリングして、テクスチャを穴のこちら側の壁に貼り付けてるんだろう カメラ視点は3つくらいあるのかな(1人称視点、穴の向こう側の視野の視点、穴の向こう側に開いている穴から見える視野の視点) 移動に関しては: ある境界面を境に位置をワープさせてるんじゃないか。パックマンのワープトンネルみたいなもんだろ http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/61
62: 名前は開発中のものです。 [sage] 2018/06/22(金) 12:02:49.57 ID:zPLeIsN1 興味本位で聞いてる奴しか居ないからな http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/62
63: 名前は開発中のものです。 [sage] 2018/06/22(金) 16:32:16.79 ID:WMRHtb3Q >>61 3Dで考えるとヤバイだろ? ライティングの影響とかどうなってるんだよ http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/63
64: 名前は開発中のものです。 [sage] 2018/06/22(金) 16:41:00.33 ID:2vv2cu1V そうなんだよね。 あっちのスレの質問もなんだが、いまさら「ファミコンでどう実装してるか」なんて聞いてどうすんだ。 飛び出せ大作戦の床?3Dポリゴン描画すればいいじゃん。 スーパーマリオのブロック?全部スプライト(2Dポリゴン描画)でいいでしょ。 (まぁインスタンシングとか考える必要あるかもだけど) 本当に作りたい人なら、質問しないで見たまま実装すれば終わる話だ。 (昔のハードの制約の中でどう実装するか考えるのが楽しいというのは認めるw) http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/64
65: 名前は開発中のものです。 [sage] 2018/06/22(金) 18:10:12.47 ID:ANGPpuI8 >>63 つまり穴が発生している壁が斜めなのに、そこにビルボード状に穴の向こうのテクスチャを貼り付けるのが不可能だってこと? なんらかのポストエフェクトで引き伸ばしたりしてるんじゃないかな それとも、穴の向こう側の光景のテクスチャは壁テクスチャとは別のビルボードで、深度テストとαテストでくり抜いてるんかな (今更なんだが)俺は実装したことがないから、俺の書き込みは礼には及ばねえよw http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/65
66: 名前は開発中のものです。 [sage] 2018/06/22(金) 18:16:11.13 ID:ANGPpuI8 ああ、確かに光源処理はどうなってるんだろ それは気付かなかった 穴のこちらの光源が、穴の向こうに届いてるんかな http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/66
67: 名前は開発中のものです。 [sage] 2018/06/22(金) 18:40:28.96 ID:ANGPpuI8 ポータルで 穴の向こう側の光源の影響で、アナの向こう側のメッシュモデルにおいて、穴のこちら側に鏡面反射効果が出てるってのは、 まあ無理なく実現できるんじゃね 穴、アナとかいうとムラムラしちまうぜ 穴子丼食いてえ http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/67
68: 名前は開発中のものです。 [sage] 2018/06/23(土) 10:08:27.07 ID:535B+Arc >>65 壁の穴は、ビルボード(=視点に正対するポリゴン) じゃなく、壁に沿って斜めに描画しているんじゃない? 穴に貼り付けるテクスチャのレンダリング時の Projection行列を、なんか上手く設定してると推測。曖昧すぎすまんw (Projection行列で投影されるスクリーンを 壁に合わせて傾ける感じ?) 俺は昼飯はコロッケにしよう。 http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/68
69: 名前は開発中のものです。 [sage] 2018/06/23(土) 17:06:12.99 ID:kOJXbxvz >>68 サンクス なるほどプロジェクション行列を調整して斜めテクスチャに投影すればいいんだ ちょっと調べたけど斜投影(Oblique projection)というのか ビルボード状スクリーンへの投影結果の内の中心から外れた隅っこの方の一部を切り出す感じか たしかに画面の隅っこのレンダリングって不自然に引き伸ばされることがあるな https://qiita.com/yuji_yasuhara/items/98e6bd84b82e666496ce 自然な感じに見えるようにするには、慎重に調整する必要がありそうで大変そうだ http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/69
70: 名前は開発中のものです。 [] 2018/06/26(火) 02:31:18.18 ID:d0rsFYq9 >>3 なるほど、そんな方法もあるのか。私は、 a=(a<10)?(a+1):0; ・・・って書いてる。Cだけど。 http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/70
71: 名前は開発中のものです。 [] 2018/06/26(火) 10:01:25.64 ID:CQ8pmEPX >>1 二番煎じだとしても発想はわりと良いスレだと思う 板が過疎り過ぎだからがんばってくれ http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/71
72: 名前は開発中のものです。 [sage] 2018/07/01(日) 16:57:04.68 ID:bbXDJrOd >いまさら「ファミコンでどう実装してるか」なんて聞いてどうすんだ そういうスレだとおもってたけど違うのか? どういうアルゴリズムで作ってたか知ることでプログラムスキル上がるだろ http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/72
73: 名前は開発中のものです。 [sage] 2018/07/01(日) 20:09:09.79 ID:JwO+Ad3Y ないない http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/73
74: 名前は開発中のものです。 [sage] 2018/07/14(土) 23:02:27.98 ID:trAsPRCC >>70 それIF文やんけw http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/74
75: 名前は開発中のものです。 [sage] 2018/07/15(日) 00:05:02.97 ID:+fIs9TbR >>74 三項演算子 http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/75
76: 名前は開発中のものです。 [sage] 2018/07/15(日) 02:26:33.71 ID:7ZKErhFA >>75 いや、だからIFだっちゅうの!www http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/76
77: 名前は開発中のものです。 [sage] 2018/07/16(月) 21:35:04.95 ID:UFGOKtLD >>76 んんー、10未満であることを判定して実行してるから、確かにIF文であることもないのだけど・・・普通、IF文とは区別する。 だってそうしないとfor文もwhile文もIF文ってことになっちゃうじゃん? >>3を忠実にCで書き表せば、 a++;a=a%10; って表現にした方が正しいというのなら、その通り。 http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/77
78: 名前は開発中のものです。 [sage] 2018/07/17(火) 10:01:34.15 ID:6120ASjx >>77 論点がずれている。 なんで、>>3が意味あるのか考えろ なんでIF文だとツッコミいれたか考えろ http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/78
79: 名前は開発中のものです。 [sage] 2018/07/17(火) 10:29:18.95 ID:Ug1hV4Os 処理というよりは、どちらかというと作業の段取りについてなんだが、 スターオーシャンセカンドストーリーやテイルズ オブ デスティニー2の難易度設定は、どうやったら実現可能なんだろう あれらのゲームはRPGなのに、戦闘はリアルタイム性が強いアクションゲームなので、バランス調整結果の確認の手間は大変だと思う にもかかわらず、最初に選べる難易度によって敵の強さが変わってくる。よく検証してないんだが、攻撃パターンも変わってくるんだろうか 敵キャラのパラメータを設定する作業だけでも大変だと思うが、難易度に応じて単純に何倍とかにしているだけなだろうか しかし関門を突破する為のプレイヤーのレベルが足りないが、安全に稼げる経験地が少ない状況に陥り、ゲーム進行が滞る可能性もあるだろうし どういう体制で、どういう段取りで難易度設定作業を行い、また遊べるかどうかの確認をしているんだろう 人海戦術頼みななんだろうか http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/79
80: 名前は開発中のものです。 [sage] 2018/07/24(火) 10:41:53.69 ID:WoBX4Imx >>78 >>3配列の添字ループはmodだよね(y=x[++a%10]) >>70俺は三項演算子だな(y=x[++a>=10?0:a]) >>74それif(三項演算子)やんけ 何度考えても、74のツッコミの意図がわからん (プリインクリメントが気持ち悪いけど気にするな) http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/80
81: 名前は開発中のものです。 [sage] 2018/07/24(火) 15:12:15.44 ID:4va1KyIz ここのレベル低すぎるだろw http://mevius.5ch.net/test/read.cgi/gamedev/1527678545/81
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 44 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.103s*