[表示 : 全て 最新50 1-99 101- 2ch.scのread.cgiへ]
Update time : 07/24 13:01 / Filesize : 40 KB / Number-of Response : 129
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

【ゲームで、この処理ってどーやってんの?】



1 名前:1 mailto:sage [2018/05/30(水) 20:09:05.10 ID:fZdspc/Y.net]
ゲームを作ってるor作りたい人が、自分のゲームに実装したい処理や、既存のゲームのこんな処理ってどーやって実現してるの?と質問すると、心優しい誰かが説明してくれるスレです。

質問は、これこれこういう処理、〇〇のゲームのこれみたいな、とか、△△のこの面のこれってどーやってんの?という感じで既存のゲームなどを例示したりして、分かりやすい質問を心がけましょう。

説明は、コード羅列は禁止しましょう。長文でも良いので、このようにできている、又は、こんな感じでできるんじゃない、という風に文章で分かるような説明を心がけましょう。


■ゲーム開発会社がゲーム製作技術を伝授するスレ
https://mevius.5ch.net/test/read.cgi/gamedev/1520381891/
↑上記スレを見ていて、現スレのようなのがあれば、便利かなと思って建てました。

63 名前:名前は開発中のものです。 mailto:sage [2018/06/22(金) 12:02:49.57 ID:zPLeIsN1.net]
興味本位で聞いてる奴しか居ないからな

64 名前:名前は開発中のものです。 mailto:sage [2018/06/22(金) 16:32:16.79 ID:WMRHtb3Q.net]
>>61
3Dで考えるとヤバイだろ?
ライティングの影響とかどうなってるんだよ

65 名前:名前は開発中のものです。 mailto:sage [2018/06/22(金) 16:41:00.33 ID:2vv2cu1V.net]
そうなんだよね。
あっちのスレの質問もなんだが、いまさら「ファミコンでどう実装してるか」なんて聞いてどうすんだ。

飛び出せ大作戦の床?3Dポリゴン描画すればいいじゃん。
スーパーマリオのブロック?全部スプライト(2Dポリゴン描画)でいいでしょ。
(まぁインスタンシングとか考える必要あるかもだけど)

本当に作りたい人なら、質問しないで見たまま実装すれば終わる話だ。
(昔のハードの制約の中でどう実装するか考えるのが楽しいというのは認めるw)

66 名前:名前は開発中のものです。 mailto:sage [2018/06/22(金) 18:10:12.47 ID:ANGPpuI8.net]
>>63
つまり穴が発生している壁が斜めなのに、そこにビルボード状に穴の向こうのテクスチャを貼り付けるのが不可能だってこと?
なんらかのポストエフェクトで引き伸ばしたりしてるんじゃないかな

それとも、穴の向こう側の光景のテクスチャは壁テクスチャとは別のビルボードで、深度テストとαテストでくり抜いてるんかな

(今更なんだが)俺は実装したことがないから、俺の書き込みは礼には及ばねえよw

67 名前:名前は開発中のものです。 mailto:sage [2018/06/22(金) 18:16:11.13 ID:ANGPpuI8.net]
ああ、確かに光源処理はどうなってるんだろ
それは気付かなかった
穴のこちらの光源が、穴の向こうに届いてるんかな

68 名前:名前は開発中のものです。 mailto:sage [2018/06/22(金) 18:40:28.96 ID:ANGPpuI8.net]
ポータルで
穴の向こう側の光源の影響で、アナの向こう側のメッシュモデルにおいて、穴のこちら側に鏡面反射効果が出てるってのは、
まあ無理なく実現できるんじゃね


穴、アナとかいうとムラムラしちまうぜ


穴子丼食いてえ

69 名前:名前は開発中のものです。 mailto:sage [2018/06/23(土) 10:08:27.07 ID:535B+Arc.net]
>>65
壁の穴は、ビルボード(=視点に正対するポリゴン)
じゃなく、壁に沿って斜めに描画しているんじゃない?

穴に貼り付けるテクスチャのレンダリング時の
Projection行列を、なんか上手く設定してると推測。曖昧すぎすまんw
(Projection行列で投影されるスクリーンを
壁に合わせて傾ける感じ?)

俺は昼飯はコロッケにしよう。

70 名前:名前は開発中のものです。 mailto:sage [2018/06/23(土) 17:06:12.99 ID:kOJXbxvz.net]
>>68
サンクス
なるほどプロジェクション行列を調整して斜めテクスチャに投影すればいいんだ
ちょっと調べたけど斜投影(Oblique projection)というのか
ビルボード状スクリーンへの投影結果の内の中心から外れた隅っこの方の一部を切り出す感じか
たしかに画面の隅っこのレンダリングって不自然に引き伸ばされることがあるな
https://qiita.com/yuji_yasuhara/items/98e6bd84b82e666496ce
自然な感じに見えるようにするには、慎重に調整する必要がありそうで大変そうだ

71 名前:名前は開発中のものです。 [2018/06/26(火) 02:31:18.18 ID:d0rsFYq9.net]
>>3
 なるほど、そんな方法もあるのか。私は、
a=(a<10)?(a+1):0;
・・・って書いてる。Cだけど。



72 名前:名前は開発中のものです。 [2018/06/26(火) 10:01:25.64 ID:CQ8pmEPX.net]
>>1
二番煎じだとしても発想はわりと良いスレだと思う
板が過疎り過ぎだからがんばってくれ

73 名前:名前は開発中のものです。 mailto:sage [2018/07/01(日) 16:57:04.68 ID:bbXDJrOd.net]
>いまさら「ファミコンでどう実装してるか」なんて聞いてどうすんだ

そういうスレだとおもってたけど違うのか?
どういうアルゴリズムで作ってたか知ることでプログラムスキル上がるだろ

74 名前:名前は開発中のものです。 mailto:sage [2018/07/01(日) 20:09:09.79 ID:JwO+Ad3Y.net]
ないない

75 名前:名前は開発中のものです。 mailto:sage [2018/07/14(土) 23:02:27.98 ID:trAsPRCC.net]
>>70
それIF文やんけw

76 名前:名前は開発中のものです。 mailto:sage [2018/07/15(日) 00:05:02.97 ID:+fIs9TbR.net]
>>74
三項演算子

77 名前:名前は開発中のものです。 mailto:sage [2018/07/15(日) 02:26:33.71 ID:7ZKErhFA.net]
>>75
いや、だからIFだっちゅうの!www

78 名前:名前は開発中のものです。 mailto:sage [2018/07/16(月) 21:35:04.95 ID:UFGOKtLD.net]
>>76
んんー、10未満であることを判定して実行してるから、確かにIF文であることもないのだけど・・・普通、IF文とは区別する。
だってそうしないとfor文もwhile文もIF文ってことになっちゃうじゃん?
>>3を忠実にCで書き表せば、
a++;a=a%10;
って表現にした方が正しいというのなら、その通り。

79 名前:名前は開発中のものです。 mailto:sage [2018/07/17(火) 10:01:34.15 ID:6120ASjx.net]
>>77
論点がずれている。
なんで、>>3が意味あるのか考えろ
なんでIF文だとツッコミいれたか考えろ

80 名前:名前は開発中のものです。 mailto:sage [2018/07/17(火) 10:29:18.95 ID:Ug1hV4Os.net]
処理というよりは、どちらかというと作業の段取りについてなんだが、

スターオーシャンセカンドストーリーやテイルズ オブ デスティニー2の難易度設定は、どうやったら実現可能なんだろう
あれらのゲームはRPGなのに、戦闘はリアルタイム性が強いアクションゲームなので、バランス調整結果の確認の手間は大変だと思う
にもかかわらず、最初に選べる難易度によって敵の強さが変わってくる。よく検証してないんだが、攻撃パターンも変わってくるんだろうか
敵キャラのパラメータを設定する作業だけでも大変だと思うが、難易度に応じて単純に何倍とかにしているだけなだろうか
しかし関門を突破する為のプレイヤーのレベルが足りないが、安全に稼げる経験地が少ない状況に陥り、ゲーム進行が滞る可能性もあるだろうし
どういう体制で、どういう段取りで難易度設定作業を行い、また遊べるかどうかの確認をしているんだろう
人海戦術頼みななんだろうか

81 名前:名前は開発中のものです。 mailto:sage [2018/07/24(火) 10:41:53.69 ID:WoBX4Imx.net]
>>78

>>3配列の添字ループはmodだよね(y=x[++a%10])
>>70俺は三項演算子だな(y=x[++a>=10?0:a])
>>74それif(三項演算子)やんけ

何度考えても、74のツッコミの意図がわからん
(プリインクリメントが気持ち悪いけど気にするな)



82 名前:名前は開発中のものです。 mailto:sage [2018/07/24(火) 15:12:15.44 ID:4va1KyIz.net]
ここのレベル低すぎるだろw

83 名前:名前は開発中のものです。 mailto:sage [2018/07/24(火) 18:48:14.58 ID:MVB6I5Mj.net]
超初心者の俺には話題がハイレベルすぎて
まったく意味がわからんぜ・・・

84 名前:ネットスライム mailto:sage [2018/07/26(木) 09:32:55.08 ID:SQ93XVQB.net]
ちょっと聞きたい。snesのロックマンのデータのパスワードと記録方法ってどうなってるの?ランダムで敵を動かしてると配置までランダムになっちゃう

85 名前:名前は開発中のものです。 mailto:sage [2018/07/26(木) 10:45:40.88 ID:J+UoVDTZ.net]
>>83
見てないからわからんけど、ランダム使ってるなら単にSEEDを記録してるんじゃないの?

86 名前:名前は開発中のものです。 mailto:sage [2018/07/26(木) 11:57:18.18 ID:sbebnT0N.net]
>>83
せめて、パスワードを入力した後にどんな状態になるのかわからないと、仮説すら立てられないぜw
パスワードは、敵の座標を格納できるほど長くないってことでいいんだよな?

87 名前:名前は開発中のものです。 mailto:sage [2018/07/26(木) 18:16:59.44 ID:gq+4QXyT.net]
だんまりワラタ

88 名前:名前は開発中のものです。 mailto:sage [2018/07/26(木) 18:48:53.10 ID:o5WdqYqx.net]
>>83
どんぴしゃでそれを画像つきでわかりやすく解説してるサイト昔あったんだが今ぐぐったら消えてたわ
英語サイトならあった
https://gamefaqs.gamespot.com/pc/562670-mega-man-x/faqs/52749

89 名前:ネットスライム mailto:sage [2018/07/26(木) 21:30:09.39 ID:SQ93XVQB.net]
すまんな外出してた

>>87
サンクス。ちんポジで長ったらしくやってるのか・・・こりゃ自動セーブが捗りますわw

90 名前:名前は開発中のものです。 [2018/08/06(月) 21:50:34.55 ID:PE4Hke8j.net]
total warのような大量のオブジェクトがかなりリアルに描写されてるようなやつって、どこをどうやって負荷を軽減してるんですかね?
animationや兵士の隊列の処理やら負荷すごそうなんだけど

https://www.youtube.com/watch?v=KUWJwh5yulo

91 名前:1 mailto:sage [2018/08/11(土) 02:07:42.72 ID:E001RheI.net]
自分も戦略戦術系シミュレーション作りを志向してますので、考えてますが。
今のところ考えてるのは、
・拡大描写時→画面に映る人の数は少ない→画面から外れる人の描画処理はカット(戦闘によるダメージ計算や座標移動計算のみする)
・縮小して広い範囲を描写→個々の物体が小さくなるので、物体の画像(3Dモデルなども)は低容量のものに差し替えて描画する。
基本3D空間では遠くにあるものは低容量画像を使えばイイのかな、と思ってます。

言うのは簡単だけど、これって、拡大時、縮小時、中間時と、同じキャラを3種類用意しないといけないってことですね。3倍面倒だ〜

隊列とかについては、、、なんだろ、そんなに大変ですかね。
一人一人に、中心となる人との相対座標持たせて、戦闘以外の時、隊列に戻ろうとする時その座標を目指させればいいだけ?
その際、倒されて隊列に穴が空いた箇所があれば、他で補う処理を噛ませる。
リーダーと部隊全員だと、部隊員数が増えた時アレなので、サブリーダー、場合にとってはサブサブリーダーを階層的に追加できるようにして、リーダー、サブ、隊員と、上位者との相対座標を持たせれば隊列はそれっぽく見えませんかね。

処理の軽減、高速化はうまくできると楽しいですよね。
では、長文失礼しました。



92 名前:名前は開発中のものです。 [2018/08/11(土) 08:24:44.47 ID:X5vo7wfx.net]
>>89
俺はunityしか知らんから、その目線でしか答えられんが

まず上からの目線だと錐台のカリングと言うのが行われる。
これによって画面外の個別なオブジェクトは描画されない。地形も適度に切っておけば、この錐台のカリングにより思ったよりも頂点数を抑えられている。
一番不味いのは、錐台に多くオブジェクトが入る可能性がある、地平線が見えてる時。
今回のようなフィールドはこの時の事だけを考えるのが良い。
次点で重いのはオブジェクト描画。更に遠景になる事による遠くのオブジェクト描画の頂点数だ。
これを軽減するには、遠景時に自動で頂点数が減るテッセレーションがあるが負荷を考えたり、負荷をCPU側に持って行く事を考えると、現実的にはlodと言う選択になる。
次に考えるのは、アニメーションだね。
これがまた重い。何が重いかと言うと、スキンメッシュやアニメーション間のモーフィング技術が重くなってくる。
これの打開策として昨今着目されてるのが、頂点アニメーション。
つまり、アニメーションは伸張自在なスキンメッシュを使わずにメッシュの動きを焼き付けるんだね。
また、ブレンドを諦めればアニメーションをコントロールするアニメーターも消せる。
彼らの技術を複合的に使う事で、数百オブジェクトを高FPSで動かす。何て事も、可能になってくる

93 名前:名前は開発中のものです。 [2018/08/13(月) 03:20:39.93 ID:KKp5w0E/.net]
potalの仕組みは実際にpotal買ってクリアしてみ

製作者の解説が聞けるぜ

94 名前:1 mailto:sage [2018/08/21(火) 17:18:06.27 ID:P+ykmxBw.net]
自前でゲーム作ってるんですが最近のゲームではほぼ必須の、チュートリアルで、
「○○の練習だやってみよう!」このボタンだけ押す、次はこのボタン、次は、、、というのはどう考えれば良いのでしょう。

単純に、矢印やそのボタン辺りだけ明るく周りを暗くして、他の操作は無反応にするってだけでもいけそうですけど。。。

95 名前:名前は開発中のものです。 mailto:sage [2018/08/21(火) 18:15:42.79 ID:Q5/9s8nZ.net]
それでもいい
深く考える必要はない
チュートリアル用の入力処理通りの一本道しか受け付けないんだし
一度しか使われないんだから、メインルーチンいじらずに
追加プログラムで乗っ取りかければよい

96 名前:1 mailto:sage [2018/08/22(水) 08:11:27.57 ID:T/cR3DQo.net]
>>94
レスありがとうございます。
作る前から難しそうって考えちゃうんですよね。実際作り始めるとそれほどでもない、ということ多々あるのに。
悪い癖だ。作り始めて考える、なんてのも導入しなきゃですね。
よーし、やるぞー、おー。

97 名前:名前は開発中のものです。 mailto:sage [2018/08/22(水) 10:04:29.16 ID:+07F0xQS.net]
つーかシナリオの第1章第2章とか
どうやって実装するつもり?それと同じだぞチュートリアルも

98 名前:1 mailto:sage [2018/08/22(水) 22:17:40.69 ID:T/cR3DQo.net]
>>96
ごめんなさい。章があるゲームではないもので。

99 名前:名前は開発中のものです。 [2018/08/25(土) 12:26:2 ]
[ここ壊れてます]

100 名前:5.73 ID:MKfcSVnL.net mailto: ドラクエなどゲーム中の文字が1つづつ順番に表示されていくメッセージ方法はどうやるのでしょうか? []
[ここ壊れてます]

101 名前:名前は開発中のものです。 mailto:sage [2018/08/25(土) 12:51:01.09 ID:OvQHBAkb.net]
文字を1つずつ表示していくのです



102 名前:名前は開発中のものです。 mailto:sage [2018/08/25(土) 16:00:26.64 ID:0BXhQFwr.net]
文字じゃないけど俺も気になる
タイマーでも使うのかな
イベントドリブンなプログラムって面倒だ

103 名前:名前は開発中のものです。 mailto:sage [2018/08/25(土) 16:16:04.68 ID:CuEuXqBV.net]
文章データの〇番目を表示させるだけだろ
タイマー時間後〇をインクリさせて呼ぶだけ

104 名前:名前は開発中のものです。 mailto:sage [2018/08/27(月) 19:26:58.08 ID:W/pOawXb.net]
ゲームだったら何かしらのメインタイマーは動かしてるだろうから、
単純に文字列を配列に入れて1文字ずつ取り出せばいい

順番に配列の要素を取り出す命令があるだろうし、なくてもindex番号の変数用意してインクリメントすればいい。

このスレだとcっぽい動作になるからかわからないけど、昔言ってたけど今はほとんど使わない用語使ってる人多いね。

ゲームもオブジェクト指向で書いた方が楽だよ。

105 名前:名前は開発中のものです。 mailto:sage [2018/08/27(月) 23:52:20.15 ID:7FICON83.net]
質問者さんは死んだんかな

106 名前:名前は開発中のものです。 mailto:sage [2018/08/29(水) 12:22:23.14 ID:g7vh8DKh.net]
開発が始まって忙しいと言いつつも
連投までして答えてくれるのにね

107 名前:名前は開発中のものです。 mailto:sage [2018/08/30(木) 10:18:12.22 ID:EuvN38El.net]
最近のゲームって海の波とかの表現凄いけど、あれもポリゴン処理なのかな?
まぁそれ専用の商業ライブラリとかありそうだけど、船が白波立てたりとか、設定した水面に物体が干渉するのとか設定出来るんかね

108 名前:名前は開発中のものです。 mailto:sage [2018/08/30(木) 13:26:59.90 ID:8CC7+Iyv.net]
水面や波はシェーダで
しぶきはパーティクルが基本やね

109 名前:名前は開発中のものです。 mailto:sage [2018/08/30(木) 14:53:31.11 ID:58pnB0BU.net]
下の毛の処理ってどーやってる?剃ったらチクチクするんだよなぁ

110 名前:名前は開発中のものです。 mailto:sage [2018/08/30(木) 15:04:07.12 ID:q8csUN/f.net]
そこもシェーダで

111 名前:名前は開発中のものです。 mailto:sage [2018/08/30(木) 15:12:33.93 ID:8CC7+Iyv.net]
カリングで



112 名前:名前は開発中のものです。 mailto:sage [2018/09/03(月) 14:40:51.05 ID:OhvFcOuP.net]
>>105
>海の波とかの表現
荒いのはジオメトリレベルで表現してる
(ちょっと古いけど)2Dの高低地図の計算結果を元にジオメトリをいじるやり方もある
https://news.mynavi.jp/article/graphics-56/

113 名前:名前は開発中のものです。 mailto:sage [2018/09/14(金) 22:16:00.06 ID:Rat/lDaG.net]
シェーバー使えよ

114 名前:名前は開発中のものです。 mailto:sage [2018/09/15(土) 13:26:02.93 ID:1xVzdLHU.net]
お気に入りはフィリップスですね

115 名前:名前は開発中のものです。 mailto:sage [2018/09/17(月) 07:46:18.41 ID:11fnJD9C.net]
>>3
亀で申し訳ないが、n がある程度自由に決められる数なら、2^n の数にすれば
AND でマスクするだけで済む。割り算って重たいからね。
経験上どうしても 2^n 以外にしないといけない場合ってめったにない。

116 名前:名前は開発中のものです。 [2018/10/27(土) 18:45:13.86 ID:OANpL5O5.net]
【本家が完走したけど、このスレってどーなってんの?】

117 名前:名前は開発中のものです。 mailto:sage [2018/12/27(木) 08:42:24.44 ID:vkWIuT25.net]
c#触り始めてるんだけど、明示的な型の定義とかナントカがめんどすぎる。
とりあえず何でも入る型とかってないのか。
VBでいうobjectとかvariantとか。

118 名前:名前は開発中のものです。 mailto:sage [2018/12/27(木) 08:44:15.16 ID:vkWIuT25.net]
>>113
それ知りたいです。
なんてキーワードで検索すれば良いですか?
割り算の高速化、とかかな。

119 名前:名前は開発中のものです。 mailto:sage [2018/12/27(木) 09:53:02.20 ID:DqRp1IMl.net]
>>115
void

120 名前:名前は開発中のものです。 mailto:sage [2018/12/27(木) 10:22:43.87 ID:AhZXfowm.net]
>>116
そのレスでほとんど語ってるが語ってる内容がわかんないってならビット演算子で検索するといいよ

121 名前:115 mailto:sage [2018/12/30(日) 22:52:35.30 ID:qdLlihgJ.net]
>>117
え、マジですか。空っぽを返すとしか認識してないのですが。

>>118
なんとなく分かりました。0101ニシン数を右にシフトすると基本半分になる奴ですね。ちょっと調べて割り算関係のところを改良するのは楽しそう。



122 名前:115 mailto:sage [2018/12/30(日) 22:55:23.17 ID:qdLlihgJ.net]
あ、間違った。AND関数でマスクというのは、ビット演算で、任意の箇所だけ残す的なやつか。
勉強してみます。ありがとうございます。

123 名前:名前は開発中のものです。 mailto:sage [2019/01/17(木) 14:41:40.08 ID:7TWzM6ZF.net]
>>119
c#のdynamic型。
ただし、動的型付けじゃないと困る場面でなければ使う必要ない。素直に型定義しとけ

124 名前:名前は開発中のものです。 mailto:sage [2020/03/02(月) 11:38:25.33 ID:ioQXd+CC.net]
>>119
まあ void じゃなくて void * だけどね
趙亀レス

125 名前:名前は開発中のものです。 [2020/04/22(水) 22:22:24 ID:uQHhJAOe.net]
ゲーム作りたいな、と軽い気持ちで調べて、このスレ読んでいきなり心折れそうなんやが

126 名前:1 [2020/06/26(金) 09:24:36 ID:1Y6XlZbc.net]
1です。

>>3についての>>70>>77の記述に対して、コメしようと思ったけどやめました。

3の式は5に発展して、送る数が複数でもよくなったり逆順でも大丈夫になって、0〜nを前後にループさせることができるようになったんですよね。

自分的には、74さんのツッコミの意図は、自分(1)はなるべく汎用的な数式で表わそうとしていたんですが、それに対し70,77さんが、書き方と処理の流れが分かってないと理解しづらい三項演算子や、Cでの書き方を記述したからではないのかなあ、と思いました。

127 名前:弟子 mailto:sage [2020/06/29(月) 05:44:55.34 ID:dQV6Jn9N.net]
主さんはそろそろユニティに移行したのかな?それともまだVBなのかな?

128 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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