02/16
_ [同人ゲーム] ヒトガタハッパ 1.11人柱版
1.00より残機が残り気味で易しめな調整だと思ったら、意図したものではなかったようで、[PlatineDispositif] で即日修正版が公開されました。
昨日から今日での 1.11 クリア実績。
- Solo N / FOOL クリア。ROOTY 真2-9。FOURTUNER 真1
- Solo A / FOOL 真2-1
- Solo D / 2面
- D13 E / クリア
最初はルーティ優遇パッチだと思っていました。けれど、エリスも全体的に火力がアップして使えるようになっていたり、今まであまり触っていなかった色々なキャラを動かすのが楽しいです。
しかし、元 D13 5面の救世主に対して、LEAFPOST で「火力高すぎ!修正してやる!」と言われてしまっているのは...
_ [商用ゲーム] 君が呼ぶ、メギドの丘で セーブデータのフラグをテキストに
去年末に発売された、[Leaf] の [君が呼ぶ、メギドの丘で] (年齢制限あり) を進めていました。 ...これのためにかなり日記がほったらかしになっていたというのも。40時間以上かかるとは、と。一月半、長かった(汗)。
RPGとしてはけっこう戦闘の歯ごたえがあって面白かったです。技が1キャラ6個ずつで足りないかと思っていたら、そんな事はなく。装備変更や武器強化で、下手すると0ターンキルされるボスにもなんとかなる、という。ラスボスも、それより強いエクストラボスも。
けれど、一体(?)だけ、2周目以降で解禁の強い隠しボスが居るとの事。そのためにもう一度40時間も進めたくないと思って... ごにょごにょと(汗)。
そのついでとして、セーブデータのフラグ情報をテキスト出力するスクリプトができてしまいました。セーブデータが100個埋まってどれがどれか混乱する人以外にはきっと関係ありません。一応ここに貼り付けてみたり。
スクリプト
- セーブデータの置かれているフォルダに以下のスクリプトを置いて、実行
- Ruby 1.8.6 で動作確認。文字列の使い方が怪しく、1.9.1 で動くかどうかは分かりません
- 手元の100個のセーブデータは抽出できました。他のデータでも成功するかどうかは分かりません
- レベルや所持金などのフラグ以外全般には対応していません。当初の目的が難易度を変更したいという一点だけだったわけでして
FLAG_START = "1.05"
Dir["*.sav"].each do |filename|
puts filename
str = File.open(filename, "rb").read
pos = (str =~ Regexp.new(Regexp.escape(FLAG_START)))
if !pos.nil?
pos += FLAG_START.size
flag_size = str[pos, 4].unpack("i").first
pos += 4
flag_size.times do |t|
# flag name
if (str[pos].zero?)
puts "nop"
pos += 1 # nop
next
elsif (str[pos] == 1)
break
end
len = str[pos, 4].unpack("i").first
pos += 4
name = str[pos, len]
pos += len
# flag data
type = str[pos]
pos += 1
case type
when 1
data = str[pos, 1].unpack("c").first
pos += 1
pos += (-pos % 4)
when 3
pos += (-pos % 4)
data = str[pos, 4].unpack("i").first
pos += 4
when 4
pos += (-pos % 4)
data = str[pos, 4].unpack("f").first
pos += 4
when 5
pos += (-pos % 4)
len = str[pos, 4].unpack("i").first
pos += 4
data = str[pos, len]
pos += len
pos += (-pos % 4)
else
puts "error: #{len}, #{name}, #{type}"
exit
end
puts [name, data].join("\t")
end
end
puts
end
出力
Megiddo01.sav ... _章 1 _シーン 1 _ゲームモード 1 _プレイヤー固定 -1 _経験値_ゼロ 0 _イベント中セーブ? 1 _ワープエリア 0 _ワープポイント -1 _ワープポイントが使えなくなった 0 _ワープポイントセーブ名 果てから来た少女 _Warpソルトベルの街 1 ...
スクリプトの感想
暗号化やチェックサムがないどころでなく、ご丁寧にフラグの名前まで埋め込まれて、というのにびっくりしました...
アライメント回避方法がかなりやっつけです。
これが、例大祭までの小ネタ更新のリハビリになればいいかなぁと... 間に合うかどうか(汗)。
最後にゲームの感想
シナリオ展開について、ADVの方法論をRPGに持ってくるのはいろいろ無理があったんじゃないかな、と思いました(汗)。

