- 1 : 2021/10/03(日) 04:26:31.198 ID:IxqYYFJp0
- 色んな武器や魔法とか攻撃パターンがあるけど
1つ変更するとなるとすべてのマップで変更って事だよな? - 2 : 2021/10/03(日) 04:27:58.539 ID:D8Jc0GbK0
- ステージ自体はそんなメチャクチャ広くはないんじゃないの
ロードとかあるし - 4 : 2021/10/03(日) 04:30:11.689 ID:IxqYYFJp0
- >>2
分けて作るとなると
関数やクラスを分けなきゃいけないわけで
そうなると修正が入るとすべての関数とクラスで書き直さないといけなくなる - 5 : 2021/10/03(日) 04:30:20.094 ID:cMMownIq0
- >>2
最古参コテ久しぶり仕事はうまく言ってるか
- 3 : 2021/10/03(日) 04:28:57.369 ID:IxqYYFJp0
- それとも尋常じゃないくらい大きな面を用意して
互いのマップをある程度一つにして作ってんのかな? - 6 : 2021/10/03(日) 04:31:54.499 ID:IxqYYFJp0
- あの膨大なロード時間って
とてつもないくらい大きな変数を用意して一つの面で表現してんのかな?
で、必要な背景と敵の変数と3DCGだけ読み込む - 7 : 2021/10/03(日) 04:33:19.197 ID:PCYZNz1R0
- 何が言いたいのか分からん
例えばスケルトンが魔法を使うように変更したら
地上の墓地のスケルトンも、地下の墓地のスケルトンも魔法を使ってくるようになるよねって話? - 9 : 2021/10/03(日) 04:35:38.592 ID:IxqYYFJp0
- >>7
そういうこと
特定のマップだけで特定の動きをするだけなら
そのマップが表示されているの関数やクラスの中の条件式などを変更したら行けるけど
もしすべてのマップで適応となると
すべてのマップが表示されている条件式を変更しないといけなくなる - 14 : 2021/10/03(日) 04:37:59.943 ID:PCYZNz1R0
- >>9
別にマップで関数やクラスを分けたりしないから何を言いたいのかがうまく汲み取れねぇ
マップとキャラクターは完全に独立したオブジェクトだし
特殊な動作はAI関数に組み込んだり引数で渡したりするから
一つ一つを変えることはないよ - 16 : 2021/10/03(日) 04:42:32.497 ID:IxqYYFJp0
- >>14
そこなんだよ
別のオブジェクトだからこそ問題で
別のオブジェクトの場合条件式を書くとき
ダイレクトに条件式を書かないといけないから
条件式を使いまわせない - 8 : 2021/10/03(日) 04:34:13.649 ID:IxqYYFJp0
- 例えば32ドットずつの四角形を一つのマスとして
スーパーマリオブラザーズを作ろうとすると
横に300、縦に20くらいでしょ?
これを横に300、縦に300にすると
一つの関数で15面まで作れる
もし何か修正や追加する場合は一つの関数だけで15面までは対応できる - 10 : 2021/10/03(日) 04:35:48.977 ID:mjxqYvGx0
- 別キャラとして作るだけじゃねーの
- 11 : 2021/10/03(日) 04:36:03.963 ID:79cb1F1v0
- アニメーション一つあればキャラクター変わっても使えるんじゃないの?
- 12 : 2021/10/03(日) 04:36:15.869 ID:2WS3zUP0a
- ダクソってオープンワールドではなくね?
- 13 : 2021/10/03(日) 04:37:52.591 ID:ajRpF6NxM
- そう言う何か変更する度に全部変更するってのをしないようにクラスを作るんじゃねえのか
- 15 : 2021/10/03(日) 04:38:09.398 ID:IxqYYFJp0
- 上の例でいうと
マリオを作っている時に
1面の横が300、縦20のマップを作り
一つの関数で条件式を描いて当たり判定からジャンプまでを作り
次のステージに行ったときに
別のクラスに移動させたとする
これを15個のクラスを作り15個のステージに合わせて作ればいいけど
例えばマリオが空を飛べるようにすると
15個すべてのクラスの条件式の書き替えになる
でも一つのステージを横に並列して作っておけば
一つのクラスだけで書き直しが不要になる - 17 : 2021/10/03(日) 04:45:59.223 ID:IxqYYFJp0
- 一つの関数かクラスで書けるだけ書いていって
一定数を達したくらいでわけるみたいな感じなのかなぁ?
プロってどうやってんだろ
独学だとサパーリ - 18 : 2021/10/03(日) 04:49:17.276 ID:IxqYYFJp0
- 例えばSTGで言えば
7面あるじゃんか?
あれを並列して横に置いて
一つの関数かクラスで書けば
一つの関数かクラスでいける
その時にキャラの追加とか仕様の変更をするとなれば
一つの関数かクラスの変更でいけるけど
1つずつ面を関数かクラスで分けると全部で書き換えが必要になるというか
例えばドラクエを作る時に町と洞窟とかをすべて一緒にして作れば
UIの変更の時とかもそのまま1か所直すだけで動く
物凄い強烈にコード数が増えそうだけど - 19 : 2021/10/03(日) 04:50:50.219 ID:PCYZNz1R0
- イマイチ>>1のイメージが掴めん
敵のAIはマップ別に分かれていて
「マップAの敵」みたいな感じで処理が用意されてると考えてる?
そしてマップ別にクラスを分けてしまうと共通する挙動の修正が大変って話? - 22 : 2021/10/03(日) 04:54:14.892 ID:IxqYYFJp0
- >>19
えーとさ
普通に考えると
街と城と世界マップの3つがあるとしたら
普通なら3つ関数かクラスで分けるよね?
ここまではわかる?
街の関数、城の関数、世界マップの関数と分けるよね?
これで分けないというと
一つの関数かクラスでシーケンスで分けてゴチャゴチャになりながら実装していく感じになるんだけど - 20 : 2021/10/03(日) 04:51:03.313 ID:8qVaq4N00
- 何を言ってるかよくわからないけど根本的に勘違いしてる
- 21 : 2021/10/03(日) 04:51:24.602 ID:IxqYYFJp0
- あの異常に長いコンシューマーのロード画面って
いくつかのマップを一つの面で作っていて
いらない画像や変数を呼び出さず
必要な画像と変数だけをロードしているから
あんなに長いロードになってんのかな? - 23 : 2021/10/03(日) 04:56:44.312 ID:IxqYYFJp0
- 例えばUnityで言えば
スタート画面、ゲーム画面、ゲームオーバーの画面と3つあるとすると
3つ分けるよね?
これがRPGだと
城のマップ、町のマップ、世界マップと3つに分けるものだと思っていたんだけど
でもこれって分けないで一つで作ってんじゃないの?と気づいてしまったんだよね - 25 : 2021/10/03(日) 04:58:55.791 ID:IxqYYFJp0
- 例えば分けるとどうなるかなんだけど
ゼルダとかをイメージしてほしいんだけど
武器とか、特殊攻撃みたいなのが冒険進めるたびに増えていくじゃないか?
これをマップごとに分けて作っていると
後から追加したものがあると
前のマップの関数やクラスに戻って実装させないといけないわけよ
それが50マップなら50個追加修正しないといけなくなるから
え?これマジで言ってんの?と思って前止まっちゃったんだよね - 27 : 2021/10/03(日) 05:01:31.122 ID:IxqYYFJp0
- 逆に言えば分けてないからあんなにコンシューマーってロード時間が長いの?
ようするに必要なシーケンスの場面だけ必要なものをロードして
いらないのを消していってる感じなの? - 29 : 2021/10/03(日) 05:06:09.556 ID:IxqYYFJp0
- むしろ今考えれば小規模なゲームこそ分けて作ってる方がバカだよな
そんなにメモリを一度で消費してなそうだし
必要なものも何もすべてロードしてやる感じでいいもんなぁ - 31 : 2021/10/03(日) 05:09:08.726 ID:IxqYYFJp0
- というかこれはゲーム特有なのかな?
普通こんな事しないよな
WEBとかでも全部HTMLはわけるものだし
一つのHTMLで全部のサイトを書くなんて頭おかしい気がする - 32 : 2021/10/03(日) 05:14:39.288 ID:IxqYYFJp0
- 例えばUnityでいえば一つ目のシーンで全部のマップの処理を鬼のようにコード数増やして
書いてるようなもんだけど
それが普通なのか
ダークソウルみたいなオープンワールドみたいなゲームを作る時にさ?
VIP


コメント