Choose your operating system:
Windows
macOS
Linux
実装方法を選んでください。
C++
「ゲームを保存する」という意味はゲームによって大きく変わりますが、最新ゲームにおいて一般的な考え方ではプレイヤーはゲームを終了し、後から終了した場所からゲームを再開できることを表します。必要になる情報は作成するゲームの種類によって大きく変わります。プレイヤーが到達した最後のチェックポイントや、プレイヤーが見つけたアイテムの種類など、ごく少量の基本情報の場合もあれば、プレイヤーの他のインゲーム キャラクターとのソーシャル インタラクションに関する長いリスト、またはさまざまなクエスト、ミッションの目的、サブプロットの現状など、かなり詳細な情報の場合もあります。Unreal Engine 4 (UE4) は、複数のプレイ セッションにわたり保持するために必要なすべての情報を含め、ゲームの特定のニーズを満たすために作成する 1 つ以上のカスタム SaveGame クラスを中心に回転するシステムを保存およびロードします。複数の保存したゲーム ファイルをもち、異なる SaveGame クラスをこれらのファイルに保存する機能をサポートします。これは、グローバルにロック解除された機能をプレイスルー専用のゲーム データから分離する場合に便利です。
ゲームを保存する
作成された SaveGame クラスは、ゲームのデータに格納するために変数を使って追加することができます。たとえば、整数変数を作成するとプレイヤーの得点を、あるいは文字列変数を使ってプレイヤーの名前を格納できます。ゲームを保存するときに、その情報は現在のゲーム ワールドから SaveGame オブジェクトへ転送されます。そしてゲームを読み込むときに、SaveGame オブジェクトからそれを Characters、Player Controller、Game Mode などのオブジェクトへコピーします。
開発プラットフォームでは、保存されたゲーム ファイルは
.sav
拡張子を使い、プロジェクトの「
Saved\SaveGames
」フォルダに表示されます。他のプラットフォーム、特にコンソールでは、特定のファイル システムに対応するために異なります。
ゲームをロードする
保存したゲームをロードするには、ゲームを保存するときに使用したスロット名とユーザー ID を指定する必要があります。指定した SaveGame が存在する場合、エンジンはエンジンが含む SaveGame オブジェクトにデータを追加し、基本となる SaveGame (クラス
USaveGame
) オブジェクトとして返します。その後でオブジェクトをカスタム SaveGame クラスにキャストし、データにアクセスすることができます。 SaveGame タイプに含まれるデータの種類によって、コピーを保存したり、またはデータのみを使用しオブジェクトを破棄することもできます。
保存と同様に、ロードも同期または非同期で行うことができます。データ量が大きい場合、またはロード時間中にロード中の画面またはアニメーションを使用したい場合、非同期の方法をお勧めします。データが小さくすぐにロードしたい場合は同期の方法があります。