ユーザ用ツール

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
技術資料 [2025/04/25 04:11] – [初期データ] araki技術資料 [2025/10/20 01:34] (現在) – [セーブデータファイル] araki
行 17: 行 17:
   * 音データファイル   * 音データファイル
   * メッセージファイル((QT版のみ))   * メッセージファイル((QT版のみ))
 +  * セーブデータファイル((保存された場合))
 ===== ゲームエンジン仕様 ===== ===== ゲームエンジン仕様 =====
  
行 308: 行 309:
  
 ===== メッセージファイル ===== ===== メッセージファイル =====
 +
 +
 +===== セーブデータファイル =====
 +
 +ゲームデータがセーブされるとセーブデータファイルが作成される。
 +セーブデータファイルはシステム間で互換性が保たれている。
 +ファイル形式で保存され、ファイルシステム経由でアクセスできる、M5版、Raspberry Pi Pico版、Windows版、Qt版、SDL2版、AvaloniaUI版では相互にセーブデータをコピーすれば他のプラットフォームでもそのままロードしてプレイすることができる。
 +
 +Web版は、ブラウザが管理するローカルDBに、Androidもシステムの提供するDB内に保存される関係で、他のプラットフォームとセーブデータをやり取りすることはできない。
 +
 +セーブデータは、コアシステムのワークとユーザデータ((マップ間のリンクデータおよびアイテム情報、フラグ情報))からなり、バイトデータの集合となっている。
 +データがすべてバイト単位であるため、エンディアンに関わらず、データに互換性がある。
 +
 +==== コアデータ ====
 +
 +コアデータはシステムの状態を保持している8bytesのデータ列である。
 +
 +^オフセット^内容^
 +|+0|現在のマップID|
 +|+1|ビューマップID|
 +|+2|直近の動詞|
 +|+3|直近の目的語|
 +|+4|選択された選択肢|
 +|+5|乱数値|
 +|+6|選択状態|
 +|+7|選択肢のメッセージID|
 +
 +多分、現在のマップIDとビューマップID以外は実は保存する意味はない。
 +
 +==== ユーザデータ ====
 +
 +ユーザデータは、マップ間のリンク、フラグ情報、アイテム情報の三つからなっている。
 +
 +=== マップリンク ===
 +
 +マップ間のリンクは、マップIDごとに、北、南、西、東、上、下、入、出の8bytesからなり、87部屋分のデータ配列となっている。
 +それぞれ、その部屋の各方向にはどの部屋がつながっているのかを部屋IDで表している。
 +
 +リンクはユーザの行動によって変化するので、断面データを見ても、ゲーム全体の正解ルートはわからないし、この先にどう変化するのかもわからないので、ゲーム攻略には多分使えない。
 +
 +=== フラグ ===
 +
 +フラグは、特定の動作が行われたかどうかや、消耗するアイテムの場合消耗度合いなどが記録されたデータで15bytesのデータである。
 +
 +=== アイテム ===
 +
 +アイテムは12種類存在している。
 +それぞれのアイテムがどこにあるのかの所在が記されている。
 +消費されて消えてなくなったのかどうかもここに記されている。
 +
 +データを改ざんして、すべてのアイテムを最初から所有している状態から始めることもできるだろうが、だとしても、それだけで攻略できるほどこのゲームはぬるくはない。
 +
 +仮にすべてのアイテムを保有した状態から開始したとしても、そもそも学校に入れないし、コアデータを改ざんして、学校内のどこかの部屋にいることにしたとして、それでもほとんどの行動はできない。
 +
 +アイテムを集めなくていいので行かなければならない場所は減るが、それでも必要なフラグを立てるための行動が求められるので、ほとんど難易度は下がらないだろう。
 +
 +
 +
 +
  
  
  

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also, you acknowledge that you have read and understand our Privacy Policy. If you do not agree, please leave the website.

More information