10周年のSPコンテンツ!
0
矢野 雅士 / ますす / まっす @masusu
【シリーズ ビデオゲームの仕組み】「ローディング」編 一口にローディングと言っても、実体は様々なものがある。 大雑把に言えば、ゲームが始まる前に必要なデータを揃える工程ではあるが、必ずしも「Load」=「データの読み込み」とも限らない。
矢野 雅士 / ますす / まっす @masusu
そもそも読み込まなければならないデータとは、大きく分けて2種類ある。 「全てを読み込まないと意味がないデータ」と、「データの一部分(主に先頭)だけ読めばよいデータ」である。 前者は3Dでのキャラのモデルデータ、後者はBGM等、時間をかけて再生するものを想像するとわかりやすい
矢野 雅士 / ますす / まっす @masusu
昨今、ゲーム内の表現におけるデータの量はまだまだ増え続けているなか、様々な方法でローディングによる待ち時間が長くなることを、開発者は頭を捻って懸命に模索している。
矢野 雅士 / ますす / まっす @masusu
その1:プリロードと、本来ならプリロードに向かないデータをプリロードする取り組み プリロードとは、さきほど挙げた「先頭部分を読み込む」という工程を指す。有名、よくある例としては、BGMや動画のの先頭部分を読み込んでおき、再生している間に続きのデータを読み込む、という形式。
矢野 雅士 / ますす / まっす @masusu
これによって、全体的な待ち時間は相当に短縮される。最も効果の高い対応策、とも言えるかもしれない。 その劇的な効果ゆえか、有名ビデオゲームでもよくゲームシステム自体を工夫してプリロードを可能にする取り組みがとられている。
矢野 雅士 / ますす / まっす @masusu
たとえばフィールドを自由に散策するタイプのゲームを考えてもらいたい。 この際、フィールドはなんらかの単位に区切られていたりせず、ユーザは任意の方向へ、自由に動けるもの、いわゆる「オープンワールド」である場合、フィールドを構成するほとんどの要素を事前にロードする必要がある。
矢野 雅士 / ますす / まっす @masusu
厳密に言えば、現在位置から視界外になるほど遠い部分のモデルデータ等は、あとから読み込まれたりもする。
矢野 雅士 / ますす / まっす @masusu
それに比べると、例えばあるエリアAから始まり、AからはBかCに行ける。CからはAに戻るかDに行くかが選べる、というような「部屋式」である場合、Dのデータは初期段階にロードしなくてもよい場合がある。
矢野 雅士 / ますす / まっす @masusu
音楽や動画の再生と同じで、ユーザがあるエリアに到達するまでにある程度の時間がかかるようにしておくことで、「あとで読めばいいデータ」にしてしまう、という手法である。
矢野 雅士 / ますす / まっす @masusu
例えば某国内産メジャーRPGの10作目は、基本的にシナリオは一本道で、ユーザは話にそって先に進むだけである。こういったシステム・デザインにすることによって、本来フルロードが必要だったデータをプリロードする時間を稼ぐ手法がよく見受けられる。
矢野 雅士 / ますす / まっす @masusu
ちなみに同シリーズの13作目においては、同じスタイルの上に「エリア一つがやたら縦に長い」「分岐もない」「戻れない」等、苦肉の策を詰め込んだような構成をしているが、そうでもしなければ追いつかないと容易に想像できるほど画面を構成する要素は格段に多かった。
矢野 雅士 / ますす / まっす @masusu
さて、少し話がそれたが、データを読むタイミングをずらす以外に、ロード時間を短くする方法はまだまだある。 次はデータの圧縮である。 読み込むデータを、特定の形式で圧縮しておき、それを展開してからメモリに転送する。 ただしこの方法は全てのデータに用いることができるわけではない
矢野 雅士 / ますす / まっす @masusu
向いているタイプのデータもあれば、そうでもないデータもある。 さらに最近、ローディングとひとまとまりにされているものの中には、読み込み元がローカルストレージではないものも含まれる。 つまり、外部からデータを転送している場合もある。
矢野 雅士 / ますす / まっす @masusu
この際、データの通信方式にもよるが、「データがどのくらいの割合で揃ったのか」を計算して出し、予測終了時間と進行状況を出すいわゆる「プログレス表示」という手法があるが、これまた必ずしも有効な表現にならない場合もある。
矢野 雅士 / ますす / まっす @masusu
また、データ読み込み先でなんらかの処理が行われ、その返答を待っている時間、などもローディング中に行われるケースもよく見られる。 こういった場合は、もはやいつそのデータ転送が終わるのかは、相手の状況次第なので、予測も出しようがない。
矢野 雅士 / ますす / まっす @masusu
たとえば、最近見受けられるのがスマホのゲームでGoogleアカウントと連動、iPhoneならゲームセンター?と連動という形式だ。 これらは、アカウントと連動することにより、プレイ状況を他のユーザと共有することができるサービスだが、「正直いらん」という方はこれをオフるのも手だろう。
矢野 雅士 / ますす / まっす @masusu
特殊なアプローチとしては、「そもそも待ち時間を退屈な時間にしない」というものもある。 有名なプレステ初期のタイトルでは、ローディングの間今で言うレトロゲームが遊べた。昨今のタイトルでも、マッチング待ちにミニゲームが遊べたスプラトゥーン等の例もある。
矢野 雅士 / ますす / まっす @masusu
と、ローディングとそれがもたらすプレイアビリティの低下を防ぐ試みについて、だらだらと書き流してみた。 皆さんも、「このゲーム、やたらロードなげえ」と思ってお怒りになる前に、「こういうゲーム構造だから無理もないね」「あ、こういう工夫をしてるんだね」ということに気づければ、開発者も
矢野 雅士 / ますす / まっす @masusu
きっと嬉しいんじゃないだろうか。 そんな遊ぶ人も、作る人もハッピーなシチュエーションを、これからも探してはつぶやいたりするかもしれません。 【End of Dabun】
矢野 雅士 / ますす / まっす @masusu
で、僕が何を言いたいかってーとFE無双ロードなげえんじゃごるあああああああああ!!!!!!!!!!!!!ヽ(`Д´)ノ おまけにステージマップ見て、対策キャラ絞って、補強のためにショップ行ったらもうステージデータ飛んでてまたロードが必要とか何なの?!
矢野 雅士 / ますす / まっす @masusu
もうちょっとなんとかならなかったの!? いや、それでもやるんだけどなw
矢野 雅士 / ますす / まっす @masusu
ちなみに現在ようやくストーリーモードクリア後隠しも含めておそらく全キャラが揃ったところです。

コメント

コメントがまだありません。感想を最初に伝えてみませんか?

ログインして広告を非表示にする
ログインして広告を非表示にする