アクションゲームの仕様について相談したいんやが開発者いたら来てくれ

1: 新年まで@33:08:18 20/12/30(水)14:51:42 ID:mcT
2Dアクションなんやがステージを読み込み制にするかシーン切り替え制にするか迷ってる
2: 新年まで@33:07:10 20/12/30(水)14:52:50 ID:3p1
>>1
今はモリモリメモリアルからシーン切り替えでええんちゃう?
悪魔上ドラキュラ最高や。
今はモリモリメモリアルからシーン切り替えでええんちゃう?
悪魔上ドラキュラ最高や。
3: 新年まで@33:06:34 20/12/30(水)14:53:26 ID:mcT
>>2
ロード早いかな?
そのへんのメリットデメリットもあんまわかってないんよ
ノウハウないから
ロード早いかな?
そのへんのメリットデメリットもあんまわかってないんよ
ノウハウないから
6: 新年まで@33:04:21 20/12/30(水)14:55:39 ID:3p1
>>3
今いる周辺が読み込まれてればええのと、メモリに余裕があれば近隣マップを先読みするだけや。
今いる周辺が読み込まれてればええのと、メモリに余裕があれば近隣マップを先読みするだけや。
7: 新年まで@33:03:01 20/12/30(水)14:56:59 ID:mcT
>>6
あれ?
シーン切り替えってワイ箱庭みたいなちっちゃなマップの出口に入ると画面が暗転して次のマップの入り口に立ってる感じかと思った
あれちゃうんか?
それはむしろシームレスちゃう?
変なこと言ってたらすまん
あれ?
シーン切り替えってワイ箱庭みたいなちっちゃなマップの出口に入ると画面が暗転して次のマップの入り口に立ってる感じかと思った
あれちゃうんか?
それはむしろシームレスちゃう?
変なこと言ってたらすまん
4: 新年まで@33:05:47 20/12/30(水)14:54:13 ID:mcT
システム面をひたすら作り込んできてさぁ作るぞって段になって全くわからん
この辺の議論を昔Unityスレを立てたときにされてるの見たからお前ら詳しいんちゃうかと思って
この辺の議論を昔Unityスレを立てたときにされてるの見たからお前ら詳しいんちゃうかと思って
5: 新年まで@33:04:42 20/12/30(水)14:55:18 ID:mcT
teratailにこんなほわほわした質問投げられんしな…
8: 新年まで@33:02:29 20/12/30(水)14:57:31 ID:3p1
ぶっちゃけどっちもええってのはあるけど、どんなゲームにしたいかが重要やと思うは。
悪魔上ドラキュラとか一つの城を舞台にしてるからな。
上に行くと上ステージへ右へ行くと右ステージへみたいな感じやし。
マリオみたいなストーリー一直線ならステージ制でええと思う。
悪魔上ドラキュラとか一つの城を舞台にしてるからな。
上に行くと上ステージへ右へ行くと右ステージへみたいな感じやし。
マリオみたいなストーリー一直線ならステージ制でええと思う。
10: 新年まで@33:01:31 20/12/30(水)14:58:29 ID:mcT
>>8
一本道になるかもしれん
きちんとしたの作るの初めてやし
あっても裏ダンジョン一つとかやろか
一本道になるかもしれん
きちんとしたの作るの初めてやし
あっても裏ダンジョン一つとかやろか
9: 新年まで@33:02:15 20/12/30(水)14:57:45 ID:mcT
マジで独学やから変なこと言ってると思うけど暇やったら勉強させてくだせぇ…
11: 新年まで@33:01:00 20/12/30(水)14:59:00 ID:mcT
いや、希望言うわ
実はシームレスがええんや…
でもシームレスの実装法がわからん
実はシームレスがええんや…
でもシームレスの実装法がわからん
12: 新年まで@33:00:46 20/12/30(水)14:59:14 ID:mcT
超でかい一つのシーンを作って周りだけロードする感じ?
13: 新年まで@33:00:23 20/12/30(水)14:59:37 ID:3p1
いっちが思ってるのって技術的にはどっちも同じ気がするわ。
ステージの端に行けば、その先のマップが表示されるかだけの表現の違いじゃね?
ステージの端に行けば、その先のマップが表示されるかだけの表現の違いじゃね?
15: 新年まで@32:59:21 20/12/30(水)15:00:39 ID:mcT
>>13
確かにそうかもしれん
でもワイのイメージでは
シームレスは常に周囲の0.3の範囲を実体化する感じで、シーン切り替えは暗転ロードはさみつつ小さなマップの1を切り替えていく感じやと思ってた
確かにそうかもしれん
でもワイのイメージでは
シームレスは常に周囲の0.3の範囲を実体化する感じで、シーン切り替えは暗転ロードはさみつつ小さなマップの1を切り替えていく感じやと思ってた
17: 新年まで@32:57:17 20/12/30(水)15:02:43 ID:3p1
>>15
いっちがやりたいシームレスはなんとなくわかったが、おすすめせんで。
NPCの制御が膨大になるから。
制限かけてないと、時間がたてばボスクラスが目の前にとか・・・
いっちがやりたいシームレスはなんとなくわかったが、おすすめせんで。
NPCの制御が膨大になるから。
制限かけてないと、時間がたてばボスクラスが目の前にとか・・・
18: 新年まで@32:56:39 20/12/30(水)15:03:21 ID:mcT
>>17
他のアプローチで実装できんやろか
シーン切り替えが無難かな?
他のアプローチで実装できんやろか
シーン切り替えが無難かな?
14: 新年まで@33:00:17 20/12/30(水)14:59:43 ID:mcT
でもそのロードってのが分からんな
シーンでもなくマップをロードする方法があるんかね?
シーンでもなくマップをロードする方法があるんかね?
16: 新年まで@32:58:06 20/12/30(水)15:01:54 ID:mcT
大きな世界の中を移動する感じとたくさんつながった小さな世界を渡り歩く感じって言えば分かるやろか
認識に間違いがあったら教えてクレメンス
完全に独断と偏見のイメージや
認識に間違いがあったら教えてクレメンス
完全に独断と偏見のイメージや
19: 新年まで@32:55:38 20/12/30(水)15:04:22 ID:3p1
管理が大変なだけでできなくないで。
管理が大変なだけで・・・
管理が大変なだけで・・・
23: 新年まで@32:55:13 20/12/30(水)15:04:47 ID:mcT
>>19
ありがとう
ありがとう
20: 新年まで@32:55:26 20/12/30(水)15:04:34 ID:mcT
う~ん
21: 新年まで@32:55:22 20/12/30(水)15:04:38 ID:mcT
あかんかろ
22: 新年まで@32:55:18 20/12/30(水)15:04:42 ID:mcT
あかんか…
24: 新年まで@32:54:12 20/12/30(水)15:05:48 ID:3p1
敵はこの範囲から出られないというのを全員につけなあかんし、主人公がXXpxの範囲になってアクティブになるとか。
一度死んだ敵の復活方法とか。
ボスとの戦闘中、エリアから抜けられないようにするとか。
一度死んだ敵の復活方法とか。
ボスとの戦闘中、エリアから抜けられないようにするとか。
26: 新年まで@32:53:05 20/12/30(水)15:06:55 ID:mcT
>>24
敵は主人公が一定まで近寄らんと動かんようになってる
あと初期位置にドッグパイルつけてるからそれは問題ない
敵は主人公が一定まで近寄らんと動かんようになってる
あと初期位置にドッグパイルつけてるからそれは問題ない
25: 新年まで@32:53:34 20/12/30(水)15:06:26 ID:mcT
シーン切り替えをシームレスに見せる工夫について考えようかな
そんなことできるのかな
あとあほやから変数をscriptableのstaticにしてないのが結構あるのでシーン切り替え形式ならコードも書き直さんと
そんなことできるのかな
あとあほやから変数をscriptableのstaticにしてないのが結構あるのでシーン切り替え形式ならコードも書き直さんと
27: 新年まで@32:53:04 20/12/30(水)15:06:56 ID:3p1
全部スクリプトにしなはれ。
28: 新年まで@32:52:37 20/12/30(水)15:07:23 ID:GM5
昔のマリオブラザーズみたいに独立したステージをたくさん用意して順に進んでいくのか、ダークソウルみたいに全部繋げて1つのマップにおさめるかって話?
それとも、ダークソウルはプレイヤーキャラの周辺のみオブジェクトとか読み込んで処理してると思うが、マイクラみたいに見えてないところも常に処理し続ける、みたいな話?
それとも、ダークソウルはプレイヤーキャラの周辺のみオブジェクトとか読み込んで処理してると思うが、マイクラみたいに見えてないところも常に処理し続ける、みたいな話?
30: 新年まで@32:52:09 20/12/30(水)15:07:51 ID:mcT
>>28
見えないところは処理しない
ダクソ形式や
ちなセンの古城バグはあれそういうことやったんやな
見えないところは処理しない
ダクソ形式や
ちなセンの古城バグはあれそういうことやったんやな
29: 新年まで@32:52:36 20/12/30(水)15:07:24 ID:mcT
動かないというよりは機能を凍結されてる感じ
一旦持ち場を離れたら持ち場に戻るまでは範囲外に行っても動く
一旦持ち場を離れたら持ち場に戻るまでは範囲外に行っても動く
31: 新年まで@32:50:49 20/12/30(水)15:09:11 ID:3p1
マップイメージの読み込みのイメージとしてはGoogleマップをイメージしたらええで。
35: 新年まで@32:49:11 20/12/30(水)15:10:49 ID:mcT
>>31
確かに徐々に読み込まれるもんな、ストリートビュー
確かに徐々に読み込まれるもんな、ストリートビュー
32: 新年まで@32:50:42 20/12/30(水)15:09:18 ID:mcT
ちなみにベースAIクラスにそういうのつけてるから継承して個々のAIにはデフォルトでついてる
意図的に外せるけど
敵キャラの管理は大丈夫や
あとは列挙型でマップごとに識別表作って、休憩ポイントごとに復活する識別表の敵を選択するとかどうや?
意図的に外せるけど
敵キャラの管理は大丈夫や
あとは列挙型でマップごとに識別表作って、休憩ポイントごとに復活する識別表の敵を選択するとかどうや?
33: 新年まで@32:49:31 20/12/30(水)15:10:29 ID:3p1
個人的には全部の敵、死亡から経過時間で復活+強化だと楽しいかもしれん。
36: 新年まで@32:48:51 20/12/30(水)15:11:09 ID:mcT
>>33
地獄過ぎて草
ただ味方のNPCが相当強いからありかも
地獄過ぎて草
ただ味方のNPCが相当強いからありかも
34: 新年まで@32:49:22 20/12/30(水)15:10:38 ID:mcT
ボスとの戦闘中抜けられないようにするのは簡単そうやな
ボス戦フラグを立てればいい
帰還アイテムにはボス戦フラグを折る効果まで含めればリスタートもできそう?
まだなんかネックになるところあるかな
ボス戦フラグを立てればいい
帰還アイテムにはボス戦フラグを折る効果まで含めればリスタートもできそう?
まだなんかネックになるところあるかな
37: 新年まで@32:48:26 20/12/30(水)15:11:34 ID:GM5
今さらやが悩みの内容が分かってきた
マリオ形式かダクソ形式かで悩んでいて、理想は後者やけど実際に実装するとなるとどのようにしたらいいのだろうかっていうので悩んでいるということか?
マリオ形式かダクソ形式かで悩んでいて、理想は後者やけど実際に実装するとなるとどのようにしたらいいのだろうかっていうので悩んでいるということか?
38: 新年まで@32:48:13 20/12/30(水)15:11:47 ID:mcT
>>37
せやねん
ほんまわかりにくくてごめんね
せやねん
ほんまわかりにくくてごめんね
39: 新年まで@32:47:43 20/12/30(水)15:12:17 ID:3p1
画面を9分割したくらいが1単位として、自身を中心とした81単位くらいを常にメモリ上に展開しておけばええと思う。
敵はもう少し早い目にロードしておいて。移動速度に間に合えばおk。
敵はもう少し早い目にロードしておいて。移動速度に間に合えばおk。
40: 新年まで@32:46:52 20/12/30(水)15:13:08 ID:mcT
>>39
そのロードってのはどうすればええんやろか
たとえばエフェクトをロードするならそのエフェクトのプレハブを呼び出せばええよな?
自分の周りのマップを呼び出すってのはどうすればええの?
なにを呼び出すんやそれ
そのロードってのはどうすればええんやろか
たとえばエフェクトをロードするならそのエフェクトのプレハブを呼び出せばええよな?
自分の周りのマップを呼び出すってのはどうすればええの?
なにを呼び出すんやそれ
46: 新年まで@32:45:26 20/12/30(水)15:14:34 ID:3p1
>>40
HDDやSSDからテクスチャロードして、いつでもDraw関数にツッコめるようにする。
HDDやSSDからテクスチャロードして、いつでもDraw関数にツッコめるようにする。
48: 新年まで@32:44:24 20/12/30(水)15:15:36 ID:mcT
>>46
すまん、エンジン使ってるけど描画にワイが手を回せる?
それともテクスチャデータをコードでロードしとけばオーケー?
すまん、エンジン使ってるけど描画にワイが手を回せる?
それともテクスチャデータをコードでロードしとけばオーケー?
41: 新年まで@32:46:45 20/12/30(水)15:13:15 ID:mcT
ばあちゃんから電話
42: 新年まで@32:46:19 20/12/30(水)15:13:41 ID:3p1
2Dといいつつ、オブジェクトは3Dかい?
45: 新年まで@32:45:31 20/12/30(水)15:14:29 ID:mcT
>>42
いや2Dや
いや2Dや
43: 新年まで@32:45:58 20/12/30(水)15:14:02 ID:Iug
LoadAsyncである地点に差し掛かったら地形のシーン読み込む非同期ロード使うんやったけ?
47: 新年まで@32:45:15 20/12/30(水)15:14:45 ID:mcT
>>43
地形データとか2Dでいけるんか?
地形データとか2Dでいけるんか?
49: 新年まで@32:44:19 20/12/30(水)15:15:41 ID:3p1
>>47
2Dなら複数の素材を重ね合わせるのもある。
背景+中層の背景+マップオブジェクトみたいな。
2Dなら複数の素材を重ね合わせるのもある。
背景+中層の背景+マップオブジェクトみたいな。
44: 新年まで@32:45:37 20/12/30(水)15:14:23 ID:mcT
すまんこ
50: 新年まで@32:42:41 20/12/30(水)15:17:19 ID:3p1
なんのエンジン使ってるかわからんが、
Draw( 10 , 20 , "AAA.bmp" )みたいなクソな事やってないやろ?
Load( mTex, "AAA.bmp" ) メモリ上に展開
Draw( mTex, 10, 20 )描画
みたいな感じや。
Draw( 10 , 20 , "AAA.bmp" )みたいなクソな事やってないやろ?
Load( mTex, "AAA.bmp" ) メモリ上に展開
Draw( mTex, 10, 20 )描画
みたいな感じや。
52: 新年まで@32:41:58 20/12/30(水)15:18:02 ID:mcT
>>50
Unityエンジンや
描画はレンダラー任せですゾ…
Unityエンジンや
描画はレンダラー任せですゾ…
51: 新年まで@32:42:24 20/12/30(水)15:17:36 ID:mcT
ああ、ロードってInstantinateする準備かと思ってたけどそういう読み込みのためにするのもあるんやな
でも同じマップならだいたいテクスチャ同じやと思うが通り過ぎた場所アンロードするにはどうすればええんやろか
でも同じマップならだいたいテクスチャ同じやと思うが通り過ぎた場所アンロードするにはどうすればええんやろか
53: 新年まで@32:41:56 20/12/30(水)15:18:04 ID:3p1
Disposeとかないか?
54: 新年まで@32:41:40 20/12/30(水)15:18:20 ID:mcT
>>53
Disposeに近いものならある
メモリ開放やろ?
ありますやで
Disposeに近いものならある
メモリ開放やろ?
ありますやで
55: 新年まで@32:40:56 20/12/30(水)15:19:04 ID:mcT
アンロードとか破棄とかとは違うのか?
Disposeは使ったことないなUnityで…
Disposeは使ったことないなUnityで…
56: 新年まで@32:39:06 20/12/30(水)15:20:54 ID:3p1
テクスチャもDisposeすればええねん。
ガベージコレクションで破棄してくれると思うで。
DirectXおじさんでUnity触ってないからなんとも言えんが。
ガベージコレクションで破棄してくれると思うで。
DirectXおじさんでUnity触ってないからなんとも言えんが。
62: 新年まで@32:36:40 20/12/30(水)15:23:20 ID:mcT
>>56
えっと
同じテクスチャを共通して参照してる部分が大きいでっかいマップを移動してるとき、周囲の狭い範囲を移動しつつロードするのはどうすればええのかな
ごめんほんま
頭悪くて
えっと
同じテクスチャを共通して参照してる部分が大きいでっかいマップを移動してるとき、周囲の狭い範囲を移動しつつロードするのはどうすればええのかな
ごめんほんま
頭悪くて
64: 新年まで@32:34:11 20/12/30(水)15:25:49 ID:3p1
>>62
>>61で書いたようなアクティブ素材に関してタイムスタンプを更新するようなクラスを作れば、必要とした時刻を常に更新し続けてあげたら、このテクスチャの有効時刻は新しいからそのまま。
使わなくなった素材のタイムスタンプはどんどん古くなっていくので、そういった素材から解放される。
>>61で書いたようなアクティブ素材に関してタイムスタンプを更新するようなクラスを作れば、必要とした時刻を常に更新し続けてあげたら、このテクスチャの有効時刻は新しいからそのまま。
使わなくなった素材のタイムスタンプはどんどん古くなっていくので、そういった素材から解放される。
66: 新年まで@32:33:05 20/12/30(水)15:26:55 ID:mcT
>>64
なるほど!
増えてきたら古いのから消す感じか!
それなら増える=読み込みやし溢れたとこから消していけますね
なるほど!
増えてきたら古いのから消す感じか!
それなら増える=読み込みやし溢れたとこから消していけますね
57: 新年まで@32:38:51 20/12/30(水)15:21:09 ID:6vP
どっちが良いかわからんのならどっちも作って別のゲームにしようぜ
60: 新年まで@32:37:47 20/12/30(水)15:22:13 ID:mcT
>>57
ポジティブすぎる
ポジティブすぎる
58: 新年まで@32:38:28 20/12/30(水)15:21:32 ID:mcT
Unityには独自のメモリ管理システムがあるからディスポーズは使わんかも
使ったほうがええかな
使ったほうがええかな
59: 新年まで@32:38:10 20/12/30(水)15:21:50 ID:GM5
イッチと有能おんJ民がんばれ
アクションゲームは門外漢やからワイは見てるだけになるけど
こういう苦労も含めてゲーム開発って楽しいよな
アクションゲームは門外漢やからワイは見てるだけになるけど
こういう苦労も含めてゲーム開発って楽しいよな
61: 新年まで@32:37:21 20/12/30(水)15:22:39 ID:3p1
基本的に開放に関してはメモリ管理クラスでもつくってやらせたらええで。
必要なテクスチャ情報を事前読み込みor読み込んでる場合に時刻を登録。
残メモリ容量を監視して、厳しくなったら古い時刻の素材からDispose
必要なテクスチャ情報を事前読み込みor読み込んでる場合に時刻を登録。
残メモリ容量を監視して、厳しくなったら古い時刻の素材からDispose
63: 新年まで@32:34:32 20/12/30(水)15:25:28 ID:mcT
それとも気をつけるのはテクスチャのロードだけでええんか?
そうしてたら周囲のオブジェクトのぶんだけ勝手に演算してくれたりするかな?
いやそもそも違うのかな
ダクソとかでもマップ読み込みでバグるのは切れ目のとこだけだったもんな
マップの入り口で全部読み込んでしまうもんなのかな?
そうしてたら周囲のオブジェクトのぶんだけ勝手に演算してくれたりするかな?
いやそもそも違うのかな
ダクソとかでもマップ読み込みでバグるのは切れ目のとこだけだったもんな
マップの入り口で全部読み込んでしまうもんなのかな?
65: 新年まで@32:33:13 20/12/30(水)15:26:47 ID:6vP
次のエリアの入り口が画面に入るときにロードしたらええんちゃう
https://sp.logsoku.com/r/open2ch.net/livejupiter/1609307502/
この記事へのコメント